mirror of
https://github.com/AskDavis/Casinotest.git
synced 2026-01-01 05:05:57 -08:00
Compare commits
142 Commits
master-0.8
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7cfdfc0d9 | ||
|
|
bf69de0c94 | ||
|
|
5f7d4fba37 | ||
|
|
106f4b72a1 | ||
|
|
9f47402b63 | ||
|
|
20725f9897 | ||
|
|
c3b802d64b | ||
|
|
e7458b9b09 | ||
|
|
1e625e6b50 | ||
|
|
2b5d7a5f7f | ||
|
|
1ba6eb79a3 | ||
|
|
aec0a42158 | ||
|
|
ca31d8e720 | ||
|
|
013c31b88d | ||
|
|
34b02acb1e | ||
|
|
c99f19ae8a | ||
|
|
f25171d266 | ||
|
|
ab4d8be388 | ||
|
|
23363073bb | ||
|
|
d1de014deb | ||
|
|
42a1dc685e | ||
|
|
b3cbb74700 | ||
|
|
dfb03115eb | ||
|
|
f4b40bed09 | ||
|
|
00f5ffa06c | ||
|
|
4add93f3a1 | ||
|
|
9f8937da99 | ||
|
|
1b7473bcb2 | ||
|
|
94d9128cdd | ||
|
|
1a5784fa8b | ||
|
|
8906eb0445 | ||
|
|
5f30e8002b | ||
|
|
b478c57fe4 | ||
|
|
394f6e6efe | ||
|
|
276ef38c7b | ||
|
|
56bf480259 | ||
|
|
2e0aaa5022 | ||
|
|
eb53a54e27 | ||
|
|
1521d79911 | ||
|
|
093b9ec1ff | ||
|
|
7497a0233e | ||
|
|
df82a9e0c7 | ||
|
|
d325409101 | ||
|
|
ce170d8ad7 | ||
|
|
70ee980532 | ||
|
|
5cebe42a99 | ||
|
|
1ac9b40ec5 | ||
|
|
9fceb7451e | ||
|
|
b7d81c6e32 | ||
|
|
958f97b0c1 | ||
|
|
721a01e190 | ||
|
|
562a55093a | ||
|
|
376af0f4c5 | ||
|
|
4f1fdf14a6 | ||
|
|
5d10a3882b | ||
|
|
d6ba4a154c | ||
|
|
9411ed14a5 | ||
|
|
7d283e555c | ||
|
|
9e2c8f331a | ||
|
|
b091799d44 | ||
|
|
239fd6afaf | ||
|
|
59d16a1d12 | ||
|
|
18f49ef4e5 | ||
|
|
849a807d38 | ||
|
|
f7a752473b | ||
|
|
dfcf488c7c | ||
|
|
e2f6eae47d | ||
|
|
5d5aec5b26 | ||
|
|
3f6aedb0e5 | ||
|
|
eb5c432b9f | ||
|
|
e796796afd | ||
|
|
93b1e17402 | ||
|
|
fe5ec6cb5b | ||
|
|
53c55374ae | ||
|
|
c315fc2836 | ||
|
|
36812ce895 | ||
|
|
12fc3ae140 | ||
|
|
07e9dea07b | ||
|
|
2079e3456a | ||
|
|
b2e93c6ef4 | ||
|
|
53f2e7d8b7 | ||
|
|
e153d4666d | ||
|
|
455e0af74c | ||
|
|
a6794b3ce3 | ||
|
|
15a1c2e63b | ||
|
|
5734784b69 | ||
|
|
82294a7aac | ||
|
|
2f83b066a6 | ||
|
|
22f98699bd | ||
|
|
4e92856123 | ||
|
|
4b1178f643 | ||
|
|
7841130cd3 | ||
|
|
5924b24782 | ||
|
|
f228cd173c | ||
|
|
5db81053ef | ||
|
|
85a611ed19 | ||
|
|
5a3b2dbce6 | ||
|
|
1b0545c4e8 | ||
|
|
d044262ca4 | ||
|
|
f976d876e4 | ||
|
|
dc2dbbf716 | ||
|
|
4c7b8cb447 | ||
|
|
1deb085fa2 | ||
|
|
213e373b64 | ||
|
|
04474f996d | ||
|
|
6afd12465c | ||
|
|
5ae4422402 | ||
|
|
c374d23f37 | ||
|
|
cc9e4439d6 | ||
|
|
7300f8150a | ||
|
|
6fe7061421 | ||
|
|
ecd2ace6ae | ||
|
|
2ff46aa40b | ||
|
|
f4d665abec | ||
|
|
c53af9e553 | ||
|
|
37e00791b2 | ||
|
|
b597348e88 | ||
|
|
27408f6304 | ||
|
|
6154ff7d30 | ||
|
|
2447a9d633 | ||
|
|
271e65e905 | ||
|
|
5d7817fa2e | ||
|
|
17bc6f4bb6 | ||
|
|
ee8462daa1 | ||
|
|
2c71c0dbd6 | ||
|
|
52873077a2 | ||
|
|
c9859e5c53 | ||
|
|
92d99f8046 | ||
|
|
3f9e176ced | ||
|
|
104ca3b2d4 | ||
|
|
1ad300cec4 | ||
|
|
1f0b80e20a | ||
|
|
30cce35815 | ||
|
|
3574568148 | ||
|
|
e2b171750d | ||
|
|
205677e0dd | ||
|
|
a892efdcae | ||
|
|
07dd3ba548 | ||
|
|
91650f8536 | ||
|
|
70e846fa88 | ||
|
|
2c68f0644d | ||
|
|
d1f1ee12bb |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -2,13 +2,17 @@ src/*.exe
|
||||
src/casinocoin
|
||||
src/casinocoind
|
||||
src/test_casinocoin
|
||||
src/obj/*
|
||||
casinocoin-qt_plugin_import.cpp
|
||||
object_script.casinocoin-qt.Debug
|
||||
object_script.casinocoin-qt.Release
|
||||
release/*
|
||||
.*.swp
|
||||
*.*~*
|
||||
*.bak
|
||||
*.rej
|
||||
*.orig
|
||||
*.o
|
||||
*.patch
|
||||
.casinocoin
|
||||
|
||||
# Compilation and Qt preprocessor part
|
||||
@@ -31,4 +35,4 @@ qrc_*.cpp
|
||||
.DS_Store
|
||||
build
|
||||
|
||||
!src/leveldb-*/Makefile
|
||||
!src/leveldb/Makefile
|
||||
|
||||
69
.travis.yml
Normal file
69
.travis.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
# errata:
|
||||
# - A travis bug causes caches to trample eachother when using the same
|
||||
# compiler key (which we don't use anyway). This is worked around for now by
|
||||
# replacing the "compilers" with a build name prefixed by the no-op ":"
|
||||
# command. See: https://github.com/travis-ci/casher/issues/6
|
||||
|
||||
os: linux
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
env:
|
||||
global:
|
||||
- MAKEJOBS=-j3
|
||||
- RUN_TESTS=false
|
||||
- CCACHE_SIZE=100M
|
||||
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
||||
- CCACHE_COMPRESS=1
|
||||
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
|
||||
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
|
||||
cache:
|
||||
apt: true
|
||||
directories:
|
||||
- depends/built
|
||||
- depends/sdk-sources
|
||||
- $HOME/.ccache
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- compiler: ": ARM"
|
||||
env: HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat"
|
||||
- compiler: ": bitcoind"
|
||||
env: HOST=x86_64-unknown-linux-gnu PACKAGES="bc" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat CPPFLAGS=-DDEBUG_LOCKORDER"
|
||||
- compiler: ": No wallet"
|
||||
env: HOST=x86_64-unknown-linux-gnu DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat"
|
||||
- compiler: ": 32-bit + dash"
|
||||
env: HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat" USE_SHELL="/bin/dash"
|
||||
- compiler: ": Cross-Mac"
|
||||
env: HOST=x86_64-apple-darwin11 PACKAGES="cmake libcap-dev libz-dev libbz2-dev" OSX_SDK=10.9 GOAL="deploy"
|
||||
- compiler: ": Win64"
|
||||
env: HOST=x86_64-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2"
|
||||
- compiler: ": Win32"
|
||||
env: HOST=i686-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2"
|
||||
exclude:
|
||||
- compiler: gcc
|
||||
install:
|
||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
|
||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
|
||||
before_script:
|
||||
- unset CC; unset CXX
|
||||
- mkdir -p depends/SDKs depends/sdk-sources
|
||||
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then wget $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -O depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
|
||||
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
|
||||
- make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
|
||||
script:
|
||||
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
|
||||
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
|
||||
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
|
||||
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi
|
||||
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
|
||||
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
- make distdir PACKAGE=bitcoin VERSION=$HOST
|
||||
- cd bitcoin-$HOST
|
||||
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
|
||||
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
|
||||
- if [ "$RUN_TESTS" = "true" ]; then make check; fi
|
||||
- if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.sh; fi
|
||||
after_script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then (echo "Upload goes here. Something like: scp -r $BASE_OUTDIR server" || echo "upload failed"); fi
|
||||
20
COPYING
20
COPYING
@@ -1,20 +1,8 @@
|
||||
Copyright (c) 2009-2013 Bitcoin Developers
|
||||
Copyright (c) 2011-2013 CasinoCoin Developers
|
||||
Copyright (c) 2011-2015 CasinoCoin Developers
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
1
DISCLAIMER
Normal file
1
DISCLAIMER
Normal file
@@ -0,0 +1 @@
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
3
INSTALL
3
INSTALL
@@ -1,5 +1,8 @@
|
||||
Building CasinoCoin
|
||||
|
||||
Please visit the Wiki for details on building CasinoCoin-qt and Casinocoind
|
||||
https://github.com/casinocoin/casinocoin/wiki
|
||||
|
||||
See doc/readme-qt.rst for instructions on building CasinoCoin-Qt,
|
||||
the intended-for-end-users, nice-graphical-interface, reference
|
||||
implementation of CasinoCoin.
|
||||
|
||||
11861
Makefile.Debug
11861
Makefile.Debug
File diff suppressed because one or more lines are too long
11861
Makefile.Release
11861
Makefile.Release
File diff suppressed because one or more lines are too long
23
QmlImports.qml
Normal file
23
QmlImports.qml
Normal file
@@ -0,0 +1,23 @@
|
||||
import QtQuick 2.0
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Dialogs 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls.Styles 1.2
|
||||
|
||||
/*
|
||||
QmlImports.qml
|
||||
|
||||
Declaration of QML Imports required by project.
|
||||
|
||||
This is necessary if we want to keep qml files in a folder
|
||||
separate from .pro file because of the way qmlimportscanner works.
|
||||
If these imports are not declared, qmake will not recognize them,
|
||||
and QtQuick will not be packaged with statically built apps and imported
|
||||
at runtime.
|
||||
|
||||
This must be kept in the same directory as your .pro file
|
||||
*/
|
||||
|
||||
QtObject {}
|
||||
29
README.md
29
README.md
@@ -1,3 +1,5 @@
|
||||
<h2>Wallet 3.0.0.0 Release available</h2>
|
||||
[Click here to download the most recent wallet version -> 3.0.0.0 (Updated on June, 17 2016)](https://github.com/casinocoin/casinocoin/releases/tag/3.0.0.0 "Click to go to releases page")
|
||||
|
||||
<p align="center"><img src="https://raw.github.com/transcoder/CasinoCoin/master/src/qt/res/images/logo.png" /></p>
|
||||
|
||||
@@ -31,21 +33,28 @@ Technical Specifications
|
||||
|
||||
- scrypt proof-of-work algorithm
|
||||
- 30 second block time targets
|
||||
- ~336 million total coins
|
||||
- 720 blocks to retarget difficulty
|
||||
- 50 coins per block, halves every 3,153,600 blocks (~3 years)
|
||||
- ~63 million total coins
|
||||
- new digishield difficulty retargetting system (from block 445000)
|
||||
- 50 coins per block, permanent reduction to 1 coins per block after block 1750000
|
||||
- fair launch, absolutely no premine
|
||||
|
||||
Casinocoin Mailing Lists
|
||||
========================
|
||||
|
||||
If you operate a pool or service that relies on CasinoCoin wallets, please subscribe to the "CasinoCoin Development" mailing list for notifications of client updates, hardforks,or other issues that may impact you.
|
||||
|
||||
- CasinoCoin Development mailing list subscription form: http://eepurl.com/WGcoP
|
||||
|
||||
If you are a community mber interested in more general announcements related to Casinocoin, please subscribe to the "CasinoCoin Announcements" mailing list.
|
||||
|
||||
- CasinoCoin Announcements mailing list subscription form: http://eepurl.com/WGeu1
|
||||
|
||||
|
||||
|
||||
Links
|
||||
======
|
||||
|
||||
Website: http://casinoco.in
|
||||
|
||||
|
||||
Forum: http://forum.casinoco.in
|
||||
|
||||
|
||||
Source: https://github.com/transcoder/CasinoCoin
|
||||
Website: https://casinocoin.org
|
||||
|
||||
Source: https://github.com/casinocoin/casinocoin
|
||||
|
||||
|
||||
440
casinocoin-qt-linux.pro
Normal file
440
casinocoin-qt-linux.pro
Normal file
@@ -0,0 +1,440 @@
|
||||
TEMPLATE = app
|
||||
TARGET = casinocoin-qt
|
||||
VERSION = 3.0.0.0
|
||||
INCLUDEPATH += src src/json src/qt
|
||||
QT += core gui network widgets qml quick
|
||||
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE USE_IPV6 __NO_SYSTEM_INCLUDES
|
||||
CONFIG += no_include_pwd
|
||||
CONFIG += thread
|
||||
CONFIG += static
|
||||
|
||||
BOOST_LIB_SUFFIX=-mt
|
||||
BOOST_INCLUDE_PATH=/home/ubuntu/deps/boost_1_60_0
|
||||
BOOST_LIB_PATH=/home/ubuntu/deps/boost_1_60_0/stage/lib
|
||||
BDB_INCLUDE_PATH=/home/ubuntu/deps/db-5.1.29.NC/build_unix
|
||||
BDB_LIB_PATH=/home/ubuntu/deps/db-5.1.29.NC/build_unix
|
||||
OPENSSL_INCLUDE_PATH=/home/ubuntu/deps/openssl-1.0.2g/include
|
||||
OPENSSL_LIB_PATH=/home/ubuntu/deps/openssl-1.0.2g
|
||||
MINIUPNPC_INCLUDE_PATH=/home/ubuntu/deps/miniupnpc-1.9
|
||||
MINIUPNPC_LIB_PATH=/home/ubuntu/deps/miniupnpc-1.9
|
||||
QRENCODE_INCLUDE_PATH=/home/ubuntu/deps/qrencode-3.4.4
|
||||
QRENCODE_LIB_PATH=/home/ubuntu/deps/qrencode-3.4.4/.libs
|
||||
|
||||
OBJECTS_DIR = build
|
||||
MOC_DIR = build
|
||||
UI_DIR = build
|
||||
|
||||
# use: qmake "RELEASE=1"
|
||||
contains(RELEASE, 1) {
|
||||
# Linux: static link and extra security (see: https://wiki.debian.org/Hardening)
|
||||
LIBS += -Wl,-Bstatic -Wl,-z,relro -Wl,-z,now
|
||||
}
|
||||
|
||||
# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection
|
||||
QMAKE_CXXFLAGS *= -fstack-protector-all
|
||||
QMAKE_LFLAGS *= -fstack-protector-all
|
||||
|
||||
# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific
|
||||
QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2
|
||||
|
||||
# use: qmake "USE_QRCODE=1"
|
||||
# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support
|
||||
contains(USE_QRCODE, 1) {
|
||||
message(Building with QRCode support)
|
||||
DEFINES += USE_QRCODE
|
||||
#LIBS += -lqrencode
|
||||
LIBS += -lqrencode $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
}
|
||||
|
||||
# use: qmake "USE_UPNP=1" ( enabled by default; default)
|
||||
# or: qmake "USE_UPNP=0" (disabled by default)
|
||||
# or: qmake "USE_UPNP=-" (not supported)
|
||||
# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support
|
||||
contains(USE_UPNP, -) {
|
||||
message(Building without UPNP support)
|
||||
} else {
|
||||
message(Building with UPNP support)
|
||||
count(USE_UPNP, 0) {
|
||||
USE_UPNP=1
|
||||
}
|
||||
DEFINES += USE_UPNP=$$USE_UPNP STATICLIB
|
||||
INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH
|
||||
LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
|
||||
}
|
||||
|
||||
# use: qmake "USE_DBUS=1"
|
||||
contains(USE_DBUS, 1) {
|
||||
message(Building with DBUS (Freedesktop notifications) support)
|
||||
DEFINES += USE_DBUS
|
||||
QT += dbus
|
||||
}
|
||||
|
||||
# use: qmake "USE_IPV6=1" ( enabled by default; default)
|
||||
# or: qmake "USE_IPV6=0" (disabled by default)
|
||||
# or: qmake "USE_IPV6=-" (not supported)
|
||||
contains(USE_IPV6, -) {
|
||||
message(Building without IPv6 support)
|
||||
} else {
|
||||
count(USE_IPV6, 0) {
|
||||
USE_IPV6=1
|
||||
}
|
||||
DEFINES += USE_IPV6=$$USE_IPV6
|
||||
}
|
||||
|
||||
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
|
||||
DEFINES += BITCOIN_NEED_QT_PLUGINS
|
||||
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
|
||||
}
|
||||
|
||||
INCLUDEPATH += src/leveldb/include src/leveldb/helpers
|
||||
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
|
||||
|
||||
# we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences
|
||||
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
|
||||
genleveldb.target = $$PWD/src/leveldb/libleveldb.a
|
||||
genleveldb.depends = FORCE
|
||||
PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a
|
||||
QMAKE_EXTRA_TARGETS += genleveldb
|
||||
# Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it.
|
||||
QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean
|
||||
|
||||
# regenerate src/build.h
|
||||
genbuild.depends = FORCE
|
||||
genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h
|
||||
genbuild.target = $$OUT_PWD/build/build.h
|
||||
PRE_TARGETDEPS += $$OUT_PWD/build/build.h
|
||||
QMAKE_EXTRA_TARGETS += genbuild
|
||||
DEFINES += HAVE_BUILD_INFO
|
||||
|
||||
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-strict-aliasing -Wstack-protector
|
||||
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-local-typedefs
|
||||
|
||||
##### Start Project Files #####
|
||||
|
||||
DEPENDPATH += src src/json src/qt
|
||||
HEADERS += src/qt/bitcoingui.h \
|
||||
src/qt/transactiontablemodel.h \
|
||||
src/qt/addresstablemodel.h \
|
||||
src/qt/optionsdialog.h \
|
||||
src/qt/sendcoinsdialog.h \
|
||||
src/qt/coincontroldialog.h \
|
||||
src/qt/coincontroltreewidget.h \
|
||||
src/qt/addressbookpage.h \
|
||||
src/qt/signverifymessagedialog.h \
|
||||
src/qt/aboutdialog.h \
|
||||
src/qt/editaddressdialog.h \
|
||||
src/qt/bitcoinaddressvalidator.h \
|
||||
src/alert.h \
|
||||
src/addrman.h \
|
||||
src/base58.h \
|
||||
src/bignum.h \
|
||||
src/checkpoints.h \
|
||||
src/coincontrol.h \
|
||||
src/compat.h \
|
||||
src/sync.h \
|
||||
src/util.h \
|
||||
src/hash.h \
|
||||
src/uint256.h \
|
||||
src/serialize.h \
|
||||
src/main.h \
|
||||
src/net.h \
|
||||
src/key.h \
|
||||
src/db.h \
|
||||
src/walletdb.h \
|
||||
src/script.h \
|
||||
src/init.h \
|
||||
src/bloom.h \
|
||||
src/mruset.h \
|
||||
src/checkqueue.h \
|
||||
src/json/json_spirit_writer_template.h \
|
||||
src/json/json_spirit_writer.h \
|
||||
src/json/json_spirit_value.h \
|
||||
src/json/json_spirit_utils.h \
|
||||
src/json/json_spirit_stream_reader.h \
|
||||
src/json/json_spirit_reader_template.h \
|
||||
src/json/json_spirit_reader.h \
|
||||
src/json/json_spirit_error_position.h \
|
||||
src/json/json_spirit.h \
|
||||
src/qt/clientmodel.h \
|
||||
src/qt/guiutil.h \
|
||||
src/qt/transactionrecord.h \
|
||||
src/qt/guiconstants.h \
|
||||
src/qt/optionsmodel.h \
|
||||
src/qt/monitoreddatamapper.h \
|
||||
src/qt/transactiondesc.h \
|
||||
src/qt/transactiondescdialog.h \
|
||||
src/qt/bitcoinamountfield.h \
|
||||
src/wallet.h \
|
||||
src/keystore.h \
|
||||
src/qt/transactionfilterproxy.h \
|
||||
src/qt/transactionview.h \
|
||||
src/qt/walletmodel.h \
|
||||
src/qt/walletview.h \
|
||||
src/qt/walletstack.h \
|
||||
src/qt/walletframe.h \
|
||||
src/bitcoinrpc.h \
|
||||
src/qt/overviewpage.h \
|
||||
src/qt/csvmodelwriter.h \
|
||||
src/crypter.h \
|
||||
src/qt/sendcoinsentry.h \
|
||||
src/qt/qvalidatedlineedit.h \
|
||||
src/qt/bitcoinunits.h \
|
||||
src/qt/qvaluecombobox.h \
|
||||
src/qt/askpassphrasedialog.h \
|
||||
src/protocol.h \
|
||||
src/qt/notificator.h \
|
||||
src/qt/paymentserver.h \
|
||||
src/allocators.h \
|
||||
src/ui_interface.h \
|
||||
src/qt/rpcconsole.h \
|
||||
src/scrypt.h \
|
||||
src/version.h \
|
||||
src/netbase.h \
|
||||
src/clientversion.h \
|
||||
src/txdb.h \
|
||||
src/leveldb.h \
|
||||
src/threadsafety.h \
|
||||
src/limitedmap.h \
|
||||
src/qt/macnotificationhandler.h \
|
||||
src/qt/splashscreen.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.h \
|
||||
src/qt/qtquick_controls/cpp/listiteminterface.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.h \
|
||||
src/qt/gui20_skin.h \
|
||||
src/qt/cscfusionstyle.h \
|
||||
src/qt/pryptopage.h \
|
||||
src/qt/currencies.h \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.h \
|
||||
src/qt/infopage.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.h \
|
||||
src/qt/twitter/twitterwidget.h
|
||||
|
||||
SOURCES += src/qt/bitcoin.cpp \
|
||||
src/qt/bitcoingui.cpp \
|
||||
src/qt/transactiontablemodel.cpp \
|
||||
src/qt/addresstablemodel.cpp \
|
||||
src/qt/optionsdialog.cpp \
|
||||
src/qt/sendcoinsdialog.cpp \
|
||||
src/qt/coincontroldialog.cpp \
|
||||
src/qt/coincontroltreewidget.cpp \
|
||||
src/qt/addressbookpage.cpp \
|
||||
src/qt/signverifymessagedialog.cpp \
|
||||
src/qt/aboutdialog.cpp \
|
||||
src/qt/editaddressdialog.cpp \
|
||||
src/qt/bitcoinaddressvalidator.cpp \
|
||||
src/alert.cpp \
|
||||
src/version.cpp \
|
||||
src/sync.cpp \
|
||||
src/util.cpp \
|
||||
src/hash.cpp \
|
||||
src/netbase.cpp \
|
||||
src/key.cpp \
|
||||
src/script.cpp \
|
||||
src/main.cpp \
|
||||
src/init.cpp \
|
||||
src/net.cpp \
|
||||
src/bloom.cpp \
|
||||
src/checkpoints.cpp \
|
||||
src/addrman.cpp \
|
||||
src/db.cpp \
|
||||
src/walletdb.cpp \
|
||||
src/qt/clientmodel.cpp \
|
||||
src/qt/guiutil.cpp \
|
||||
src/qt/transactionrecord.cpp \
|
||||
src/qt/optionsmodel.cpp \
|
||||
src/qt/monitoreddatamapper.cpp \
|
||||
src/qt/transactiondesc.cpp \
|
||||
src/qt/transactiondescdialog.cpp \
|
||||
src/qt/bitcoinstrings.cpp \
|
||||
src/qt/bitcoinamountfield.cpp \
|
||||
src/wallet.cpp \
|
||||
src/keystore.cpp \
|
||||
src/qt/transactionfilterproxy.cpp \
|
||||
src/qt/transactionview.cpp \
|
||||
src/qt/walletmodel.cpp \
|
||||
src/qt/walletview.cpp \
|
||||
src/qt/walletstack.cpp \
|
||||
src/qt/walletframe.cpp \
|
||||
src/bitcoinrpc.cpp \
|
||||
src/rpcdump.cpp \
|
||||
src/rpcnet.cpp \
|
||||
src/rpcmining.cpp \
|
||||
src/rpcwallet.cpp \
|
||||
src/rpcblockchain.cpp \
|
||||
src/rpcrawtransaction.cpp \
|
||||
src/qt/overviewpage.cpp \
|
||||
src/qt/csvmodelwriter.cpp \
|
||||
src/crypter.cpp \
|
||||
src/qt/sendcoinsentry.cpp \
|
||||
src/qt/qvalidatedlineedit.cpp \
|
||||
src/qt/bitcoinunits.cpp \
|
||||
src/qt/qvaluecombobox.cpp \
|
||||
src/qt/askpassphrasedialog.cpp \
|
||||
src/protocol.cpp \
|
||||
src/qt/notificator.cpp \
|
||||
src/qt/paymentserver.cpp \
|
||||
src/qt/rpcconsole.cpp \
|
||||
src/scrypt.cpp \
|
||||
src/noui.cpp \
|
||||
src/leveldb.cpp \
|
||||
src/txdb.cpp \
|
||||
src/qt/splashscreen.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.cpp \
|
||||
src/qt/gui20_skin.cpp \
|
||||
src/qt/cscfusionstyle.cpp \
|
||||
src/qt/pryptopage.cpp \
|
||||
src/qt/currencies.cpp \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp \
|
||||
src/qt/infopage.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.cpp \
|
||||
src/qt/twitter/twitterwidget.cpp
|
||||
|
||||
RESOURCES += src/qt/bitcoin.qrc
|
||||
|
||||
FORMS += src/qt/forms/sendcoinsdialog.ui \
|
||||
src/qt/forms/coincontroldialog.ui \
|
||||
src/qt/forms/addressbookpage.ui \
|
||||
src/qt/forms/signverifymessagedialog.ui \
|
||||
src/qt/forms/aboutdialog.ui \
|
||||
src/qt/forms/editaddressdialog.ui \
|
||||
src/qt/forms/transactiondescdialog.ui \
|
||||
src/qt/forms/overviewpage.ui \
|
||||
src/qt/forms/sendcoinsentry.ui \
|
||||
src/qt/forms/askpassphrasedialog.ui \
|
||||
src/qt/forms/rpcconsole.ui \
|
||||
src/qt/forms/optionsdialog.ui \
|
||||
src/qt/forms/pryptopage.ui \
|
||||
src/qt/forms/infopage.ui
|
||||
|
||||
OTHER_FILES += README.md \
|
||||
doc/*.rst \
|
||||
doc/*.txt \
|
||||
doc/*.md \
|
||||
src/qt/res/bitcoin-qt.rc \
|
||||
src/test/*.cpp \
|
||||
src/test/*.h \
|
||||
src/qt/test/*.cpp \
|
||||
src/qt/test/*.h \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml \
|
||||
src/qt/twitter/*.qml
|
||||
|
||||
DISTFILES += \
|
||||
QmlImports.qml
|
||||
|
||||
##### End Project Files #####
|
||||
|
||||
contains(USE_QRCODE, 1) {
|
||||
HEADERS += src/qt/qrcodedialog.h
|
||||
SOURCES += src/qt/qrcodedialog.cpp
|
||||
FORMS += src/qt/forms/qrcodedialog.ui
|
||||
}
|
||||
|
||||
contains(BITCOIN_QT_TEST, 1) {
|
||||
SOURCES += src/qt/test/test_main.cpp \
|
||||
src/qt/test/uritests.cpp
|
||||
HEADERS += src/qt/test/uritests.h
|
||||
DEPENDPATH += src/qt/test
|
||||
QT += testlib
|
||||
TARGET = casinocoin-qt_test
|
||||
DEFINES += BITCOIN_QT_TEST
|
||||
}
|
||||
|
||||
contains(USE_SSE2, 1) {
|
||||
DEFINES += USE_SSE2
|
||||
gccsse2.input = SOURCES_SSE2
|
||||
gccsse2.output = $$PWD/build/${QMAKE_FILE_BASE}.o
|
||||
gccsse2.commands = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -msse2 -mstackrealign
|
||||
QMAKE_EXTRA_COMPILERS += gccsse2
|
||||
SOURCES_SSE2 += src/scrypt-sse2.cpp
|
||||
}
|
||||
|
||||
# for lrelease/lupdate
|
||||
# also add new translations to src/qt/bitcoin.qrc under translations/
|
||||
TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts)
|
||||
|
||||
isEmpty(QMAKE_LRELEASE) {
|
||||
QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
}
|
||||
|
||||
isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale
|
||||
# automatically build translations, so they can be included in resource file
|
||||
TSQM.name = lrelease ${QMAKE_FILE_IN}
|
||||
TSQM.input = TRANSLATIONS
|
||||
TSQM.output = $$QM_DIR/${QMAKE_FILE_BASE}.qm
|
||||
TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
|
||||
TSQM.CONFIG = no_link
|
||||
QMAKE_EXTRA_COMPILERS += TSQM
|
||||
|
||||
isEmpty(BOOST_THREAD_LIB_SUFFIX) {
|
||||
BOOST_THREAD_LIB_SUFFIX = $$BOOST_LIB_SUFFIX
|
||||
}
|
||||
|
||||
DEFINES += LINUX
|
||||
LIBS += -lrt
|
||||
# _FILE_OFFSET_BITS=64 lets 32-bit fopen transparently support large files.
|
||||
DEFINES += _FILE_OFFSET_BITS=64
|
||||
|
||||
# Set libraries and includes at end, to use platform-defined defaults if not overridden
|
||||
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
|
||||
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -lpthread
|
||||
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
|
||||
|
||||
contains(RELEASE, 1) {
|
||||
# Linux: turn dynamic linking back on for c/c++ runtime libraries
|
||||
LIBS += -Wl,-Bdynamic
|
||||
}
|
||||
|
||||
system($$QMAKE_LRELEASE -silent $$TRANSLATIONS)
|
||||
538
casinocoin-qt-linux.pro.user
Normal file
538
casinocoin-qt-linux.pro.user
Normal file
@@ -0,0 +1,538 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 3.6.1, 2016-06-15T17:48:36. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{af9fddb2-7bcb-4144-bdf3-55c932c19fe1}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap"/>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.5.1 Static (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.6 Static (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{86a38728-97f7-49ac-b7f5-0ca2720c2f29}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ubuntu/casinocoin-3.0.0.0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments">USE_UPNP=- USE_QRCODE=1 USE_IPV6=1</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ubuntu/casinocoin-3.0.0.0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments">USE_UPNP=0 USE_QRCODE=1 USE_IPV6=1</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">casinocoin-qt-linux</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/ubuntu/casinocoin-3.0.0.0/casinocoin-qt-linux.pro</value>
|
||||
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">casinocoin-qt-linux.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.6.0 GCC 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.6.0 GCC 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.56.gcc_64_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ubuntu/casinocoin-3.0.0.0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ubuntu/casinocoin-3.0.0.0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments">USE_UPNP=0 USE_QRCODE=1 USE_IPV6=1</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ubuntu/build-casinocoin-qt-linux-Desktop_Qt_5_6_0_GCC_64bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
|
||||
<value type="QString">-w</value>
|
||||
<value type="QString">-r</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">casinocoin-qt-linux</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/ubuntu/casinocoin-3.0.0.0/casinocoin-qt-linux.pro</value>
|
||||
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">casinocoin-qt-linux.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">2</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
457
casinocoin-qt-osx.pro
Normal file
457
casinocoin-qt-osx.pro
Normal file
@@ -0,0 +1,457 @@
|
||||
TEMPLATE = app
|
||||
TARGET = "CasinoCoin-Qt"
|
||||
VERSION = 3.0.0.0
|
||||
INCLUDEPATH += src src/json src/qt
|
||||
QT += core gui network widgets qml quick
|
||||
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE USE_IPV6 __NO_SYSTEM_INCLUDES
|
||||
CONFIG += no_include_pwd
|
||||
CONFIG += thread
|
||||
CONFIG += c++11
|
||||
|
||||
# For OSX Qt5.6 Static, Boost and BerkeleyDB must be compiled from source
|
||||
#
|
||||
# Qt5.6 Static
|
||||
# -----------
|
||||
# cd Qt56/5.6/Src
|
||||
# ./configure -debug-and-release -opensource -confirm-license -platform macx-clang -opengl desktop -static -nomake examples -prefix $HOME/Qt56/static/5.6 -I /usr/local/Cellar/openssl/1.0.2h_1/include -L /usr/local/Cellar/openssl/1.0.2h_1/lib -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -no-nis -no-cups
|
||||
# make -j8
|
||||
# make install
|
||||
#
|
||||
# Berkeley DB 5.1.29
|
||||
# ----------------
|
||||
# wget http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz
|
||||
# tar xvzf db-5.1.29.NC.tar.gz
|
||||
# cd db-5.1.29.NC/build_unix
|
||||
# ../dist/configure --enable-cxx --disable-shared --disable-replication --disable-atomicsupport
|
||||
# make
|
||||
# sudo make install
|
||||
#
|
||||
# Boost 1.60
|
||||
# -----------
|
||||
# wget http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.gz
|
||||
# tar xvzf boost_1_60_0.tar.gz
|
||||
# cd boost_1_60_0
|
||||
# ./bootstrap.sh
|
||||
# ./b2 link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-system --with-thread --with-serialization
|
||||
# cd ..
|
||||
# cp -R boost_1_60_0 /usr/local
|
||||
|
||||
BOOST_LIB_SUFFIX =
|
||||
BOOST_THREAD_LIB_SUFFIX =
|
||||
BOOST_INCLUDE_PATH=/usr/local/boost_1_60_0
|
||||
BOOST_LIB_PATH=/usr/local/boost_1_60_0/stage/lib
|
||||
BDB_INCLUDE_PATH=/usr/local/BerkeleyDB.5.1/include
|
||||
BDB_LIB_PATH=/usr/local/BerkeleyDB.5.1/lib
|
||||
BDB_LIB_SUFFIX = -5.1
|
||||
OPENSSL_INCLUDE_PATH=/usr/local/Cellar/openssl/1.0.2h_1/include
|
||||
OPENSSL_LIB_PATH=/usr/local/Cellar/openssl/1.0.2h_1/lib
|
||||
MINIUPNPC_INCLUDE_PATH=/usr/local/opt/miniupnpc/include
|
||||
MINIUPNPC_LIB_PATH=/usr/local/opt/miniupnpc/lib
|
||||
QRENCODE_INCLUDE_PATH=/usr/local/opt/qrencode/include
|
||||
QRENCODE_LIB_PATH=/usr/local/opt/qrencode/lib
|
||||
|
||||
OBJECTS_DIR = build
|
||||
MOC_DIR = build
|
||||
UI_DIR = build
|
||||
|
||||
# Mac: compile for version (10.9, 64-bit)
|
||||
#QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot $HOME/MacOSX-SDKs/MacOSX10.11.sdk
|
||||
#QMAKE_CFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot $HOME/MacOSX-SDKs/MacOSX10.11.sdk
|
||||
#QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot $HOME/MacOSX-SDKs/MacOSX10.11.sdk
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
|
||||
#QMAKE_CXXFLAGS += -stdlib=libstdc++ -DBOOST_HAS_INT128=1
|
||||
|
||||
# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection
|
||||
QMAKE_CXXFLAGS *= -fstack-protector-all
|
||||
QMAKE_LFLAGS *= -fstack-protector-all -headerpad_max_install_names
|
||||
# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific
|
||||
QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2
|
||||
|
||||
# use: qmake "USE_QRCODE=1"
|
||||
# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support
|
||||
contains(USE_QRCODE, 1) {
|
||||
message(Building with QRCode support)
|
||||
DEFINES += USE_QRCODE
|
||||
#LIBS += -lqrencode
|
||||
LIBS += -lqrencode $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
}
|
||||
|
||||
# use: qmake "USE_UPNP=1" ( enabled by default; default)
|
||||
# or: qmake "USE_UPNP=0" (disabled by default)
|
||||
# or: qmake "USE_UPNP=-" (not supported)
|
||||
# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support
|
||||
contains(USE_UPNP, -) {
|
||||
message(Building without UPNP support)
|
||||
} else {
|
||||
message(Building with UPNP support)
|
||||
count(USE_UPNP, 0) {
|
||||
USE_UPNP=1
|
||||
}
|
||||
DEFINES += USE_UPNP=$$USE_UPNP STATICLIB
|
||||
INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH
|
||||
LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
|
||||
}
|
||||
|
||||
# use: qmake "USE_DBUS=1"
|
||||
contains(USE_DBUS, 1) {
|
||||
message(Building with DBUS (Freedesktop notifications) support)
|
||||
DEFINES += USE_DBUS
|
||||
QT += dbus
|
||||
}
|
||||
|
||||
# use: qmake "USE_IPV6=1" ( enabled by default; default)
|
||||
# or: qmake "USE_IPV6=0" (disabled by default)
|
||||
# or: qmake "USE_IPV6=-" (not supported)
|
||||
contains(USE_IPV6, -) {
|
||||
message(Building without IPv6 support)
|
||||
} else {
|
||||
count(USE_IPV6, 0) {
|
||||
USE_IPV6=1
|
||||
}
|
||||
DEFINES += USE_IPV6=$$USE_IPV6
|
||||
}
|
||||
|
||||
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
|
||||
DEFINES += BITCOIN_NEED_QT_PLUGINS
|
||||
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
|
||||
}
|
||||
|
||||
INCLUDEPATH += src/leveldb/include src/leveldb/helpers
|
||||
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
|
||||
# we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences
|
||||
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
|
||||
genleveldb.target = $$PWD/src/leveldb/libleveldb.a
|
||||
genleveldb.depends = FORCE
|
||||
PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a
|
||||
QMAKE_EXTRA_TARGETS += genleveldb
|
||||
# Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it.
|
||||
QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean
|
||||
|
||||
# regenerate src/build.h
|
||||
contains(USE_BUILD_INFO, 1) {
|
||||
genbuild.depends = FORCE
|
||||
genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h
|
||||
genbuild.target = $$OUT_PWD/build/build.h
|
||||
PRE_TARGETDEPS += $$OUT_PWD/build/build.h
|
||||
QMAKE_EXTRA_TARGETS += genbuild
|
||||
DEFINES += HAVE_BUILD_INFO
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-strict-aliasing -Wstack-protector -Wno-unused-local-typedefs
|
||||
|
||||
##### Start Project Files #####
|
||||
|
||||
DEPENDPATH += src src/json src/qt
|
||||
HEADERS += src/qt/bitcoingui.h \
|
||||
src/qt/transactiontablemodel.h \
|
||||
src/qt/addresstablemodel.h \
|
||||
src/qt/optionsdialog.h \
|
||||
src/qt/sendcoinsdialog.h \
|
||||
src/qt/coincontroldialog.h \
|
||||
src/qt/coincontroltreewidget.h \
|
||||
src/qt/addressbookpage.h \
|
||||
src/qt/signverifymessagedialog.h \
|
||||
src/qt/aboutdialog.h \
|
||||
src/qt/editaddressdialog.h \
|
||||
src/qt/bitcoinaddressvalidator.h \
|
||||
src/alert.h \
|
||||
src/addrman.h \
|
||||
src/base58.h \
|
||||
src/bignum.h \
|
||||
src/checkpoints.h \
|
||||
src/coincontrol.h \
|
||||
src/compat.h \
|
||||
src/sync.h \
|
||||
src/util.h \
|
||||
src/hash.h \
|
||||
src/uint256.h \
|
||||
src/serialize.h \
|
||||
src/main.h \
|
||||
src/net.h \
|
||||
src/key.h \
|
||||
src/db.h \
|
||||
src/walletdb.h \
|
||||
src/script.h \
|
||||
src/init.h \
|
||||
src/bloom.h \
|
||||
src/mruset.h \
|
||||
src/checkqueue.h \
|
||||
src/json/json_spirit_writer_template.h \
|
||||
src/json/json_spirit_writer.h \
|
||||
src/json/json_spirit_value.h \
|
||||
src/json/json_spirit_utils.h \
|
||||
src/json/json_spirit_stream_reader.h \
|
||||
src/json/json_spirit_reader_template.h \
|
||||
src/json/json_spirit_reader.h \
|
||||
src/json/json_spirit_error_position.h \
|
||||
src/json/json_spirit.h \
|
||||
src/qt/clientmodel.h \
|
||||
src/qt/guiutil.h \
|
||||
src/qt/transactionrecord.h \
|
||||
src/qt/guiconstants.h \
|
||||
src/qt/optionsmodel.h \
|
||||
src/qt/monitoreddatamapper.h \
|
||||
src/qt/transactiondesc.h \
|
||||
src/qt/transactiondescdialog.h \
|
||||
src/qt/bitcoinamountfield.h \
|
||||
src/wallet.h \
|
||||
src/keystore.h \
|
||||
src/qt/transactionfilterproxy.h \
|
||||
src/qt/transactionview.h \
|
||||
src/qt/walletmodel.h \
|
||||
src/qt/walletview.h \
|
||||
src/qt/walletstack.h \
|
||||
src/qt/walletframe.h \
|
||||
src/bitcoinrpc.h \
|
||||
src/qt/overviewpage.h \
|
||||
src/qt/csvmodelwriter.h \
|
||||
src/crypter.h \
|
||||
src/qt/sendcoinsentry.h \
|
||||
src/qt/qvalidatedlineedit.h \
|
||||
src/qt/bitcoinunits.h \
|
||||
src/qt/qvaluecombobox.h \
|
||||
src/qt/askpassphrasedialog.h \
|
||||
src/protocol.h \
|
||||
src/qt/notificator.h \
|
||||
src/qt/paymentserver.h \
|
||||
src/allocators.h \
|
||||
src/ui_interface.h \
|
||||
src/qt/rpcconsole.h \
|
||||
src/scrypt.h \
|
||||
src/version.h \
|
||||
src/netbase.h \
|
||||
src/clientversion.h \
|
||||
src/txdb.h \
|
||||
src/leveldb.h \
|
||||
src/threadsafety.h \
|
||||
src/limitedmap.h \
|
||||
src/qt/macnotificationhandler.h \
|
||||
src/qt/splashscreen.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.h \
|
||||
src/qt/qtquick_controls/cpp/listiteminterface.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.h \
|
||||
src/qt/gui20_skin.h \
|
||||
src/qt/cscfusionstyle.h \
|
||||
src/qt/pryptopage.h \
|
||||
src/qt/currencies.h \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.h \
|
||||
src/qt/infopage.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.h \
|
||||
src/qt/twitter/twitterwidget.h
|
||||
|
||||
SOURCES += src/qt/bitcoin.cpp \
|
||||
src/qt/bitcoingui.cpp \
|
||||
src/qt/transactiontablemodel.cpp \
|
||||
src/qt/addresstablemodel.cpp \
|
||||
src/qt/optionsdialog.cpp \
|
||||
src/qt/sendcoinsdialog.cpp \
|
||||
src/qt/coincontroldialog.cpp \
|
||||
src/qt/coincontroltreewidget.cpp \
|
||||
src/qt/addressbookpage.cpp \
|
||||
src/qt/signverifymessagedialog.cpp \
|
||||
src/qt/aboutdialog.cpp \
|
||||
src/qt/editaddressdialog.cpp \
|
||||
src/qt/bitcoinaddressvalidator.cpp \
|
||||
src/alert.cpp \
|
||||
src/version.cpp \
|
||||
src/sync.cpp \
|
||||
src/util.cpp \
|
||||
src/hash.cpp \
|
||||
src/netbase.cpp \
|
||||
src/key.cpp \
|
||||
src/script.cpp \
|
||||
src/main.cpp \
|
||||
src/init.cpp \
|
||||
src/net.cpp \
|
||||
src/bloom.cpp \
|
||||
src/checkpoints.cpp \
|
||||
src/addrman.cpp \
|
||||
src/db.cpp \
|
||||
src/walletdb.cpp \
|
||||
src/qt/clientmodel.cpp \
|
||||
src/qt/guiutil.cpp \
|
||||
src/qt/transactionrecord.cpp \
|
||||
src/qt/optionsmodel.cpp \
|
||||
src/qt/monitoreddatamapper.cpp \
|
||||
src/qt/transactiondesc.cpp \
|
||||
src/qt/transactiondescdialog.cpp \
|
||||
src/qt/bitcoinstrings.cpp \
|
||||
src/qt/bitcoinamountfield.cpp \
|
||||
src/wallet.cpp \
|
||||
src/keystore.cpp \
|
||||
src/qt/transactionfilterproxy.cpp \
|
||||
src/qt/transactionview.cpp \
|
||||
src/qt/walletmodel.cpp \
|
||||
src/qt/walletview.cpp \
|
||||
src/qt/walletstack.cpp \
|
||||
src/qt/walletframe.cpp \
|
||||
src/bitcoinrpc.cpp \
|
||||
src/rpcdump.cpp \
|
||||
src/rpcnet.cpp \
|
||||
src/rpcmining.cpp \
|
||||
src/rpcwallet.cpp \
|
||||
src/rpcblockchain.cpp \
|
||||
src/rpcrawtransaction.cpp \
|
||||
src/qt/overviewpage.cpp \
|
||||
src/qt/csvmodelwriter.cpp \
|
||||
src/crypter.cpp \
|
||||
src/qt/sendcoinsentry.cpp \
|
||||
src/qt/qvalidatedlineedit.cpp \
|
||||
src/qt/bitcoinunits.cpp \
|
||||
src/qt/qvaluecombobox.cpp \
|
||||
src/qt/askpassphrasedialog.cpp \
|
||||
src/protocol.cpp \
|
||||
src/qt/notificator.cpp \
|
||||
src/qt/paymentserver.cpp \
|
||||
src/qt/rpcconsole.cpp \
|
||||
src/scrypt.cpp \
|
||||
src/noui.cpp \
|
||||
src/leveldb.cpp \
|
||||
src/txdb.cpp \
|
||||
src/qt/splashscreen.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.cpp \
|
||||
src/qt/gui20_skin.cpp \
|
||||
src/qt/cscfusionstyle.cpp \
|
||||
src/qt/pryptopage.cpp \
|
||||
src/qt/currencies.cpp \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp \
|
||||
src/qt/infopage.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.cpp \
|
||||
src/qt/twitter/twitterwidget.cpp
|
||||
|
||||
RESOURCES += src/qt/bitcoin.qrc
|
||||
|
||||
FORMS += src/qt/forms/sendcoinsdialog.ui \
|
||||
src/qt/forms/coincontroldialog.ui \
|
||||
src/qt/forms/addressbookpage.ui \
|
||||
src/qt/forms/signverifymessagedialog.ui \
|
||||
src/qt/forms/aboutdialog.ui \
|
||||
src/qt/forms/editaddressdialog.ui \
|
||||
src/qt/forms/transactiondescdialog.ui \
|
||||
src/qt/forms/overviewpage.ui \
|
||||
src/qt/forms/sendcoinsentry.ui \
|
||||
src/qt/forms/askpassphrasedialog.ui \
|
||||
src/qt/forms/rpcconsole.ui \
|
||||
src/qt/forms/optionsdialog.ui \
|
||||
src/qt/forms/pryptopage.ui \
|
||||
src/qt/forms/infopage.ui
|
||||
|
||||
OTHER_FILES += README.md \
|
||||
doc/*.rst \
|
||||
doc/*.txt \
|
||||
doc/*.md \
|
||||
src/qt/res/bitcoin-qt.rc \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml \
|
||||
src/qt/twitter/*.qml
|
||||
|
||||
DISTFILES += \
|
||||
QmlImports.qml
|
||||
|
||||
##### End Project Files #####
|
||||
|
||||
contains(USE_QRCODE, 1) {
|
||||
HEADERS += src/qt/qrcodedialog.h
|
||||
SOURCES += src/qt/qrcodedialog.cpp
|
||||
FORMS += src/qt/forms/qrcodedialog.ui
|
||||
}
|
||||
|
||||
contains(USE_SSE2, 1) {
|
||||
DEFINES += USE_SSE2
|
||||
gccsse2.input = SOURCES_SSE2
|
||||
gccsse2.output = $$PWD/build/${QMAKE_FILE_BASE}.o
|
||||
gccsse2.commands = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -msse2 -mstackrealign
|
||||
QMAKE_EXTRA_COMPILERS += gccsse2
|
||||
SOURCES_SSE2 += src/scrypt-sse2.cpp
|
||||
}
|
||||
|
||||
# Todo: Remove this line when switching to Qt5, as that option was removed
|
||||
CODECFORTR = UTF-8
|
||||
|
||||
# for lrelease/lupdate
|
||||
# also add new translations to src/qt/bitcoin.qrc under translations/
|
||||
TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts)
|
||||
|
||||
isEmpty(QMAKE_LRELEASE) {
|
||||
# win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
|
||||
# else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
}
|
||||
isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale
|
||||
# automatically build translations, so they can be included in resource file
|
||||
TSQM.name = lrelease ${QMAKE_FILE_IN}
|
||||
TSQM.input = TRANSLATIONS
|
||||
TSQM.output = $$QM_DIR/${QMAKE_FILE_BASE}.qm
|
||||
TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
|
||||
TSQM.CONFIG = no_link
|
||||
QMAKE_EXTRA_COMPILERS += TSQM
|
||||
|
||||
HEADERS += src/qt/macdockiconhandler.h src/qt/macnotificationhandler.h
|
||||
OBJECTIVE_SOURCES += src/qt/macdockiconhandler.mm src/qt/macnotificationhandler.mm
|
||||
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit -framework CoreServices
|
||||
DEFINES += MAC_OSX MSG_NOSIGNAL=0
|
||||
ICON = src/qt/res/icons/casinocoin.icns
|
||||
#QMAKE_CFLAGS_THREAD += -pthread
|
||||
#QMAKE_LFLAGS_THREAD += -pthread
|
||||
#QMAKE_CXXFLAGS_THREAD += -pthread
|
||||
QMAKE_INFO_PLIST = share/qt/Info.plist
|
||||
|
||||
# Set libraries and includes at end, to use platform-defined defaults if not overridden
|
||||
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
|
||||
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -lpthread
|
||||
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
|
||||
LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
|
||||
LIBS += -dead_strip
|
||||
|
||||
system($$QMAKE_LRELEASE -silent $$TRANSLATIONS)
|
||||
437
casinocoin-qt-windows.pro
Normal file
437
casinocoin-qt-windows.pro
Normal file
@@ -0,0 +1,437 @@
|
||||
TEMPLATE = app
|
||||
TARGET = casinocoin-qt
|
||||
VERSION = 3.0.0.0
|
||||
INCLUDEPATH += src src/json src/qt
|
||||
QT += core gui network widgets qml quick
|
||||
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE USE_IPV6
|
||||
CONFIG += no_include_pwd
|
||||
CONFIG += thread
|
||||
|
||||
# Build boost:
|
||||
# .\b2 toolset=gcc address-model=32 define=BOOST_USE_WINAPI_VERSION=0x0600 variant=release link=static threading=multi runtime-link=static --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread stage
|
||||
# define=BOOST_USE_WINAPI_VERSION=0x0600
|
||||
BOOST_LIB_SUFFIX=-mt
|
||||
BOOST_LIB_PATH=C:/msys64/usr/src/deps32/boost_1_60_0/stage/lib
|
||||
BOOST_INCLUDE_PATH=C:/msys64/usr/src/deps32/boost_1_60_0
|
||||
BDB_INCLUDE_PATH=C:/msys64/usr/src/deps32/db-4.8.30.NC/build_unix
|
||||
BDB_LIB_PATH=C:/msys64/usr/src/deps32/db-4.8.30.NC/build_unix
|
||||
BDB_LIB_SUFFIX=-4.8
|
||||
OPENSSL_INCLUDE_PATH=C:/msys64/usr/src/deps32/openssl-1.0.2g/include
|
||||
OPENSSL_LIB_PATH=C:/msys64/usr/src/deps32/openssl-1.0.2g
|
||||
MINIUPNPC_INCLUDE_PATH=C:/msys64/usr/src/deps32/miniupnpc-1.9/include
|
||||
MINIUPNPC_LIB_PATH=C:/msys64/usr/src/deps32/miniupnpc-1.9
|
||||
QRENCODE_INCLUDE_PATH=C:/msys64/usr/src/deps32/qrencode-3.4.4
|
||||
QRENCODE_LIB_PATH=C:/msys64/usr/src/deps32/qrencode-3.4.4/.libs
|
||||
|
||||
OBJECTS_DIR = build
|
||||
MOC_DIR = build
|
||||
UI_DIR = build
|
||||
|
||||
# use: qmake "USE_QRCODE=1"
|
||||
# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support
|
||||
contains(USE_QRCODE, 1) {
|
||||
message(Building with QRCode support)
|
||||
DEFINES += USE_QRCODE
|
||||
#LIBS += -lqrencode
|
||||
LIBS += -lqrencode $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
}
|
||||
|
||||
# use: qmake "USE_UPNP=1" ( enabled by default; default)
|
||||
# or: qmake "USE_UPNP=0" (disabled by default)
|
||||
# or: qmake "USE_UPNP=-" (not supported)
|
||||
# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support
|
||||
contains(USE_UPNP, -) {
|
||||
message(Building without UPNP support)
|
||||
} else {
|
||||
message(Building with UPNP support)
|
||||
count(USE_UPNP, 0) {
|
||||
USE_UPNP=1
|
||||
}
|
||||
DEFINES += USE_UPNP=$$USE_UPNP STATICLIB
|
||||
INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH
|
||||
LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
|
||||
LIBS += -liphlpapi
|
||||
}
|
||||
|
||||
# use: qmake "USE_DBUS=1"
|
||||
contains(USE_DBUS, 1) {
|
||||
message(Building with DBUS (Freedesktop notifications) support)
|
||||
DEFINES += USE_DBUS
|
||||
QT += dbus
|
||||
}
|
||||
|
||||
# use: qmake "USE_IPV6=1" ( enabled by default; default)
|
||||
# or: qmake "USE_IPV6=0" (disabled by default)
|
||||
# or: qmake "USE_IPV6=-" (not supported)
|
||||
contains(USE_IPV6, -) {
|
||||
message(Building without IPv6 support)
|
||||
} else {
|
||||
count(USE_IPV6, 0) {
|
||||
USE_IPV6=1
|
||||
}
|
||||
DEFINES += USE_IPV6=$$USE_IPV6
|
||||
}
|
||||
|
||||
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
|
||||
DEFINES += BITCOIN_NEED_QT_PLUGINS
|
||||
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
|
||||
}
|
||||
|
||||
INCLUDEPATH += src/leveldb/include src/leveldb/helpers
|
||||
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
|
||||
# make an educated guess about what the ranlib command is called
|
||||
isEmpty(QMAKE_RANLIB) {
|
||||
QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib)
|
||||
}
|
||||
LIBS += -lshlwapi
|
||||
genleveldb.target = $$PWD/src/leveldb/libleveldb.a
|
||||
genleveldb.depends = FORCE
|
||||
PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a
|
||||
QMAKE_EXTRA_TARGETS += genleveldb
|
||||
# Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it.
|
||||
# On windows manually execute: make TARGET_OS=OS_WINDOWS_CROSSCOMPILE libleveldb.a libmemenv.a
|
||||
QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a;
|
||||
|
||||
# regenerate src/build.h
|
||||
contains(USE_BUILD_INFO, 1) {
|
||||
genbuild.depends = FORCE
|
||||
genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h
|
||||
genbuild.target = $$OUT_PWD/build/build.h
|
||||
PRE_TARGETDEPS += $$OUT_PWD/build/build.h
|
||||
QMAKE_EXTRA_TARGETS += genbuild
|
||||
DEFINES += HAVE_BUILD_INFO
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused -Wno-strict-aliasing -Wstack-protector -Wno-maybe-uninitialized
|
||||
|
||||
##### Start Project Files #####
|
||||
|
||||
DEPENDPATH += src src/json src/qt
|
||||
HEADERS += src/qt/bitcoingui.h \
|
||||
src/qt/transactiontablemodel.h \
|
||||
src/qt/addresstablemodel.h \
|
||||
src/qt/optionsdialog.h \
|
||||
src/qt/sendcoinsdialog.h \
|
||||
src/qt/coincontroldialog.h \
|
||||
src/qt/coincontroltreewidget.h \
|
||||
src/qt/addressbookpage.h \
|
||||
src/qt/signverifymessagedialog.h \
|
||||
src/qt/aboutdialog.h \
|
||||
src/qt/editaddressdialog.h \
|
||||
src/qt/bitcoinaddressvalidator.h \
|
||||
src/alert.h \
|
||||
src/addrman.h \
|
||||
src/base58.h \
|
||||
src/bignum.h \
|
||||
src/checkpoints.h \
|
||||
src/coincontrol.h \
|
||||
src/compat.h \
|
||||
src/sync.h \
|
||||
src/util.h \
|
||||
src/hash.h \
|
||||
src/uint256.h \
|
||||
src/serialize.h \
|
||||
src/main.h \
|
||||
src/net.h \
|
||||
src/key.h \
|
||||
src/db.h \
|
||||
src/walletdb.h \
|
||||
src/script.h \
|
||||
src/init.h \
|
||||
src/bloom.h \
|
||||
src/mruset.h \
|
||||
src/checkqueue.h \
|
||||
src/json/json_spirit_writer_template.h \
|
||||
src/json/json_spirit_writer.h \
|
||||
src/json/json_spirit_value.h \
|
||||
src/json/json_spirit_utils.h \
|
||||
src/json/json_spirit_stream_reader.h \
|
||||
src/json/json_spirit_reader_template.h \
|
||||
src/json/json_spirit_reader.h \
|
||||
src/json/json_spirit_error_position.h \
|
||||
src/json/json_spirit.h \
|
||||
src/qt/clientmodel.h \
|
||||
src/qt/guiutil.h \
|
||||
src/qt/transactionrecord.h \
|
||||
src/qt/guiconstants.h \
|
||||
src/qt/optionsmodel.h \
|
||||
src/qt/monitoreddatamapper.h \
|
||||
src/qt/transactiondesc.h \
|
||||
src/qt/transactiondescdialog.h \
|
||||
src/qt/bitcoinamountfield.h \
|
||||
src/wallet.h \
|
||||
src/keystore.h \
|
||||
src/qt/transactionfilterproxy.h \
|
||||
src/qt/transactionview.h \
|
||||
src/qt/walletmodel.h \
|
||||
src/qt/walletview.h \
|
||||
src/qt/walletstack.h \
|
||||
src/qt/walletframe.h \
|
||||
src/bitcoinrpc.h \
|
||||
src/qt/overviewpage.h \
|
||||
src/qt/csvmodelwriter.h \
|
||||
src/crypter.h \
|
||||
src/qt/sendcoinsentry.h \
|
||||
src/qt/qvalidatedlineedit.h \
|
||||
src/qt/bitcoinunits.h \
|
||||
src/qt/qvaluecombobox.h \
|
||||
src/qt/askpassphrasedialog.h \
|
||||
src/protocol.h \
|
||||
src/qt/notificator.h \
|
||||
src/qt/paymentserver.h \
|
||||
src/allocators.h \
|
||||
src/ui_interface.h \
|
||||
src/qt/rpcconsole.h \
|
||||
src/scrypt.h \
|
||||
src/version.h \
|
||||
src/netbase.h \
|
||||
src/clientversion.h \
|
||||
src/txdb.h \
|
||||
src/leveldb.h \
|
||||
src/threadsafety.h \
|
||||
src/limitedmap.h \
|
||||
src/qt/macnotificationhandler.h \
|
||||
src/qt/splashscreen.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.h \
|
||||
src/qt/qtquick_controls/cpp/listiteminterface.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.h \
|
||||
src/qt/gui20_skin.h \
|
||||
src/qt/cscfusionstyle.h \
|
||||
src/qt/pryptopage.h \
|
||||
src/qt/currencies.h \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.h \
|
||||
src/qt/infopage.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.h \
|
||||
src/qt/twitter/twitterwidget.h
|
||||
|
||||
SOURCES += src/qt/bitcoin.cpp \
|
||||
src/qt/bitcoingui.cpp \
|
||||
src/qt/transactiontablemodel.cpp \
|
||||
src/qt/addresstablemodel.cpp \
|
||||
src/qt/optionsdialog.cpp \
|
||||
src/qt/sendcoinsdialog.cpp \
|
||||
src/qt/coincontroldialog.cpp \
|
||||
src/qt/coincontroltreewidget.cpp \
|
||||
src/qt/addressbookpage.cpp \
|
||||
src/qt/signverifymessagedialog.cpp \
|
||||
src/qt/aboutdialog.cpp \
|
||||
src/qt/editaddressdialog.cpp \
|
||||
src/qt/bitcoinaddressvalidator.cpp \
|
||||
src/alert.cpp \
|
||||
src/version.cpp \
|
||||
src/sync.cpp \
|
||||
src/util.cpp \
|
||||
src/hash.cpp \
|
||||
src/netbase.cpp \
|
||||
src/key.cpp \
|
||||
src/script.cpp \
|
||||
src/main.cpp \
|
||||
src/init.cpp \
|
||||
src/net.cpp \
|
||||
src/bloom.cpp \
|
||||
src/checkpoints.cpp \
|
||||
src/addrman.cpp \
|
||||
src/db.cpp \
|
||||
src/walletdb.cpp \
|
||||
src/qt/clientmodel.cpp \
|
||||
src/qt/guiutil.cpp \
|
||||
src/qt/transactionrecord.cpp \
|
||||
src/qt/optionsmodel.cpp \
|
||||
src/qt/monitoreddatamapper.cpp \
|
||||
src/qt/transactiondesc.cpp \
|
||||
src/qt/transactiondescdialog.cpp \
|
||||
src/qt/bitcoinstrings.cpp \
|
||||
src/qt/bitcoinamountfield.cpp \
|
||||
src/wallet.cpp \
|
||||
src/keystore.cpp \
|
||||
src/qt/transactionfilterproxy.cpp \
|
||||
src/qt/transactionview.cpp \
|
||||
src/qt/walletmodel.cpp \
|
||||
src/qt/walletview.cpp \
|
||||
src/qt/walletstack.cpp \
|
||||
src/qt/walletframe.cpp \
|
||||
src/bitcoinrpc.cpp \
|
||||
src/rpcdump.cpp \
|
||||
src/rpcnet.cpp \
|
||||
src/rpcmining.cpp \
|
||||
src/rpcwallet.cpp \
|
||||
src/rpcblockchain.cpp \
|
||||
src/rpcrawtransaction.cpp \
|
||||
src/qt/overviewpage.cpp \
|
||||
src/qt/csvmodelwriter.cpp \
|
||||
src/crypter.cpp \
|
||||
src/qt/sendcoinsentry.cpp \
|
||||
src/qt/qvalidatedlineedit.cpp \
|
||||
src/qt/bitcoinunits.cpp \
|
||||
src/qt/qvaluecombobox.cpp \
|
||||
src/qt/askpassphrasedialog.cpp \
|
||||
src/protocol.cpp \
|
||||
src/qt/notificator.cpp \
|
||||
src/qt/paymentserver.cpp \
|
||||
src/qt/rpcconsole.cpp \
|
||||
src/scrypt.cpp \
|
||||
src/noui.cpp \
|
||||
src/leveldb.cpp \
|
||||
src/txdb.cpp \
|
||||
src/qt/splashscreen.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.cpp \
|
||||
src/qt/gui20_skin.cpp \
|
||||
src/qt/cscfusionstyle.cpp \
|
||||
src/qt/pryptopage.cpp \
|
||||
src/qt/currencies.cpp \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp \
|
||||
src/qt/infopage.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.cpp \
|
||||
src/qt/twitter/twitterwidget.cpp
|
||||
|
||||
RESOURCES += src/qt/bitcoin.qrc
|
||||
|
||||
FORMS += src/qt/forms/sendcoinsdialog.ui \
|
||||
src/qt/forms/coincontroldialog.ui \
|
||||
src/qt/forms/addressbookpage.ui \
|
||||
src/qt/forms/signverifymessagedialog.ui \
|
||||
src/qt/forms/aboutdialog.ui \
|
||||
src/qt/forms/editaddressdialog.ui \
|
||||
src/qt/forms/transactiondescdialog.ui \
|
||||
src/qt/forms/overviewpage.ui \
|
||||
src/qt/forms/sendcoinsentry.ui \
|
||||
src/qt/forms/askpassphrasedialog.ui \
|
||||
src/qt/forms/rpcconsole.ui \
|
||||
src/qt/forms/optionsdialog.ui \
|
||||
src/qt/forms/pryptopage.ui \
|
||||
src/qt/forms/infopage.ui
|
||||
|
||||
OTHER_FILES += README.md \
|
||||
doc/*.rst \
|
||||
doc/*.txt \
|
||||
doc/*.md \
|
||||
src/qt/res/bitcoin-qt.rc \
|
||||
src/test/*.cpp \
|
||||
src/test/*.h \
|
||||
src/qt/test/*.cpp \
|
||||
src/qt/test/*.h \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml \
|
||||
src/qt/twitter/*.qml
|
||||
|
||||
DISTFILES += \
|
||||
QmlImports.qml
|
||||
|
||||
##### End Project Files #####
|
||||
|
||||
contains(USE_QRCODE, 1) {
|
||||
HEADERS += src/qt/qrcodedialog.h
|
||||
SOURCES += src/qt/qrcodedialog.cpp
|
||||
FORMS += src/qt/forms/qrcodedialog.ui
|
||||
}
|
||||
|
||||
contains(BITCOIN_QT_TEST, 1) {
|
||||
SOURCES += src/qt/test/test_main.cpp \
|
||||
src/qt/test/uritests.cpp
|
||||
HEADERS += src/qt/test/uritests.h
|
||||
DEPENDPATH += src/qt/test
|
||||
QT += testlib
|
||||
TARGET = casinocoin-qt_test
|
||||
DEFINES += BITCOIN_QT_TEST
|
||||
}
|
||||
|
||||
contains(USE_SSE2, 1) {
|
||||
DEFINES += USE_SSE2
|
||||
gccsse2.input = SOURCES_SSE2
|
||||
gccsse2.output = $$PWD/build/${QMAKE_FILE_BASE}.o
|
||||
gccsse2.commands = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -msse2 -mstackrealign
|
||||
QMAKE_EXTRA_COMPILERS += gccsse2
|
||||
SOURCES_SSE2 += src/scrypt-sse2.cpp
|
||||
}
|
||||
|
||||
# for lrelease/lupdate
|
||||
# also add new translations to src/qt/bitcoin.qrc under translations/
|
||||
TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts)
|
||||
|
||||
isEmpty(QMAKE_LRELEASE) {
|
||||
QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
|
||||
}
|
||||
|
||||
isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale
|
||||
# automatically build translations, so they can be included in resource file
|
||||
TSQM.name = lrelease ${QMAKE_FILE_IN}
|
||||
TSQM.input = TRANSLATIONS
|
||||
TSQM.output = $$QM_DIR/${QMAKE_FILE_BASE}.qm
|
||||
TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
|
||||
TSQM.CONFIG = no_link
|
||||
QMAKE_EXTRA_COMPILERS += TSQM
|
||||
|
||||
DEFINES += WIN32
|
||||
RC_FILE = src/qt/res/bitcoin-qt.rc
|
||||
|
||||
!contains(MINGW_THREAD_BUGFIX, 0) {
|
||||
# At least qmake's win32-g++-cross profile is missing the -lmingwthrd
|
||||
# thread-safety flag. GCC has -mthreads to enable this, but it doesn't
|
||||
# work with static linking. -lmingwthrd must come BEFORE -lmingw, so
|
||||
# it is prepended to QMAKE_LIBS_QT_ENTRY.
|
||||
# It can be turned off with MINGW_THREAD_BUGFIX=0, just in case it causes
|
||||
# any problems on some untested qmake profile now or in the future.
|
||||
DEFINES += _MT
|
||||
QMAKE_LIBS_QT_ENTRY = -lmingwthrd $$QMAKE_LIBS_QT_ENTRY
|
||||
}
|
||||
|
||||
# Set libraries and includes at end, to use platform-defined defaults if not overridden
|
||||
INCLUDEPATH += $$BDB_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH $$BOOST_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH
|
||||
LIBS += $$join(BDB_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) $$join(BOOST_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,)
|
||||
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -lpthread
|
||||
# -lgdi32 has to happen after -lcrypto (see #681)
|
||||
LIBS += -lws2_32 -lole32 -lmswsock -loleaut32 -luuid -lgdi32 -lshlwapi
|
||||
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_LIB_SUFFIX
|
||||
LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
|
||||
|
||||
system($$QMAKE_LRELEASE -silent $$TRANSLATIONS)
|
||||
264
casinocoin-qt-windows.pro.user
Normal file
264
casinocoin-qt-windows.pro.user
Normal file
@@ -0,0 +1,264 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.0.0, 2016-06-14T10:56:38. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{5cb6bc84-6e3a-4b8c-88a9-7054f966d617}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap"/>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.6.0 (mingw32)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.6.0 (mingw32)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b3cf2641-46bb-4b28-b7a6-2713d9074823}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory"></value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments">"USE_UPNP=0" "USE_QRCODE=1" "USE_IPV6=1"</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/a.jochems/Documents/GitHub/casinocoin-development</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments">"USE_UPNP=0" "USE_QRCODE=1" "USE_IPV6=1"</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">casinocoin-qt-windows</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/a.jochems/Documents/GitHub/casinocoin-development/casinocoin-qt-windows.pro</value>
|
||||
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">casinocoin-qt-windows.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">C:/Users/a.jochems/Documents/GitHub/casinocoin-development</value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">18</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
@@ -1,13 +1,13 @@
|
||||
TEMPLATE = app
|
||||
TARGET = casinocoin-qt
|
||||
macx:TARGET = "CasinoCoin-Qt"
|
||||
VERSION = 1.1.0.0
|
||||
VERSION = 2.0.0.0
|
||||
INCLUDEPATH += src src/json src/qt
|
||||
QT += core gui network
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
QT += core gui network widgets qml quick
|
||||
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE USE_IPV6 __NO_SYSTEM_INCLUDES
|
||||
CONFIG += no_include_pwd
|
||||
CONFIG += thread
|
||||
CONFIG += static
|
||||
|
||||
# for boost 1.37, add -mt to the boost libraries
|
||||
# use: qmake BOOST_LIB_SUFFIX=-mt
|
||||
@@ -19,14 +19,40 @@ CONFIG += thread
|
||||
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
|
||||
# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
|
||||
|
||||
BOOST_INCLUDE_PATH=E:/crypto/deps/boost_1_53_0
|
||||
BOOST_LIB_PATH=E:/crypto/deps/boost_1_53_0/stage/lib
|
||||
BDB_INCLUDE_PATH=E:/crypto/deps/db-4.8.30.NC/build_unix
|
||||
BDB_LIB_PATH=E:/crypto/deps/db-4.8.30.NC/build_unix
|
||||
OPENSSL_INCLUDE_PATH=E:/crypto/deps/openssl-1.0.1b/include
|
||||
OPENSSL_LIB_PATH=E:/crypto/deps/openssl-1.0.1b
|
||||
QRENCODE_INCLUDE_PATH=E:/crypto/deps/qrencode-3.4.3
|
||||
QRENCODE_LIB_PATH=E:/crypto/deps/qrencode-3.4.3/.libs
|
||||
win32 {
|
||||
BOOST_LIB_SUFFIX=-mt
|
||||
BOOST_THREAD_LIB_SUFFIX=_win32-mt
|
||||
BDB_INCLUDE_PATH=/home/ubuntu/deps/windows/db-4.8.30.NC/build_unix
|
||||
BDB_LIB_PATH=/home/ubuntu/deps/windows/db-4.8.30.NC/build_unix
|
||||
OPENSSL_INCLUDE_PATH=/home/ubuntu/deps/windows/openssl-1.0.1h/include
|
||||
OPENSSL_LIB_PATH=/home/ubuntu/deps/windows/openssl-1.0.1h
|
||||
MINIUPNPC_INCLUDE_PATH=/home/ubuntu/deps/windows/
|
||||
MINIUPNPC_LIB_PATH=/home/ubuntu/deps/windows/miniupnpc
|
||||
QRENCODE_INCLUDE_PATH=/home/ubuntu/deps/windows/qrencode-3.4.3
|
||||
QRENCODE_LIB_PATH=/home/ubuntu/deps/windows/qrencode-3.4.3/.libs
|
||||
} macx {
|
||||
BOOST_INCLUDE_PATH=/usr/local/opt/boost/include
|
||||
BOOST_LIB_PATH=/usr/local/opt/boost/lib
|
||||
BDB_INCLUDE_PATH=/usr/local/opt/berkeley-db4/include
|
||||
BDB_LIB_PATH=/usr/local/opt/berkeley-db4/lib
|
||||
OPENSSL_INCLUDE_PATH=/usr/local/opt/openssl/include
|
||||
OPENSSL_LIB_PATH=/usr/local/opt/openssl/lib
|
||||
MINIUPNPC_INCLUDE_PATH=/usr/local/opt/miniupnpc/include
|
||||
MINIUPNPC_LIB_PATH=/usr/local/opt/miniupnpc/lib
|
||||
QRENCODE_INCLUDE_PATH=/usr/local/opt/qrencode/include
|
||||
QRENCODE_LIB_PATH=/usr/local/opt/qrencode/lib
|
||||
} else {
|
||||
BOOST_INCLUDE_PATH=/home/ubuntu/deps/linux/boost_1_55_0
|
||||
BOOST_LIB_PATH=/home/ubuntu/deps/linux/boost_1_55_0/stage/lib
|
||||
BDB_INCLUDE_PATH=/home/ubuntu/deps/linux/db-4.8.30.NC/build_unix
|
||||
BDB_LIB_PATH=/home/ubuntu/deps/linux/db-4.8.30.NC/build_unix
|
||||
OPENSSL_INCLUDE_PATH=/home/ubuntu/deps/linux/openssl-1.0.1h/include
|
||||
OPENSSL_LIB_PATH=/home/ubuntu/deps/linux/openssl-1.0.1h
|
||||
MINIUPNPC_INCLUDE_PATH=/home/ubuntu/deps/linux/
|
||||
MINIUPNPC_LIB_PATH=/home/ubuntu/deps/linux/miniupnpc
|
||||
QRENCODE_INCLUDE_PATH=/home/ubuntu/deps/linux/qrencode-3.4.3
|
||||
QRENCODE_LIB_PATH=/home/ubuntu/deps/linux/qrencode-3.4.3/.libs
|
||||
}
|
||||
|
||||
OBJECTS_DIR = build
|
||||
MOC_DIR = build
|
||||
@@ -141,7 +167,11 @@ QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) cl
|
||||
DEFINES += HAVE_BUILD_INFO
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector
|
||||
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-strict-aliasing -Wstack-protector
|
||||
|
||||
!macx {
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-local-typedefs
|
||||
}
|
||||
|
||||
# Input
|
||||
DEPENDPATH += src src/json src/qt
|
||||
@@ -229,7 +259,38 @@ HEADERS += src/qt/bitcoingui.h \
|
||||
src/threadsafety.h \
|
||||
src/limitedmap.h \
|
||||
src/qt/macnotificationhandler.h \
|
||||
src/qt/splashscreen.h
|
||||
src/qt/splashscreen.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.h \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.h \
|
||||
src/qt/qtquick_controls/cpp/listiteminterface.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.h \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.h \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.h \
|
||||
src/qt/gui20_skin.h \
|
||||
src/qt/cscfusionstyle.h \
|
||||
src/qt/pryptopage.h \
|
||||
src/qt/currencies.h \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.h \
|
||||
src/qt/infopage.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.h \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.h \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.h
|
||||
|
||||
SOURCES += src/qt/bitcoin.cpp \
|
||||
src/qt/bitcoingui.cpp \
|
||||
@@ -300,7 +361,38 @@ SOURCES += src/qt/bitcoin.cpp \
|
||||
src/noui.cpp \
|
||||
src/leveldb.cpp \
|
||||
src/txdb.cpp \
|
||||
src/qt/splashscreen.cpp
|
||||
src/qt/splashscreen.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapi.cpp \
|
||||
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp \
|
||||
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannercontrol.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guibannerwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlbannerlistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlimageprovider.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmllistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbarmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlmenutoolbaritem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarwidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarlistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guimenutoolbarcontrol.cpp \
|
||||
src/qt/gui20_skin.cpp \
|
||||
src/qt/cscfusionstyle.cpp \
|
||||
src/qt/pryptopage.cpp \
|
||||
src/qt/currencies.cpp \
|
||||
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp \
|
||||
src/qt/infopage.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeswidget.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistmodel.cpp \
|
||||
src/qt/qtquick_controls/cpp/qmlexchangeslistitem.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangeslistview.cpp \
|
||||
src/qt/qtquick_controls/cpp/guiexchangescontrol.cpp
|
||||
|
||||
|
||||
RESOURCES += src/qt/bitcoin.qrc
|
||||
|
||||
@@ -315,7 +407,9 @@ FORMS += src/qt/forms/sendcoinsdialog.ui \
|
||||
src/qt/forms/sendcoinsentry.ui \
|
||||
src/qt/forms/askpassphrasedialog.ui \
|
||||
src/qt/forms/rpcconsole.ui \
|
||||
src/qt/forms/optionsdialog.ui
|
||||
src/qt/forms/optionsdialog.ui \
|
||||
src/qt/forms/pryptopage.ui \
|
||||
src/qt/forms/infopage.ui
|
||||
|
||||
contains(USE_QRCODE, 1) {
|
||||
HEADERS += src/qt/qrcodedialog.h
|
||||
@@ -351,8 +445,9 @@ CODECFORTR = UTF-8
|
||||
TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts)
|
||||
|
||||
isEmpty(QMAKE_LRELEASE) {
|
||||
win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
|
||||
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
# win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
|
||||
# else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
|
||||
}
|
||||
isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale
|
||||
# automatically build translations, so they can be included in resource file
|
||||
@@ -372,7 +467,16 @@ OTHER_FILES += README.md \
|
||||
src/test/*.cpp \
|
||||
src/test/*.h \
|
||||
src/qt/test/*.cpp \
|
||||
src/qt/test/*.h
|
||||
src/qt/test/*.h \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIBannerWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesControl.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIExchangesWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarListView.qml \
|
||||
src/qt/qtquick_controls/qml/QmlGUIMenuToolbarControl.qml
|
||||
|
||||
# platform specific defaults, if not overridden on command line
|
||||
isEmpty(BOOST_LIB_SUFFIX) {
|
||||
@@ -453,3 +557,6 @@ contains(RELEASE, 1) {
|
||||
}
|
||||
|
||||
system($$QMAKE_LRELEASE -silent $$TRANSLATIONS)
|
||||
|
||||
DISTFILES += \
|
||||
QmlImports.qml
|
||||
|
||||
14
casinocoin-qt_qml_plugin_import.cpp
Normal file
14
casinocoin-qt_qml_plugin_import.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
// This file is autogenerated by qmake. It imports static plugin classes for
|
||||
// static plugins used by QML imports.
|
||||
#include <QtPlugin>
|
||||
Q_IMPORT_PLUGIN(QtQuick2Plugin)
|
||||
Q_IMPORT_PLUGIN(QtQuickControlsPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuick2DialogsPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuickLayoutsPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuick2WindowPlugin)
|
||||
Q_IMPORT_PLUGIN(QmlFolderListModelPlugin)
|
||||
Q_IMPORT_PLUGIN(QmlSettingsPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuick2DialogsPrivatePlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuickExtrasPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQmlModelsPlugin)
|
||||
Q_IMPORT_PLUGIN(QtQuick2PrivateWidgetsPlugin)
|
||||
63
contrib/casinocoind.conf
Normal file
63
contrib/casinocoind.conf
Normal file
@@ -0,0 +1,63 @@
|
||||
description "Casinocoin Core Daemon"
|
||||
|
||||
start on runlevel [2345]
|
||||
stop on starting rc RUNLEVEL=[016]
|
||||
|
||||
env CASINOCOIND_BIN="/usr/bin/casinocoind"
|
||||
env CASINOCOIND_USER="ubuntu"
|
||||
env CASINOCOIND_GROUP="ubuntu"
|
||||
env CASINOCOIND_PIDDIR="/var/run/casinocoind"
|
||||
# upstart can't handle variables constructed with other variables
|
||||
env CASINOCOIND_PIDFILE="/var/run/casinocoind/casinocoind.pid"
|
||||
env CASINOCOIND_CONFIGFILE="/u01/CSC/.casinocoin/casinocoin.conf"
|
||||
env CASINOCOIND_DATADIR="/u01/CSC/data"
|
||||
|
||||
expect fork
|
||||
|
||||
respawn
|
||||
respawn limit 5 120
|
||||
kill timeout 60
|
||||
|
||||
pre-start script
|
||||
# this will catch non-existent config files
|
||||
# bitcoind will check and exit with this very warning, but it can do so
|
||||
# long after forking, leaving upstart to think everything started fine.
|
||||
# since this is a commonly encountered case on install, just check and
|
||||
# warn here.
|
||||
if ! grep -qs '^rpcpassword=' "$CASINOCOIND_CONFIGFILE" ; then
|
||||
echo "ERROR: You must set a secure rpcpassword to run casinocoind."
|
||||
echo "The setting must appear in $CASINOCOIND_CONFIGFILE"
|
||||
echo
|
||||
echo "This password is security critical to securing wallets "
|
||||
echo "and must not be the same as the rpcuser setting."
|
||||
echo "You can generate a suitable random password using the following"
|
||||
echo "command from the shell:"
|
||||
echo
|
||||
echo "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
|
||||
echo
|
||||
echo "It is also recommended that you also set alertnotify so you are "
|
||||
echo "notified of problems:"
|
||||
echo
|
||||
echo "ie: alertnotify=echo %%s | mail -s \"Casinocoin Alert\"" \
|
||||
"admin@foo.com"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$CASINOCOIND_PIDDIR"
|
||||
chmod 0755 "$CASINOCOIND_PIDDIR"
|
||||
chown $CASINOCOIND_USER:$CASINOCOIND_GROUP "$CASINOCOIND_PIDDIR"
|
||||
chown $CASINOCOIND_USER:$CASINOCOIND_GROUP "$CASINOCOIND_CONFIGFILE"
|
||||
chmod 0660 "$CASINOCOIND_CONFIGFILE"
|
||||
end script
|
||||
|
||||
exec start-stop-daemon \
|
||||
--start \
|
||||
--pidfile "$CASINOCOIND_PIDFILE" \
|
||||
--chuid $CASINOCOIND_USER:$CASINOCOIND_GROUP \
|
||||
--exec "$CASINOCOIND_BIN" \
|
||||
-- \
|
||||
-pid="$CASINOCOIND_PIDFILE" \
|
||||
-conf="$CASINOCOIND_CONFIGFILE" \
|
||||
-datadir="$CASINOCOIND_DATADIR" \
|
||||
-daemon
|
||||
@@ -27,7 +27,7 @@ Once you've got the right hardware and software:
|
||||
wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
|
||||
# Inputs for Win32: (Linux has packages for these)
|
||||
wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
|
||||
wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
|
||||
wget 'http://www.openssl.org/source/openssl-1.0.1g.tar.gz'
|
||||
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
|
||||
wget 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz'
|
||||
wget 'https://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.9/libpng-1.5.9.tar.gz'
|
||||
|
||||
@@ -14,7 +14,7 @@ packages:
|
||||
reference_datetime: "2011-01-30 00:00:00"
|
||||
remotes: []
|
||||
files:
|
||||
- "openssl-1.0.1c.tar.gz"
|
||||
- "openssl-1.0.1g.tar.gz"
|
||||
- "db-4.8.30.NC.tar.gz"
|
||||
- "miniupnpc-1.6.tar.gz"
|
||||
- "zlib-1.2.6.tar.gz"
|
||||
@@ -30,8 +30,8 @@ script: |
|
||||
#
|
||||
mkdir -p $INSTALLPREFIX
|
||||
|
||||
tar xzf openssl-1.0.1c.tar.gz
|
||||
cd openssl-1.0.1c
|
||||
tar xzf openssl-1.0.1g.tar.gz
|
||||
cd openssl-1.0.1g
|
||||
./Configure --cross-compile-prefix=$HOST- mingw --openssldir=$INSTALLPREFIX
|
||||
make
|
||||
make install_sw
|
||||
|
||||
48
contrib/homebrew/makefile.osx.patch
Normal file
48
contrib/homebrew/makefile.osx.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
diff --git a/src/makefile.osx b/src/makefile.osx
|
||||
index bef0ef3..07ef8d3 100644
|
||||
--- a/src/makefile.osx
|
||||
+++ b/src/makefile.osx
|
||||
@@ -7,17 +7,21 @@
|
||||
# Originally by Laszlo Hanyecz (solar@heliacal.net)
|
||||
|
||||
CXX=llvm-g++
|
||||
-DEPSDIR=/opt/local
|
||||
+DEPSDIR=/usr/local
|
||||
+DB4DIR=/usr/local/opt/berkeley-db4
|
||||
+OPENSSLDIR=/usr/local/opt/openssl
|
||||
|
||||
INCLUDEPATHS= \
|
||||
-I"$(CURDIR)" \
|
||||
- -I"$(CURDIR)"/obj \
|
||||
+ -I"$(CURDIR)/obj" \
|
||||
-I"$(DEPSDIR)/include" \
|
||||
- -I"$(DEPSDIR)/include/db48"
|
||||
+ -I"$(DB4DIR)/include" \
|
||||
+ -I"$(OPENSSLDIR)/include"
|
||||
|
||||
LIBPATHS= \
|
||||
-L"$(DEPSDIR)/lib" \
|
||||
- -L"$(DEPSDIR)/lib/db48"
|
||||
+ -L"$(DB4DIR)/lib" \
|
||||
+ -L"$(OPENSSLDIR)/lib"
|
||||
|
||||
USE_UPNP:=1
|
||||
USE_IPV6:=1
|
||||
@@ -31,14 +35,14 @@ ifdef STATIC
|
||||
TESTLIBS += \
|
||||
$(DEPSDIR)/lib/libboost_unit_test_framework-mt.a
|
||||
LIBS += \
|
||||
- $(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \
|
||||
+ $(DB4DIR)/lib/libdb_cxx-4.8.a \
|
||||
$(DEPSDIR)/lib/libboost_system-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_filesystem-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_program_options-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_thread-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_chrono-mt.a \
|
||||
- $(DEPSDIR)/lib/libssl.a \
|
||||
- $(DEPSDIR)/lib/libcrypto.a \
|
||||
+ $(OPENSSLDIR)/lib/libssl.a \
|
||||
+ $(OPENSSLDIR)/lib/libcrypto.a \
|
||||
-lz
|
||||
else
|
||||
TESTLIBS += \
|
||||
1
contrib/release/DISCLAIMER
Normal file
1
contrib/release/DISCLAIMER
Normal file
@@ -0,0 +1 @@
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
BIN
contrib/release/Win32OpenSSL_Light-1_0_2h.exe
Normal file
BIN
contrib/release/Win32OpenSSL_Light-1_0_2h.exe
Normal file
Binary file not shown.
BIN
contrib/release/favicon.ico
Normal file
BIN
contrib/release/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
BIN
contrib/release/libeay32.dll
Normal file
BIN
contrib/release/libeay32.dll
Normal file
Binary file not shown.
BIN
contrib/release/libssl32.dll
Normal file
BIN
contrib/release/libssl32.dll
Normal file
Binary file not shown.
BIN
contrib/release/opengl32sw.dll
Normal file
BIN
contrib/release/opengl32sw.dll
Normal file
Binary file not shown.
10
contrib/release/post-install.txt
Normal file
10
contrib/release/post-install.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
The wallet has been succesfully installed.
|
||||
|
||||
Please be aware of the following two requirements.
|
||||
|
||||
- This software makes use of OpenSSL libraries. They may not yet be available on your machine. If you encounter issues with Redeeming Prypto codes or showing the Twitter feed on the Info page they are missing. Local laws may prohibit installing them so they are not installed with the wallet. In that case you must install the OpenSSL libraries manually. You can download and install the light version from https://slproweb.com/products/Win32OpenSSL.html
|
||||
|
||||
- This software makes use of OpenGL v2 rendering. On older machines or Virtual Machines that do not have recent video drivers this can cause graphics rendering problems. If this is the case you can enable a software renderer. To do so add the following parameter to your environment settings via Control Panel -> System -> Advanced System Settings -> Environment Variables:
|
||||
|
||||
Variable: QT_OPENGL_DLL
|
||||
Value: opengl32sw.dll
|
||||
3
contrib/release/qt.conf
Normal file
3
contrib/release/qt.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
[Paths]
|
||||
Plugins=.
|
||||
Qml2Imports=.
|
||||
BIN
contrib/release/ssleay32.dll
Normal file
BIN
contrib/release/ssleay32.dll
Normal file
Binary file not shown.
3
contrib/systemd/casinocoind.env
Normal file
3
contrib/systemd/casinocoind.env
Normal file
@@ -0,0 +1,3 @@
|
||||
CASINOCOIND_CONFIGFILE=/opt/CSC/.casinocoin/casinocoin.conf
|
||||
CASINOCOIND_DATADIR=/opt/CSC/data
|
||||
CASINOCOIND_CACHESIZE=512
|
||||
16
contrib/systemd/casinocoind.service
Normal file
16
contrib/systemd/casinocoind.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Casinocoin Daemon Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
User=ubuntu
|
||||
Group=ubuntu
|
||||
PIDFile=/opt/CSC/data/casinocoind.pid
|
||||
EnvironmentFile=/etc/systemd/casinocoind.env
|
||||
ExecStart=/usr/bin/casinocoind -daemon -datadir=${CASINOCOIND_DATADIR} -conf=${CASINOCOIND_CONFIGFILE} -dbcache=${CASINOCOIND_CACHESIZE}
|
||||
ExecStop=/usr/bin/casinocoind -conf=${CASINOCOIND_CONFIGFILE} stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -26,7 +26,7 @@ Dependencies
|
||||
Libraries you need to download separately and build:
|
||||
|
||||
default path download
|
||||
OpenSSL \openssl-1.0.1b-mgw http://www.openssl.org/source/
|
||||
OpenSSL \openssl-1.0.1g-mgw http://www.openssl.org/source/
|
||||
Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html
|
||||
Boost \boost-1.47.0-mgw http://www.boost.org/users/download/
|
||||
miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/
|
||||
@@ -38,7 +38,7 @@ Boost MIT-like license
|
||||
miniupnpc New (3-clause) BSD license
|
||||
|
||||
Versions used in this release:
|
||||
OpenSSL 1.0.1b
|
||||
OpenSSL 1.0.1g
|
||||
Berkeley DB 4.8.30.NC
|
||||
Boost 1.47.0
|
||||
miniupnpc 1.6
|
||||
@@ -50,7 +50,7 @@ MSYS shell:
|
||||
un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377)
|
||||
change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe'
|
||||
|
||||
cd /c/openssl-1.0.1b-mgw
|
||||
cd /c/openssl-1.0.1g-mgw
|
||||
./config
|
||||
make
|
||||
|
||||
|
||||
@@ -51,8 +51,8 @@ std::string CUnsignedAlert::ToString() const
|
||||
return strprintf(
|
||||
"CAlert(\n"
|
||||
" nVersion = %d\n"
|
||||
" nRelayUntil = %"PRI64d"\n"
|
||||
" nExpiration = %"PRI64d"\n"
|
||||
" nRelayUntil = %" PRI64d "\n"
|
||||
" nExpiration = %" PRI64d "\n"
|
||||
" nID = %d\n"
|
||||
" nCancel = %d\n"
|
||||
" setCancel = %s\n"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#ifdef _WIN32_WINNT
|
||||
#undef _WIN32_WINNT
|
||||
#endif
|
||||
#define _WIN32_WINNT 0x0501
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#ifndef NOMINMAX
|
||||
#define NOMINMAX
|
||||
|
||||
@@ -182,10 +182,10 @@ Value stop(const Array& params, bool fHelp)
|
||||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"stop\n"
|
||||
"Stop CasinoCoin server.");
|
||||
"Stop "+ COIN_NAME_DISPLAY + " server.");
|
||||
// Shutdown will take long enough that the response should get back
|
||||
StartShutdown();
|
||||
return "CasinoCoin server stopping";
|
||||
return ""+ COIN_NAME_DISPLAY + " server stopping";
|
||||
}
|
||||
|
||||
|
||||
@@ -265,6 +265,7 @@ static const CRPCCommand vRPCCommands[] =
|
||||
{ "lockunspent", &lockunspent, false, false, true },
|
||||
{ "listlockunspent", &listlockunspent, false, false, true },
|
||||
{ "verifychain", &verifychain, true, false, false },
|
||||
{ "getcoinsupply", &getcoinsupply, true, false, false },
|
||||
};
|
||||
|
||||
CRPCTable::CRPCTable()
|
||||
@@ -298,7 +299,7 @@ string HTTPPost(const string& strMsg, const map<string,string>& mapRequestHeader
|
||||
{
|
||||
ostringstream s;
|
||||
s << "POST / HTTP/1.1\r\n"
|
||||
<< "User-Agent: casinocoin-json-rpc/" << FormatFullVersion() << "\r\n"
|
||||
<< "User-Agent: "+ COIN_NAME + "-json-rpc/" << FormatFullVersion() << "\r\n"
|
||||
<< "Host: 127.0.0.1\r\n"
|
||||
<< "Content-Type: application/json\r\n"
|
||||
<< "Content-Length: " << strMsg.size() << "\r\n"
|
||||
@@ -329,7 +330,7 @@ static string HTTPReply(int nStatus, const string& strMsg, bool keepalive)
|
||||
if (nStatus == HTTP_UNAUTHORIZED)
|
||||
return strprintf("HTTP/1.0 401 Authorization Required\r\n"
|
||||
"Date: %s\r\n"
|
||||
"Server: casinocoin-json-rpc/%s\r\n"
|
||||
"Server: "+ COIN_NAME + "-json-rpc/%s\r\n"
|
||||
"WWW-Authenticate: Basic realm=\"jsonrpc\"\r\n"
|
||||
"Content-Type: text/html\r\n"
|
||||
"Content-Length: 296\r\n"
|
||||
@@ -354,9 +355,9 @@ static string HTTPReply(int nStatus, const string& strMsg, bool keepalive)
|
||||
"HTTP/1.1 %d %s\r\n"
|
||||
"Date: %s\r\n"
|
||||
"Connection: %s\r\n"
|
||||
"Content-Length: %"PRIszu"\r\n"
|
||||
"Content-Length: %" PRIszu "\r\n"
|
||||
"Content-Type: application/json\r\n"
|
||||
"Server: casinocoin-json-rpc/%s\r\n"
|
||||
"Server: "+ COIN_NAME + "-json-rpc/%s\r\n"
|
||||
"\r\n"
|
||||
"%s",
|
||||
nStatus,
|
||||
@@ -736,7 +737,7 @@ void StartRPCThreads()
|
||||
{
|
||||
unsigned char rand_pwd[32];
|
||||
RAND_bytes(rand_pwd, 32);
|
||||
string strWhatAmI = "To use casinocoind";
|
||||
string strWhatAmI = "To use "+ COIN_NAME + "d";
|
||||
if (mapArgs.count("-server"))
|
||||
strWhatAmI = strprintf(_("To use the %s option"), "\"-server\"");
|
||||
else if (mapArgs.count("-daemon"))
|
||||
@@ -745,13 +746,13 @@ void StartRPCThreads()
|
||||
_("%s, you must set a rpcpassword in the configuration file:\n"
|
||||
"%s\n"
|
||||
"It is recommended you use the following random password:\n"
|
||||
"rpcuser=casinocoinrpc\n"
|
||||
"rpcuser=")+ COIN_NAME + _("rpc\n"
|
||||
"rpcpassword=%s\n"
|
||||
"(you do not need to remember this password)\n"
|
||||
"The username and password MUST NOT be the same.\n"
|
||||
"If the file does not exist, create it with owner-readable-only file permissions.\n"
|
||||
"It is also recommended to set alertnotify so you are notified of problems;\n"
|
||||
"for example: alertnotify=echo %%s | mail -s \"CasinoCoin Alert\" admin@foo.com\n"),
|
||||
"for example: alertnotify=echo %%s | mail -s \"")+ COIN_NAME_DISPLAY + _(" Alert\" admin@foo.com\n"),
|
||||
strWhatAmI.c_str(),
|
||||
GetConfigFile().string().c_str(),
|
||||
EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str()),
|
||||
@@ -1194,6 +1195,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector<std::stri
|
||||
if (strMethod == "importprivkey" && n > 2) ConvertTo<bool>(params[2]);
|
||||
if (strMethod == "verifychain" && n > 0) ConvertTo<boost::int64_t>(params[0]);
|
||||
if (strMethod == "verifychain" && n > 1) ConvertTo<boost::int64_t>(params[1]);
|
||||
if (strMethod == "getcoinsupply" && n > 0) ConvertTo<boost::int64_t>(params[0], true);
|
||||
if (strMethod == "getcoinsupply" && n > 1) ConvertTo<bool>(params[1], true);
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
@@ -206,4 +206,6 @@ extern json_spirit::Value gettxoutsetinfo(const json_spirit::Array& params, bool
|
||||
extern json_spirit::Value gettxout(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value verifychain(const json_spirit::Array& params, bool fHelp);
|
||||
|
||||
extern json_spirit::Value getcoinsupply(const json_spirit::Array& params, bool fHelp);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -60,13 +60,30 @@ namespace Checkpoints
|
||||
( 197777, uint256("0x2f9203c38cede6e1c61a69eb43c4f62d8e04ba62a57a7d866f4d715eec033cd4"))
|
||||
( 207777, uint256("0x3631874522954f18e6834ad68918dcc060b2712fea7a381e11e10193c6ab2f24"))
|
||||
( 217777, uint256("0xc86150e3408be1ca10eb1b94f374ae331c07dec6e2162bf06f5c31d83faa9715"))
|
||||
( 237777, uint256("0x6f9d56c970ec057c9d6b20e930e50811d8b5d0215046c80bb681d914e2cca4ea"))
|
||||
( 257777, uint256("0x53e08f4dfe94f5c489aeb564ba84b5e131d026827533f7b446e956541c94eab2"))
|
||||
( 277777, uint256("0x69f7a0b78bf4609971af3702ffd8d2dec7df07d784240aaa28a67d0c78365668"))
|
||||
( 297777, uint256("0xe1b8520b0cc8e03785330dcee2bd31415f44b90f6af9176336859a6230c09de2"))
|
||||
( 317777, uint256("0x0458c7effe8348b551f47c3d7115c9347f4121749549650d495b88e8d0a9c666"))
|
||||
( 347777, uint256("0x9ba10b9cd9b94e903e67da6a1033841a3e66b6a33f09cbaec2146d4f72dbea2d"))
|
||||
( 377777, uint256("0x6eecff79e07910c69ac5340ad34c74cd95ecdfb0282ac62b30e7ba443114a628"))
|
||||
( 444429, uint256("0x01f8b85612927fd3660e7e036f559770ebb09d896f54abf70d99be2fe1793155"))
|
||||
( 750000, uint256("0x4e5e0c5d7ee65cc0cf8cb995ef2c701773026baff189a922d9d51bba21cd8e8f"))
|
||||
( 1000250, uint256("0x43ae9b7d1fcbe37eeb3dc3460b69a574d13e09cdec7d5da01c32d279a452842a"))
|
||||
( 1105321, uint256("0xac44589a3914c6ad1e8e1d2d007fd76271abca6e38518e39b131ead11142f29d"))
|
||||
( 1275800, uint256("0x8d74b3baf71c3f3f31e8d6f8c684d890f65764bded05d67f5d10c3b12ee59c75"))
|
||||
( 1346290, uint256("0x0711f69754fe7f49b965d90db67f94025c3b89c114b60242513b1634220ce2c7"))
|
||||
( 1461488, uint256("0xd23bc59328a745a8ed6803fcb7ea9f582dd09470ea24303ab0312ad8d29a5809"))
|
||||
( 1525492, uint256("0xd315bf68cf03c43ebef827e6db8d5d86a43f261c6e1981a0a5ededa8243a73ce"))
|
||||
// last solved checkpoint candidate while updating
|
||||
// (we need to know the debug.log tx= for the last checkpoint)
|
||||
;
|
||||
static const CCheckpointData data = {
|
||||
&mapCheckpoints,
|
||||
1391536800, // * UNIX timestamp of last checkpoint block
|
||||
356643, // * total number of transactions between genesis and last checkpoint
|
||||
// (the tx=... number in the SetBestChain debug.log lines)
|
||||
4500.0 // * estimated number of transactions per day after checkpoint
|
||||
1465265319, // * UNIX timestamp of last checkpoint block
|
||||
1923205, // * total number of transactions between genesis and last checkpoint
|
||||
// (the tx=... number in the SetBestChain debug.log lines)
|
||||
4 // * estimated number of transactions per day after checkpoint
|
||||
};
|
||||
|
||||
static MapCheckpoints mapCheckpointsTestnet =
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
//
|
||||
|
||||
// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it
|
||||
#define CLIENT_VERSION_MAJOR 1
|
||||
#define CLIENT_VERSION_MINOR 1
|
||||
#define CLIENT_VERSION_MAJOR 3
|
||||
#define CLIENT_VERSION_MINOR 0
|
||||
#define CLIENT_VERSION_REVISION 0
|
||||
#define CLIENT_VERSION_BUILD 0
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
// Copyright year (2009-this)
|
||||
// Todo: update this when changing our copyright comments in the source
|
||||
#define COPYRIGHT_YEAR 2014
|
||||
#define COPYRIGHT_YEAR 2016
|
||||
|
||||
// Converts the parameter X to a string after macro replacement on X has been performed.
|
||||
// Don't merge these into one macro!
|
||||
|
||||
@@ -6,13 +6,12 @@
|
||||
#define _BITCOIN_COMPAT_H 1
|
||||
|
||||
#ifdef WIN32
|
||||
#define _WIN32_WINNT 0x0501
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#ifndef NOMINMAX
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#define FD_SETSIZE 1024 // max number of fds in fd_set
|
||||
#include <winsock2.h>
|
||||
#include <mswsock.h>
|
||||
#include <ws2tcpip.h>
|
||||
#else
|
||||
@@ -26,12 +25,12 @@
|
||||
#include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
typedef u_int SOCKET;
|
||||
#ifdef WIN32
|
||||
#define MSG_NOSIGNAL 0
|
||||
#define MSG_DONTWAIT 0
|
||||
typedef int socklen_t;
|
||||
#else
|
||||
typedef u_int SOCKET;
|
||||
#include "errno.h"
|
||||
#define WSAGetLastError() errno
|
||||
#define WSAEINVAL EINVAL
|
||||
|
||||
@@ -456,7 +456,7 @@ void CDBEnv::Flush(bool fShutdown)
|
||||
else
|
||||
mi++;
|
||||
}
|
||||
printf("DBFlush(%s)%s ended %15"PRI64d"ms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart);
|
||||
printf("DBFlush(%s)%s ended %15" PRI64d "ms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart);
|
||||
if (fShutdown)
|
||||
{
|
||||
char** listp;
|
||||
|
||||
52
src/init.cpp
52
src/init.cpp
@@ -10,6 +10,7 @@
|
||||
#include "init.h"
|
||||
#include "util.h"
|
||||
#include "ui_interface.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/filesystem/fstream.hpp>
|
||||
@@ -78,6 +79,7 @@ volatile bool fRequestShutdown = false;
|
||||
|
||||
void StartShutdown()
|
||||
{
|
||||
boost::this_thread::sleep_for( boost::chrono::seconds( 1 ) );
|
||||
fRequestShutdown = true;
|
||||
}
|
||||
bool ShutdownRequested()
|
||||
@@ -179,12 +181,12 @@ bool AppInit(int argc, char* argv[])
|
||||
if (mapArgs.count("-?") || mapArgs.count("--help"))
|
||||
{
|
||||
// First part of help message is specific to bitcoind / RPC client
|
||||
std::string strUsage = _("CasinoCoin version") + " " + FormatFullVersion() + "\n\n" +
|
||||
std::string strUsage = COIN_NAME_DISPLAY + " version" + " " + FormatFullVersion() + "\n\n" +
|
||||
_("Usage:") + "\n" +
|
||||
" casinocoind [options] " + "\n" +
|
||||
" casinocoind [options] <command> [params] " + _("Send command to -server or casinocoind") + "\n" +
|
||||
" casinocoind [options] help " + _("List commands") + "\n" +
|
||||
" casinocoind [options] help <command> " + _("Get help for a command") + "\n";
|
||||
" "+ COIN_NAME + "d [options] " + "\n" +
|
||||
" "+ COIN_NAME + "d [options] <command> [params] " + "Send command to -server or "+ COIN_NAME + "d" + "\n" +
|
||||
" "+ COIN_NAME + "d [options] help " + "List commands" + "\n" +
|
||||
" "+ COIN_NAME + "d [options] help <command> " + "Get help for a command" + "\n";
|
||||
|
||||
strUsage += "\n" + HelpMessage();
|
||||
|
||||
@@ -194,7 +196,7 @@ bool AppInit(int argc, char* argv[])
|
||||
|
||||
// Command-line RPC
|
||||
for (int i = 1; i < argc; i++)
|
||||
if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "casinocoin:"))
|
||||
if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], (std::string("") + COIN_NAME + ":").c_str()))
|
||||
fCommandLine = true;
|
||||
|
||||
if (fCommandLine)
|
||||
@@ -297,8 +299,8 @@ std::string HelpMessage()
|
||||
{
|
||||
string strUsage = _("Options:") + "\n" +
|
||||
" -? " + _("This help message") + "\n" +
|
||||
" -conf=<file> " + _("Specify configuration file (default: casinocoin.conf)") + "\n" +
|
||||
" -pid=<file> " + _("Specify pid file (default: casinocoind.pid)") + "\n" +
|
||||
" -conf=<file> " + "Specify configuration file (default: "+ COIN_NAME + ".conf)" + "\n" +
|
||||
" -pid=<file> " + "Specify pid file (default: "+ COIN_NAME + "d.pid)" + "\n" +
|
||||
" -gen " + _("Generate coins (default: 0)") + "\n" +
|
||||
" -datadir=<dir> " + _("Specify data directory") + "\n" +
|
||||
" -dbcache=<n> " + _("Set database cache size in megabytes (default: 25)") + "\n" +
|
||||
@@ -375,7 +377,7 @@ std::string HelpMessage()
|
||||
" -blockmaxsize=<n> " + _("Set maximum block size in bytes (default: 250000)") + "\n" +
|
||||
" -blockprioritysize=<n> " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n" +
|
||||
|
||||
"\n" + _("SSL options: (see the CasinoCoin Wiki for SSL setup instructions)") + "\n" +
|
||||
"\n" + "SSL options: (see the "+ COIN_NAME_DISPLAY + " Wiki for SSL setup instructions)" + "\n" +
|
||||
" -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n" +
|
||||
" -rpcsslcertificatechainfile=<file.cert> " + _("Server certificate file (default: server.cert)") + "\n" +
|
||||
" -rpcsslprivatekeyfile=<file.pem> " + _("Server private key (default: server.pem)") + "\n" +
|
||||
@@ -644,12 +646,13 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if (file) fclose(file);
|
||||
static boost::interprocess::file_lock lock(pathLockFile.string().c_str());
|
||||
if (!lock.try_lock())
|
||||
return InitError(strprintf(_("Cannot obtain a lock on data directory %s. CasinoCoin is probably already running."), strDataDir.c_str()));
|
||||
return InitError(strprintf((std::string("Cannot obtain a lock on data directory %s. ")+ COIN_NAME_DISPLAY + " is probably already running.").c_str(), strDataDir.c_str()));
|
||||
|
||||
if (GetBoolArg("-shrinkdebugfile", !fDebug))
|
||||
ShrinkDebugFile();
|
||||
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
|
||||
printf("CasinoCoin version %s (%s)\n", FormatFullVersion().c_str(), CLIENT_DATE.c_str());
|
||||
std::string versionString = COIN_NAME_DISPLAY + " version %s (%s)\n";
|
||||
printf(versionString.c_str(), FormatFullVersion().c_str(), CLIENT_DATE.c_str());
|
||||
printf("Using OpenSSL version %s\n", SSLeay_version(SSLEAY_VERSION));
|
||||
if (!fLogTimestamps)
|
||||
printf("Startup time: %s\n", DateTimeStrFormat("%Y-%m-%d %H:%M:%S", GetTime()).c_str());
|
||||
@@ -659,8 +662,9 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
std::ostringstream strErrors;
|
||||
|
||||
if (fDaemon)
|
||||
fprintf(stdout, "CasinoCoin server starting\n");
|
||||
|
||||
{
|
||||
fprintf(stdout, "%s server starting\n", COIN_NAME_DISPLAY.c_str());
|
||||
}
|
||||
if (nScriptCheckThreads) {
|
||||
printf("Using %u threads for script verification\n", nScriptCheckThreads);
|
||||
for (int i=0; i<nScriptCheckThreads-1; i++)
|
||||
@@ -682,7 +686,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
{
|
||||
// try moving the database env out of the way
|
||||
boost::filesystem::path pathDatabase = GetDataDir() / "database";
|
||||
boost::filesystem::path pathDatabaseBak = GetDataDir() / strprintf("database.%"PRI64d".bak", GetTime());
|
||||
boost::filesystem::path pathDatabaseBak = GetDataDir() / strprintf("database.%" PRI64d ".bak", GetTime());
|
||||
try {
|
||||
boost::filesystem::rename(pathDatabase, pathDatabaseBak);
|
||||
printf("Moved old %s to %s. Retrying.\n", pathDatabase.string().c_str(), pathDatabaseBak.string().c_str());
|
||||
@@ -946,7 +950,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
printf("Shutdown requested. Exiting.\n");
|
||||
return false;
|
||||
}
|
||||
printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart);
|
||||
printf(" block index %15" PRI64d "ms\n", GetTimeMillis() - nStart);
|
||||
|
||||
if (GetBoolArg("-printblockindex") || GetBoolArg("-printblocktree"))
|
||||
{
|
||||
@@ -1000,10 +1004,10 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
InitWarning(msg);
|
||||
}
|
||||
else if (nLoadWalletRet == DB_TOO_NEW)
|
||||
strErrors << _("Error loading wallet.dat: Wallet requires newer version of CasinoCoin") << "\n";
|
||||
strErrors << "Error loading wallet.dat: Wallet requires newer version of " << COIN_NAME_DISPLAY << "\n";
|
||||
else if (nLoadWalletRet == DB_NEED_REWRITE)
|
||||
{
|
||||
strErrors << _("Wallet needed to be rewritten: restart CasinoCoin to complete") << "\n";
|
||||
strErrors << "Wallet needed to be rewritten: restart "<< COIN_NAME_DISPLAY << " to complete" << "\n";
|
||||
printf("%s", strErrors.str().c_str());
|
||||
return InitError(strErrors.str());
|
||||
}
|
||||
@@ -1043,7 +1047,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
}
|
||||
|
||||
printf("%s", strErrors.str().c_str());
|
||||
printf(" wallet %15"PRI64d"ms\n", GetTimeMillis() - nStart);
|
||||
printf(" wallet %15" PRI64d "ms\n", GetTimeMillis() - nStart);
|
||||
|
||||
RegisterWallet(pwalletMain);
|
||||
|
||||
@@ -1065,7 +1069,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight);
|
||||
nStart = GetTimeMillis();
|
||||
pwalletMain->ScanForWalletTransactions(pindexRescan, true);
|
||||
printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart);
|
||||
printf(" rescan %15" PRI64d "ms\n", GetTimeMillis() - nStart);
|
||||
pwalletMain->SetBestChain(CBlockLocator(pindexBest));
|
||||
nWalletDBUpdated++;
|
||||
}
|
||||
@@ -1098,7 +1102,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
printf("Invalid or missing peers.dat; recreating\n");
|
||||
}
|
||||
|
||||
printf("Loaded %i addresses from peers.dat %"PRI64d"ms\n",
|
||||
printf("Loaded %i addresses from peers.dat %" PRI64d "ms\n",
|
||||
addrman.size(), GetTimeMillis() - nStart);
|
||||
|
||||
// ********************************************************* Step 11: start node
|
||||
@@ -1112,11 +1116,11 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
RandAddSeedPerfmon();
|
||||
|
||||
//// debug print
|
||||
printf("mapBlockIndex.size() = %"PRIszu"\n", mapBlockIndex.size());
|
||||
printf("mapBlockIndex.size() = %" PRIszu "\n", mapBlockIndex.size());
|
||||
printf("nBestHeight = %d\n", nBestHeight);
|
||||
printf("setKeyPool.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->setKeyPool.size() : 0);
|
||||
printf("mapWallet.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->mapWallet.size() : 0);
|
||||
printf("mapAddressBook.size() = %"PRIszu"\n", pwalletMain ? pwalletMain->mapAddressBook.size() : 0);
|
||||
printf("setKeyPool.size() = %" PRIszu "\n", pwalletMain ? pwalletMain->setKeyPool.size() : 0);
|
||||
printf("mapWallet.size() = %" PRIszu "\n", pwalletMain ? pwalletMain->mapWallet.size() : 0);
|
||||
printf("mapAddressBook.size() = %" PRIszu "\n", pwalletMain ? pwalletMain->mapAddressBook.size() : 0);
|
||||
|
||||
StartNode(threadGroup);
|
||||
|
||||
|
||||
210
src/leveldb/Makefile
Normal file
210
src/leveldb/Makefile
Normal file
@@ -0,0 +1,210 @@
|
||||
# Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file. See the AUTHORS file for names of contributors.
|
||||
|
||||
#-----------------------------------------------
|
||||
# Uncomment exactly one of the lines labelled (A), (B), and (C) below
|
||||
# to switch between compilation modes.
|
||||
|
||||
OPT ?= -O2 -DNDEBUG # (A) Production use (optimized mode)
|
||||
# OPT ?= -g2 # (B) Debug mode, w/ full line-level debugging symbols
|
||||
# OPT ?= -O2 -g2 -DNDEBUG # (C) Profiling mode: opt, but w/debugging symbols
|
||||
#-----------------------------------------------
|
||||
|
||||
# detect what platform we're building on
|
||||
$(shell CC="$(CC)" CXX="$(CXX)" TARGET_OS="$(TARGET_OS)" \
|
||||
./build_detect_platform build_config.mk ./)
|
||||
# this file is generated by the previous line to set build flags and sources
|
||||
include build_config.mk
|
||||
|
||||
CFLAGS += -I. -I./include $(PLATFORM_CCFLAGS) $(OPT)
|
||||
CXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT) -std=c++14
|
||||
|
||||
LDFLAGS += $(PLATFORM_LDFLAGS)
|
||||
LIBS += $(PLATFORM_LIBS)
|
||||
|
||||
LIBOBJECTS = $(SOURCES:.cc=.o)
|
||||
MEMENVOBJECTS = $(MEMENV_SOURCES:.cc=.o)
|
||||
|
||||
TESTUTIL = ./util/testutil.o
|
||||
TESTHARNESS = ./util/testharness.o $(TESTUTIL)
|
||||
|
||||
TESTS = \
|
||||
arena_test \
|
||||
autocompact_test \
|
||||
bloom_test \
|
||||
c_test \
|
||||
cache_test \
|
||||
coding_test \
|
||||
corruption_test \
|
||||
crc32c_test \
|
||||
db_test \
|
||||
dbformat_test \
|
||||
env_test \
|
||||
filename_test \
|
||||
filter_block_test \
|
||||
issue178_test \
|
||||
log_test \
|
||||
memenv_test \
|
||||
skiplist_test \
|
||||
table_test \
|
||||
version_edit_test \
|
||||
version_set_test \
|
||||
write_batch_test
|
||||
|
||||
PROGRAMS = db_bench leveldbutil $(TESTS)
|
||||
BENCHMARKS = db_bench_sqlite3 db_bench_tree_db
|
||||
|
||||
LIBRARY = libleveldb.a
|
||||
MEMENVLIBRARY = libmemenv.a
|
||||
|
||||
default: all
|
||||
|
||||
# Should we build shared libraries?
|
||||
ifneq ($(PLATFORM_SHARED_EXT),)
|
||||
|
||||
ifneq ($(PLATFORM_SHARED_VERSIONED),true)
|
||||
SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
|
||||
SHARED2 = $(SHARED1)
|
||||
SHARED3 = $(SHARED1)
|
||||
SHARED = $(SHARED1)
|
||||
else
|
||||
# Update db.h if you change these.
|
||||
SHARED_MAJOR = 1
|
||||
SHARED_MINOR = 13
|
||||
SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
|
||||
SHARED2 = $(SHARED1).$(SHARED_MAJOR)
|
||||
SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR)
|
||||
SHARED = $(SHARED1) $(SHARED2) $(SHARED3)
|
||||
$(SHARED1): $(SHARED3)
|
||||
ln -fs $(SHARED3) $(SHARED1)
|
||||
$(SHARED2): $(SHARED3)
|
||||
ln -fs $(SHARED3) $(SHARED2)
|
||||
endif
|
||||
|
||||
$(SHARED3):
|
||||
$(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SOURCES) -o $(SHARED3) $(LIBS)
|
||||
|
||||
endif # PLATFORM_SHARED_EXT
|
||||
|
||||
all: $(SHARED) $(LIBRARY)
|
||||
|
||||
check: all $(PROGRAMS) $(TESTS)
|
||||
for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
|
||||
|
||||
clean:
|
||||
-rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(SHARED) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
|
||||
-rm -rf ios-x86/* ios-arm/*
|
||||
|
||||
$(LIBRARY): $(LIBOBJECTS)
|
||||
rm -f $@
|
||||
$(AR) -rs $@ $(LIBOBJECTS)
|
||||
|
||||
db_bench: db/db_bench.o $(LIBOBJECTS) $(TESTUTIL)
|
||||
$(CXX) $(LDFLAGS) db/db_bench.o $(LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS)
|
||||
|
||||
db_bench_sqlite3: doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL)
|
||||
$(CXX) $(LDFLAGS) doc/bench/db_bench_sqlite3.o $(LIBOBJECTS) $(TESTUTIL) -o $@ -lsqlite3 $(LIBS)
|
||||
|
||||
db_bench_tree_db: doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL)
|
||||
$(CXX) $(LDFLAGS) doc/bench/db_bench_tree_db.o $(LIBOBJECTS) $(TESTUTIL) -o $@ -lkyotocabinet $(LIBS)
|
||||
|
||||
leveldbutil: db/leveldb_main.o $(LIBOBJECTS)
|
||||
$(CXX) $(LDFLAGS) db/leveldb_main.o $(LIBOBJECTS) -o $@ $(LIBS)
|
||||
|
||||
arena_test: util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/arena_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
autocompact_test: db/autocompact_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/autocompact_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
bloom_test: util/bloom_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/bloom_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
c_test: db/c_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
cache_test: util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/cache_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
coding_test: util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/coding_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
corruption_test: db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/corruption_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
crc32c_test: util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/crc32c_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
db_test: db/db_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/db_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
dbformat_test: db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
env_test: util/env_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
filename_test: db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
filter_block_test: table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) table/filter_block_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
issue178_test: issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) issues/issue178_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
log_test: db/log_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/log_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
table_test: table/table_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) table/table_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
skiplist_test: db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/skiplist_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
version_edit_test: db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/version_edit_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
version_set_test: db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/version_set_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
write_batch_test: db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) db/write_batch_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
$(MEMENVLIBRARY) : $(MEMENVOBJECTS)
|
||||
rm -f $@
|
||||
$(AR) -rs $@ $(MEMENVOBJECTS)
|
||||
|
||||
memenv_test : helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS)
|
||||
$(CXX) $(LDFLAGS) helpers/memenv/memenv_test.o $(MEMENVLIBRARY) $(LIBRARY) $(TESTHARNESS) -o $@ $(LIBS)
|
||||
|
||||
ifeq ($(PLATFORM), IOS)
|
||||
# For iOS, create universal object files to be used on both the simulator and
|
||||
# a device.
|
||||
PLATFORMSROOT=/Applications/Xcode.app/Contents/Developer/Platforms
|
||||
SIMULATORROOT=$(PLATFORMSROOT)/iPhoneSimulator.platform/Developer
|
||||
DEVICEROOT=$(PLATFORMSROOT)/iPhoneOS.platform/Developer
|
||||
IOSVERSION=$(shell defaults read $(PLATFORMSROOT)/iPhoneOS.platform/version CFBundleShortVersionString)
|
||||
|
||||
.cc.o:
|
||||
mkdir -p ios-x86/$(dir $@)
|
||||
$(CXX) $(CXXFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -c $< -o ios-x86/$@
|
||||
mkdir -p ios-arm/$(dir $@)
|
||||
$(DEVICEROOT)/usr/bin/$(CXX) $(CXXFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
|
||||
lipo ios-x86/$@ ios-arm/$@ -create -output $@
|
||||
|
||||
.c.o:
|
||||
mkdir -p ios-x86/$(dir $@)
|
||||
$(CC) $(CFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -c $< -o ios-x86/$@
|
||||
mkdir -p ios-arm/$(dir $@)
|
||||
$(DEVICEROOT)/usr/bin/$(CC) $(CFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
|
||||
lipo ios-x86/$@ ios-arm/$@ -create -output $@
|
||||
|
||||
else
|
||||
.cc.o:
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
endif
|
||||
2
src/leveldb/build_detect_platform
Normal file → Executable file
2
src/leveldb/build_detect_platform
Normal file → Executable file
@@ -139,7 +139,7 @@ case "$TARGET_OS" in
|
||||
;;
|
||||
OS_WINDOWS_CROSSCOMPILE | NATIVE_WINDOWS)
|
||||
PLATFORM=OS_WINDOWS
|
||||
COMMON_FLAGS="-fno-builtin-memcmp -D_REENTRANT -DOS_WINDOWS -DLEVELDB_PLATFORM_WINDOWS -DWINVER=0x0500 -D__USE_MINGW_ANSI_STDIO=1"
|
||||
COMMON_FLAGS="-fno-builtin-memcmp -D_REENTRANT -DOS_WINDOWS -DLEVELDB_PLATFORM_WINDOWS -DWINVER=0x0600 -D__USE_MINGW_ANSI_STDIO=1"
|
||||
PLATFORM_SOURCES="util/env_win.cc"
|
||||
PLATFORM_LIBS="-lshlwapi"
|
||||
PORT_FILE=port/port_win.cc
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
||||
|
||||
#ifndef STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_
|
||||
#define STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_
|
||||
#ifndef STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H__STDC_LIMIT_MACROS
|
||||
#define STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H__STDC_LIMIT_MACROS
|
||||
|
||||
namespace leveldb {
|
||||
|
||||
|
||||
235
src/main.cpp
235
src/main.cpp
@@ -66,7 +66,7 @@ map<uint256, set<uint256> > mapOrphanTransactionsByPrev;
|
||||
// Constant stuff for coinbase transactions we create:
|
||||
CScript COINBASE_FLAGS;
|
||||
|
||||
const string strMessageMagic = "CasinoCoin Signed Message:\n";
|
||||
const string strMessageMagic = COIN_NAME_DISPLAY + " Signed Message:\n";
|
||||
|
||||
double dHashesPerSec = 0.0;
|
||||
int64 nHPSTimerStart = 0;
|
||||
@@ -309,7 +309,7 @@ bool AddOrphanTx(const CTransaction& tx)
|
||||
BOOST_FOREACH(const CTxIn& txin, tx.vin)
|
||||
mapOrphanTransactionsByPrev[txin.prevout.hash].insert(hash);
|
||||
|
||||
printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().c_str(),
|
||||
printf("stored orphan tx %s (mapsz %" PRIszu ")\n", hash.ToString().c_str(),
|
||||
mapOrphanTransactions.size());
|
||||
return true;
|
||||
}
|
||||
@@ -755,7 +755,7 @@ bool CTxMemPool::accept(CValidationState &state, CTransaction &tx, bool fCheckIn
|
||||
// Don't accept it if it can't get into a block
|
||||
int64 txMinFee = tx.GetMinFee(1000, true, GMF_RELAY);
|
||||
if (fLimitFree && nFees < txMinFee)
|
||||
return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d,
|
||||
return error("CTxMemPool::accept() : not enough fees %s, %" PRI64d " < %" PRI64d,
|
||||
hash.ToString().c_str(),
|
||||
nFees, txMinFee);
|
||||
|
||||
@@ -1108,12 +1108,69 @@ int64 static GetBlockValue(int nHeight, int64 nFees)
|
||||
nSubsidy = 45 * COIN;
|
||||
}
|
||||
|
||||
// Subsidy is cut in half every 3153600 blocks, which will occur approximately every 3 years
|
||||
nSubsidy >>= (nHeight / 3153600);
|
||||
|
||||
// Permantently reduce the number of mined coins to 10 after block 575000
|
||||
// Permantently reduce the number of minded coins to 1 after block 1575000
|
||||
// coin supply at that height = 38577206
|
||||
// Blocks until max coin supply -> 63000000 - 38577206 = 24422794
|
||||
// New height for reduction to 0 coins -> 1575000 + 24422794 = 25997794
|
||||
if(nHeight > 575000){
|
||||
if(nHeight < 1575000)
|
||||
{
|
||||
nSubsidy = 10 * COIN;
|
||||
}
|
||||
else if(nHeight >= 1575000 && nHeight <= 25997794){
|
||||
nSubsidy = 1 * COIN;
|
||||
}
|
||||
else
|
||||
{
|
||||
nSubsidy = 0 * COIN;
|
||||
}
|
||||
}
|
||||
// return subsidy + fees
|
||||
return nSubsidy + nFees;
|
||||
}
|
||||
|
||||
int64 GetTotalCoinSupply(int nHeight, bool noCheckpoints)
|
||||
{
|
||||
int64 totalSupply = 0;
|
||||
int startBlock = 1;
|
||||
if ( !noCheckpoints ) {
|
||||
// Reduce the amount of calculations by specifying total checkpoints
|
||||
int heights[] = {
|
||||
100000, 200000, 300000, 400000, 500000,
|
||||
600000, 700000, 800000, 900000, 1000000,
|
||||
1100000, 1200000, 1300000, 1400000, 1500000
|
||||
};
|
||||
int64 supplies[] = {
|
||||
482721500000000, 982721500000000, 1482721500000000, 1982721500000000, 2482721500000000,
|
||||
2882721500000000, 2982721500000000, 3082721500000000, 3182721500000000, 3282721500000000,
|
||||
3382721500000000, 3482721500000000, 3582721500000000, 3682721500000000, 3782721500000000
|
||||
};
|
||||
if (nHeight>=1 ) {
|
||||
int numHeights = (int)(sizeof(heights)/sizeof(heights[0]));
|
||||
// int numSupplies = (int)(sizeof(supplies)/sizeof(supplies[0]));
|
||||
// if (nHeight>heights[numHeights-1]) {
|
||||
// nHeight = heights[numHeights-1];
|
||||
// }
|
||||
for (int i=(numHeights-1); i>=0; i--) {
|
||||
if ( heights[i] <= nHeight ) {
|
||||
if (i>=0) {
|
||||
totalSupply = supplies[i];
|
||||
startBlock = heights[i] + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( nHeight>=1 ) {
|
||||
for (int i = startBlock; i <= nHeight; i++) {
|
||||
totalSupply += GetBlockValue( i, 0 );
|
||||
}
|
||||
}
|
||||
return totalSupply;
|
||||
}
|
||||
|
||||
static const int64 nTargetTimespan = 0.25 * 24 * 60 * 60; // CasinoCoin: 0.25 day / 6 hours
|
||||
static const int64 nTargetSpacing = 1 * 30; // CasinoCoin: 30 seconds
|
||||
static const int64 nInterval = nTargetTimespan / nTargetSpacing;
|
||||
@@ -1188,7 +1245,7 @@ unsigned int static GetNextWorkRequired_V1(const CBlockIndex* pindexLast, const
|
||||
|
||||
// Limit adjustment step
|
||||
int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
|
||||
printf(" nActualTimespan = %"PRI64d" before bounds\n", nActualTimespan);
|
||||
printf(" nActualTimespan = %" PRI64d " before bounds\n", nActualTimespan);
|
||||
if (nActualTimespan < nTargetTimespan/4)
|
||||
nActualTimespan = nTargetTimespan/4;
|
||||
if (nActualTimespan > nTargetTimespan*4)
|
||||
@@ -1205,7 +1262,7 @@ unsigned int static GetNextWorkRequired_V1(const CBlockIndex* pindexLast, const
|
||||
|
||||
/// debug print
|
||||
printf("Difficulty Retarget - GetNextWorkRequired_V1 RETARGET\n");
|
||||
printf("nTargetTimespan = %"PRI64d" nActualTimespan = %"PRI64d"\n", nTargetTimespan, nActualTimespan);
|
||||
printf("nTargetTimespan = %" PRI64d " nActualTimespan = %" PRI64d "\n", nTargetTimespan, nActualTimespan);
|
||||
printf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString().c_str());
|
||||
printf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString().c_str());
|
||||
|
||||
@@ -1215,6 +1272,9 @@ unsigned int static GetNextWorkRequired_V1(const CBlockIndex* pindexLast, const
|
||||
unsigned int static KimotoGravityWell(const CBlockIndex* pindexLast, const CBlockHeader *pblock, uint64 TargetBlocksSpacingSeconds, uint64 PastBlocksMin, uint64 PastBlocksMax)
|
||||
{
|
||||
/* Kimoto Gravity Well implementation - credit to Dr Kimoto Chan of Megacoin */
|
||||
//
|
||||
// DigiShield comes in at block 445000
|
||||
//
|
||||
const CBlockIndex *BlockLastSolved = pindexLast;
|
||||
const CBlockIndex *BlockReading = pindexLast;
|
||||
const CBlockHeader *BlockCreating = pblock;
|
||||
@@ -1289,21 +1349,99 @@ unsigned int static GetNextWorkRequired_V2(const CBlockIndex* pindexLast, const
|
||||
return KimotoGravityWell(pindexLast, pblock, BlocksTargetSpacing, PastBlocksMin, PastBlocksMax);
|
||||
}
|
||||
|
||||
unsigned int static DigiShield(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
|
||||
{
|
||||
// DigiShield difficulty retarget system
|
||||
// Credits to DigiByte developers
|
||||
unsigned int nProofOfWorkLimit = bnProofOfWorkLimit.GetCompact();
|
||||
|
||||
int blockstogoback = 0;
|
||||
|
||||
//set default to pre-v2.0 values
|
||||
int64 retargetTimespan = nTargetSpacing; //Make sure we retarget every block
|
||||
int64 retargetSpacing = nTargetSpacing;
|
||||
int64 retargetInterval = retargetTimespan / retargetSpacing;
|
||||
// Genesis block
|
||||
if (pindexLast == NULL) return nProofOfWorkLimit;
|
||||
|
||||
// Only change once per interval
|
||||
if ((pindexLast->nHeight+1) % retargetInterval != 0){
|
||||
// Special difficulty rule for testnet:
|
||||
if (fTestNet){
|
||||
// If the new block's timestamp is more than 2* 10 minutes
|
||||
// then allow mining of a min-difficulty block.
|
||||
if (pblock->nTime > pindexLast->nTime + retargetSpacing*2)
|
||||
return nProofOfWorkLimit;
|
||||
else {
|
||||
// Return the last non-special-min-difficulty-rules-block
|
||||
const CBlockIndex* pindex = pindexLast;
|
||||
while (pindex->pprev && pindex->nHeight % retargetInterval != 0 && pindex->nBits == nProofOfWorkLimit)
|
||||
pindex = pindex->pprev;
|
||||
return pindex->nBits;
|
||||
}
|
||||
}
|
||||
return pindexLast->nBits;
|
||||
}
|
||||
|
||||
// DigiByte: This fixes an issue where a 51% attack can change difficulty at will.
|
||||
// Go back the full period unless it's the first retarget after genesis. Code courtesy of Art Forz
|
||||
blockstogoback = retargetInterval-1;
|
||||
if ((pindexLast->nHeight+1) != retargetInterval) blockstogoback = retargetInterval;
|
||||
|
||||
// Go back by what we want to be 14 days worth of blocks
|
||||
const CBlockIndex* pindexFirst = pindexLast;
|
||||
for (int i = 0; pindexFirst && i < blockstogoback; i++)
|
||||
pindexFirst = pindexFirst->pprev;
|
||||
assert(pindexFirst);
|
||||
|
||||
// Limit adjustment step
|
||||
int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
|
||||
printf(" nActualTimespan = %" PRI64d " before bounds\n", nActualTimespan);
|
||||
|
||||
|
||||
|
||||
CBigNum bnNew;
|
||||
bnNew.SetCompact(pindexLast->nBits);
|
||||
|
||||
if (nActualTimespan < (retargetTimespan - (retargetTimespan/4)) ) nActualTimespan = (retargetTimespan - (retargetTimespan/4));
|
||||
if (nActualTimespan > (retargetTimespan + (retargetTimespan/2)) ) nActualTimespan = (retargetTimespan + (retargetTimespan/2));
|
||||
|
||||
// Retarget
|
||||
bnNew *= nActualTimespan;
|
||||
bnNew /= retargetTimespan;
|
||||
|
||||
/// debug print
|
||||
printf("DigiShield RETARGET \n");
|
||||
printf("retargetTimespan = %" PRI64d " nActualTimespan = %" PRI64d "\n", retargetTimespan, nActualTimespan);
|
||||
printf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString().c_str());
|
||||
printf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString().c_str());
|
||||
|
||||
|
||||
if (bnNew > bnProofOfWorkLimit)
|
||||
bnNew = bnProofOfWorkLimit;
|
||||
|
||||
|
||||
|
||||
return bnNew.GetCompact();
|
||||
}
|
||||
|
||||
unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
|
||||
{
|
||||
int DiffMode = 1;
|
||||
if (fTestNet)
|
||||
{
|
||||
if (pindexLast->nHeight+1 >= 100) { DiffMode = 2; }
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pindexLast->nHeight+1 >= 227000) { DiffMode = 2; }
|
||||
}
|
||||
int DiffMode = 1;
|
||||
if (fTestNet)
|
||||
{
|
||||
if (pindexLast->nHeight+1 >= 100) { DiffMode = 2; }
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pindexLast->nHeight+1 >= 227000 && pindexLast->nHeight+1 < 445000) { DiffMode = 2; }
|
||||
else if (pindexLast->nHeight+1 >= 445000) { DiffMode = 3; }
|
||||
}
|
||||
|
||||
if (DiffMode == 1) { return GetNextWorkRequired_V1(pindexLast, pblock); }
|
||||
else if (DiffMode == 2) { return GetNextWorkRequired_V2(pindexLast, pblock); }
|
||||
return GetNextWorkRequired_V2(pindexLast, pblock);
|
||||
if (DiffMode == 1) { return GetNextWorkRequired_V1(pindexLast, pblock); }
|
||||
else if (DiffMode == 2) { return GetNextWorkRequired_V2(pindexLast, pblock); }
|
||||
else if (DiffMode == 3) { return DigiShield(pindexLast, pblock); }
|
||||
return DigiShield(pindexLast, pblock);
|
||||
}
|
||||
|
||||
bool CheckProofOfWork(uint256 hash, unsigned int nBits)
|
||||
@@ -1832,7 +1970,7 @@ bool CBlock::ConnectBlock(CValidationState &state, CBlockIndex* pindex, CCoinsVi
|
||||
printf("- Connect %u transactions: %.2fms (%.3fms/tx, %.3fms/txin)\n", (unsigned)vtx.size(), 0.001 * nTime, 0.001 * nTime / vtx.size(), nInputs <= 1 ? 0 : 0.001 * nTime / (nInputs-1));
|
||||
|
||||
if (vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees))
|
||||
return state.DoS(100, error("ConnectBlock() : coinbase pays too much (actual=%"PRI64d" vs limit=%"PRI64d")", vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)));
|
||||
return state.DoS(100, error("ConnectBlock() : coinbase pays too much (actual=%" PRI64d " vs limit=%" PRI64d ")", vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)));
|
||||
|
||||
if (!control.Wait())
|
||||
return state.DoS(100, false);
|
||||
@@ -1912,8 +2050,8 @@ bool SetBestChain(CValidationState &state, CBlockIndex* pindexNew)
|
||||
reverse(vConnect.begin(), vConnect.end());
|
||||
|
||||
if (vDisconnect.size() > 0) {
|
||||
printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..\n", vDisconnect.size(), pfork->GetBlockHash().ToString().c_str());
|
||||
printf("REORGANIZE: Connect %"PRIszu" blocks; ..%s\n", vConnect.size(), pindexNew->GetBlockHash().ToString().c_str());
|
||||
printf("REORGANIZE: Disconnect %" PRIszu " blocks; %s..\n", vDisconnect.size(), pfork->GetBlockHash().ToString().c_str());
|
||||
printf("REORGANIZE: Connect %" PRIszu " blocks; ..%s\n", vConnect.size(), pindexNew->GetBlockHash().ToString().c_str());
|
||||
}
|
||||
|
||||
// Disconnect shorter branch
|
||||
@@ -3021,7 +3159,7 @@ void PrintBlockTree()
|
||||
// print item
|
||||
CBlock block;
|
||||
block.ReadFromDisk(pindex);
|
||||
printf("%d (blk%05u.dat:0x%x) %s tx %"PRIszu"",
|
||||
printf("%d (blk%05u.dat:0x%x) %s tx %" PRIszu "",
|
||||
pindex->nHeight,
|
||||
pindex->GetBlockPos().nFile, pindex->GetBlockPos().nPos,
|
||||
DateTimeStrFormat("%Y-%m-%d %H:%M:%S", block.GetBlockTime()).c_str(),
|
||||
@@ -3114,7 +3252,7 @@ bool LoadExternalBlockFile(FILE* fileIn, CDiskBlockPos *dbp)
|
||||
AbortNode(_("Error: system error: ") + e.what());
|
||||
}
|
||||
if (nLoaded > 0)
|
||||
printf("Loaded %i blocks from external file in %"PRI64d"ms\n", nLoaded, GetTimeMillis() - nStart);
|
||||
printf("Loaded %i blocks from external file in %" PRI64d "ms\n", nLoaded, GetTimeMillis() - nStart);
|
||||
return nLoaded > 0;
|
||||
}
|
||||
|
||||
@@ -3362,21 +3500,37 @@ void static ProcessGetData(CNode* pfrom)
|
||||
}
|
||||
}
|
||||
|
||||
bool static CheckValidClientVersion(int clientVersion)
|
||||
{
|
||||
// From block 1575000 onwards version must be 80001 (MIN_PEER_PROTO_VERSION)
|
||||
// Before that version was 70004
|
||||
if(pindexBest->nHeight >= 1575000)
|
||||
{
|
||||
if(clientVersion < MIN_PEER_PROTO_VERSION)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(clientVersion < 70004)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
{
|
||||
RandAddSeedPerfmon();
|
||||
if (fDebug)
|
||||
printf("received: %s (%"PRIszu" bytes)\n", strCommand.c_str(), vRecv.size());
|
||||
printf("received: %s (%" PRIszu " bytes)\n", strCommand.c_str(), vRecv.size());
|
||||
if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0)
|
||||
{
|
||||
printf("dropmessagestest DROPPING RECV MESSAGE\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (strCommand == "version")
|
||||
{
|
||||
// Each connection can only send one version message
|
||||
@@ -3391,7 +3545,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
CAddress addrFrom;
|
||||
uint64 nNonce = 1;
|
||||
vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe;
|
||||
if (pfrom->nVersion < MIN_PEER_PROTO_VERSION)
|
||||
// Check version related to blockheight
|
||||
if(!CheckValidClientVersion(pfrom->nVersion))
|
||||
{
|
||||
// disconnect from peers older than this proto version
|
||||
printf("partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion);
|
||||
@@ -3505,7 +3660,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
if (vAddr.size() > 1000)
|
||||
{
|
||||
pfrom->Misbehaving(20);
|
||||
return error("message addr size() = %"PRIszu"", vAddr.size());
|
||||
return error("message addr size() = %" PRIszu "", vAddr.size());
|
||||
}
|
||||
|
||||
// Store the new addresses
|
||||
@@ -3568,7 +3723,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
if (vInv.size() > MAX_INV_SZ)
|
||||
{
|
||||
pfrom->Misbehaving(20);
|
||||
return error("message inv size() = %"PRIszu"", vInv.size());
|
||||
return error("message inv size() = %" PRIszu "", vInv.size());
|
||||
}
|
||||
|
||||
// find last block in inv vector
|
||||
@@ -3617,11 +3772,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
if (vInv.size() > MAX_INV_SZ)
|
||||
{
|
||||
pfrom->Misbehaving(20);
|
||||
return error("message getdata size() = %"PRIszu"", vInv.size());
|
||||
return error("message getdata size() = %" PRIszu "", vInv.size());
|
||||
}
|
||||
|
||||
if (fDebugNet || (vInv.size() != 1))
|
||||
printf("received getdata (%"PRIszu" invsz)\n", vInv.size());
|
||||
printf("received getdata (%" PRIszu " invsz)\n", vInv.size());
|
||||
|
||||
if ((fDebugNet && vInv.size() > 0) || (vInv.size() == 1))
|
||||
printf("received getdata for: %s\n", vInv[0].ToString().c_str());
|
||||
@@ -3722,7 +3877,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
vWorkQueue.push_back(inv.hash);
|
||||
vEraseQueue.push_back(inv.hash);
|
||||
|
||||
printf("AcceptToMemoryPool: %s %s : accepted %s (poolsz %"PRIszu")\n",
|
||||
printf("AcceptToMemoryPool: %s %s : accepted %s (poolsz %" PRIszu ")\n",
|
||||
pfrom->addr.ToString().c_str(), pfrom->cleanSubVer.c_str(),
|
||||
tx.GetHash().ToString().c_str(),
|
||||
mempool.mapTx.size());
|
||||
@@ -4360,7 +4515,7 @@ public:
|
||||
CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn)
|
||||
{
|
||||
// Create new block
|
||||
auto_ptr<CBlockTemplate> pblocktemplate(new CBlockTemplate());
|
||||
std::unique_ptr<CBlockTemplate> pblocktemplate(new CBlockTemplate());
|
||||
if(!pblocktemplate.get())
|
||||
return NULL;
|
||||
CBlock *pblock = &pblocktemplate->block; // pointer for convenience
|
||||
@@ -4571,7 +4726,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn)
|
||||
|
||||
nLastBlockTx = nBlockTx;
|
||||
nLastBlockSize = nBlockSize;
|
||||
printf("CreateNewBlock(): total size %"PRI64u"\n", nBlockSize);
|
||||
printf("CreateNewBlock(): total size %" PRI64u "\n", nBlockSize);
|
||||
|
||||
pblock->vtx[0].vout[0].nValue = GetBlockValue(pindexPrev->nHeight+1, nFees);
|
||||
pblocktemplate->vTxFees[0] = -nFees;
|
||||
@@ -4728,13 +4883,13 @@ void static CasinoCoinMiner(CWallet *pwallet)
|
||||
unsigned int nTransactionsUpdatedLast = nTransactionsUpdated;
|
||||
CBlockIndex* pindexPrev = pindexBest;
|
||||
|
||||
auto_ptr<CBlockTemplate> pblocktemplate(CreateNewBlockWithKey(reservekey));
|
||||
std::unique_ptr<CBlockTemplate> pblocktemplate(CreateNewBlockWithKey(reservekey));
|
||||
if (!pblocktemplate.get())
|
||||
return;
|
||||
CBlock *pblock = &pblocktemplate->block;
|
||||
IncrementExtraNonce(pblock, pindexPrev, nExtraNonce);
|
||||
|
||||
printf("Running CasinoCoinMiner with %"PRIszu" transactions in block (%u bytes)\n", pblock->vtx.size(),
|
||||
printf("Running CasinoCoinMiner with %" PRIszu " transactions in block (%u bytes)\n", pblock->vtx.size(),
|
||||
::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION));
|
||||
|
||||
//
|
||||
|
||||
16
src/main.h
16
src/main.h
@@ -54,7 +54,7 @@ static const int64 DUST_SOFT_LIMIT = 100000; // 0.001 CSC
|
||||
/** Dust Hard Limit, ignored as wallet inputs (mininput default) */
|
||||
static const int64 DUST_HARD_LIMIT = 1000; // 0.00001 CSC mininput
|
||||
/** No amount larger than this (in satoshi) is valid */
|
||||
static const int64 MAX_MONEY = 336000000 * COIN;
|
||||
static const int64 MAX_MONEY = 63000000 * COIN;
|
||||
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
|
||||
/** Coinbase transaction outputs can only be spent after this number of new blocks (network rule) */
|
||||
static const int COINBASE_MATURITY = 8;
|
||||
@@ -191,12 +191,8 @@ CBlockIndex * InsertBlockIndex(uint256 hash);
|
||||
bool VerifySignature(const CCoins& txFrom, const CTransaction& txTo, unsigned int nIn, unsigned int flags, int nHashType);
|
||||
/** Abort with a message */
|
||||
bool AbortNode(const std::string &msg);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** Get total coin supply for block height */
|
||||
int64 GetTotalCoinSupply(int nHeight, bool noCheckpoints);
|
||||
|
||||
|
||||
|
||||
@@ -452,7 +448,7 @@ public:
|
||||
{
|
||||
if (scriptPubKey.size() < 6)
|
||||
return "CTxOut(error)";
|
||||
return strprintf("CTxOut(nValue=%"PRI64d".%08"PRI64d", scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30).c_str());
|
||||
return strprintf("CTxOut(nValue=%" PRI64d ".%08" PRI64d ", scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30).c_str());
|
||||
}
|
||||
|
||||
void print() const
|
||||
@@ -648,7 +644,7 @@ void UpdateCoins(const CTransaction& tx, CValidationState &state, CCoinsViewCach
|
||||
std::string ToString() const
|
||||
{
|
||||
std::string str;
|
||||
str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%u)\n",
|
||||
str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%" PRIszu ", vout.size=%" PRIszu ", nLockTime=%u)\n",
|
||||
GetHash().ToString().c_str(),
|
||||
nVersion,
|
||||
vin.size(),
|
||||
@@ -1492,7 +1488,7 @@ public:
|
||||
|
||||
void print() const
|
||||
{
|
||||
printf("CBlock(hash=%s, input=%s, PoW=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu")\n",
|
||||
printf("CBlock(hash=%s, input=%s, PoW=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%" PRIszu ")\n",
|
||||
GetHash().ToString().c_str(),
|
||||
HexStr(BEGIN(nVersion),BEGIN(nVersion)+80,false).c_str(),
|
||||
GetPoWHash().ToString().c_str(),
|
||||
|
||||
@@ -2,37 +2,47 @@
|
||||
# Distributed under the MIT/X11 software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
DEPSDIR:=/usr/i686-w64-mingw32
|
||||
DEPSDIR:=/home/ubuntu/deps/windows
|
||||
BINPATH=/home/ubuntu/mxe/usr/bin
|
||||
PREFIX=i686-w64-mingw32.static
|
||||
BASEDIR=/home/ubuntu/mxe/usr/$(PREFIX)
|
||||
|
||||
CC := i686-w64-mingw32-gcc
|
||||
CXX := i686-w64-mingw32-g++
|
||||
CC=$(BINPATH)/$(PREFIX)-gcc
|
||||
CXX=$(BINPATH)/$(PREFIX)-g++
|
||||
CPP=$(BINPATH)/$(PREFIX)-cpp
|
||||
RANLIB=$(BINPATH)/$(PREFIX)-ranlib
|
||||
|
||||
USE_UPNP:=0
|
||||
USE_IPV6:=1
|
||||
|
||||
INCLUDEPATHS= \
|
||||
-I"$(CURDIR)" \
|
||||
-I"$(CURDIR)"/obj \
|
||||
-I"$(DEPSDIR)/include" \
|
||||
-I"$(DEPSDIR)"
|
||||
-I"$(CURDIR)/obj" \
|
||||
-I"$(DEPSDIR)" \
|
||||
-I"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
|
||||
-I"$(DEPSDIR)/openssl-1.0.1h/include" \
|
||||
-I"$(BASEDIR)/include"
|
||||
|
||||
LIBPATHS= \
|
||||
-L"$(DEPSDIR)/lib"
|
||||
-L"$(DEPSDIR)/miniupnpc" \
|
||||
-L"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
|
||||
-L"$(DEPSDIR)/openssl-1.0.1h" \
|
||||
-L"$(BASEDIR)/lib"
|
||||
|
||||
LIBS= \
|
||||
$(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a \
|
||||
-l boost_system-mt-s \
|
||||
-l boost_filesystem-mt-s \
|
||||
-l boost_program_options-mt-s \
|
||||
-l boost_thread_win32-mt-s \
|
||||
-l boost_chrono-mt-s \
|
||||
-l boost_system-mt \
|
||||
-l boost_filesystem-mt \
|
||||
-l boost_program_options-mt \
|
||||
-l boost_thread_win32-mt \
|
||||
-l boost_chrono-mt \
|
||||
-l db_cxx \
|
||||
-l ssl \
|
||||
-l crypto
|
||||
|
||||
DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
|
||||
DEBUGFLAGS=-g
|
||||
xCXXFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) $(CXXFLAGS)
|
||||
xCXXFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-strict-aliasing $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) $(CXXFLAGS)
|
||||
# enable: ASLR, DEP and large address aware
|
||||
xLDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static-libgcc -static-libstdc++ $(LDFLAGS)
|
||||
|
||||
@@ -101,7 +111,7 @@ all: casinocoind.exe
|
||||
DEFS += -I"$(CURDIR)/leveldb/include"
|
||||
DEFS += -I"$(CURDIR)/leveldb/helpers"
|
||||
leveldb/libleveldb.a:
|
||||
@echo "Building LevelDB ..." && cd leveldb && TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a libmemenv.a && i686-w64-mingw32-ranlib libleveldb.a && i686-w64-mingw32-ranlib libmemenv.a && cd ..
|
||||
@echo "Building LevelDB ..." && cd leveldb && TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a libmemenv.a && $(RANLIB) libleveldb.a && $(RANLIB) libmemenv.a && cd ..
|
||||
|
||||
obj/build.h: FORCE
|
||||
/bin/sh ../share/genbuild.sh obj/build.h
|
||||
|
||||
@@ -4,11 +4,6 @@
|
||||
|
||||
# Makefile for the MinGW g++ compiler/toolchain
|
||||
#
|
||||
# Assumes Berkeley DB, Boost, and OpenSSL have all been compiled and installed
|
||||
# into /usr/local (/usr/local/include, /usr/local/lib).
|
||||
#
|
||||
# If dependencies are somewhere else, run 'make DEPSDIR=/path/'
|
||||
#
|
||||
# Boost libraries are given wacky names that include the particular version of
|
||||
# boost you're using; set BOOST_SUFFIX appropriately.
|
||||
#
|
||||
@@ -20,38 +15,37 @@ CXX ?= g++
|
||||
USE_UPNP:=-
|
||||
USE_IPV6:=1
|
||||
|
||||
DEPSDIR?=/usr/local
|
||||
BOOST_SUFFIX?=-mgw46-mt-s-1_53
|
||||
BOOST_SUFFIX?=-mt
|
||||
|
||||
INCLUDEPATHS= \
|
||||
-I"$(CURDIR)" \
|
||||
-I"E:\crypto\deps\boost_1_53_0" \
|
||||
-I"E:\crypto\deps\db-4.8.30.NC\build_unix" \
|
||||
-I"E:\crypto\deps\openssl-1.0.1b\include" \
|
||||
-I"E:\crypto\deps\qrencode-3.4.3"
|
||||
-I"C:/msys64/usr/src/deps32/boost_1_60_0" \
|
||||
-I"C:/msys64/usr/src/deps32/db-4.8.30.NC/build_unix" \
|
||||
-I"C:/msys64/usr/src/deps32/openssl-1.0.2g/include" \
|
||||
-I"C:/msys64/usr/src/deps32/qrencode-3.4.4"
|
||||
|
||||
LIBPATHS= \
|
||||
-L"$(CURDIR)/leveldb" \
|
||||
-L"E:\crypto\deps\boost_1_53_0\stage\lib" \
|
||||
-L"E:\crypto\deps\db-4.8.30.NC\build_unix" \
|
||||
-L"E:\crypto\deps\openssl-1.0.1b" \
|
||||
-L"E:\crypto\deps\qrencode-3.4.3\.libs"
|
||||
-L"C:/msys64/usr/src/deps32/boost_1_60_0/stage/lib" \
|
||||
-L"C:/msys64/usr/src/deps32/db-4.8.30.NC/build_unix" \
|
||||
-L"C:/msys64/usr/src/deps32/openssl-1.0.2g" \
|
||||
-L"C:/msys64/usr/src/deps32/qrencode-3.4.4/.libs"
|
||||
|
||||
LIBS= \
|
||||
-l leveldb \
|
||||
-l memenv \
|
||||
-l boost_system$(BOOST_SUFFIX) \
|
||||
-l boost_filesystem$(BOOST_SUFFIX) \
|
||||
-l boost_program_options$(BOOST_SUFFIX) \
|
||||
-l boost_thread$(BOOST_SUFFIX) \
|
||||
-l boost_chrono$(BOOST_SUFFIX) \
|
||||
-l db_cxx \
|
||||
-l ssl \
|
||||
-l crypto
|
||||
-lleveldb \
|
||||
-lmemenv \
|
||||
-lboost_system$(BOOST_SUFFIX) \
|
||||
-lboost_filesystem$(BOOST_SUFFIX) \
|
||||
-lboost_program_options$(BOOST_SUFFIX) \
|
||||
-lboost_thread$(BOOST_SUFFIX) \
|
||||
-lboost_chrono$(BOOST_SUFFIX) \
|
||||
-ldb_cxx \
|
||||
-lssl \
|
||||
-lcrypto
|
||||
|
||||
DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV6 -D__NO_SYSTEM_INCLUDES
|
||||
DEBUGFLAGS=-g
|
||||
CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) -static
|
||||
CFLAGS=-mthreads -O2 -std=c++11 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) -static
|
||||
# enable: ASLR, DEP and large address aware
|
||||
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static
|
||||
|
||||
@@ -69,7 +63,7 @@ ifneq (${USE_IPV6}, -)
|
||||
DEFS += -DUSE_IPV6=$(USE_IPV6)
|
||||
endif
|
||||
|
||||
LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi -l pthread
|
||||
LIBS += -lmingwthrd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lws2_32 -lmswsock -lshlwapi -lpthread
|
||||
|
||||
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
|
||||
HEADERS = $(wildcard *.h)
|
||||
|
||||
@@ -5,18 +5,36 @@
|
||||
# :=0 --> UPnP support turned off by default at runtime
|
||||
# :=1 --> UPnP support turned on by default at runtime
|
||||
# :=- --> No UPnP support - miniupnp not required
|
||||
USE_UPNP:=0
|
||||
USE_UPNP:=-
|
||||
|
||||
# :=1 --> Enable IPv6 support
|
||||
# :=0 --> Disable IPv6 support
|
||||
USE_IPV6:=1
|
||||
|
||||
# :=1 --> Enable QR Code support
|
||||
# :=0 --> Disable QR Code support
|
||||
USE_QRCODE=1
|
||||
|
||||
# define libraries
|
||||
BOOST_LIB_PATH=$(HOME)/deps/boost_1_60_0/stage/lib
|
||||
BDB_LIB_PATH=$(HOME)/deps/db-5.1.29.NC/build_unix
|
||||
OPENSSL_LIB_PATH=$(HOME)/deps/openssl-1.0.2g
|
||||
MINIUPNPC_LIB_PATH=$(HOME)/deps/miniupnpc-1.9
|
||||
|
||||
# define includes
|
||||
BOOST_INCLUDE_PATH=$(HOME)/deps/boost_1_60_0
|
||||
BDB_INCLUDE_PATH=$(HOME)/deps/db-5.1.29.NC/build_unix
|
||||
OPENSSL_INCLUDE_PATH=$(HOME)/deps/openssl-1.0.2g/include
|
||||
MINIUPNPC_INCLUDE_PATH=$(HOME)/deps/miniupnpc-1.9
|
||||
|
||||
BOOST_LIB_SUFFIX=-mt
|
||||
|
||||
LINK:=$(CXX)
|
||||
|
||||
DEFS=-DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64
|
||||
|
||||
DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH))
|
||||
LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH))
|
||||
DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH) $(MINIUPNPC_INCLUDE_PATH))
|
||||
LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH) $(MINIUPNPC_LIB_PATH))
|
||||
|
||||
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
|
||||
|
||||
@@ -103,7 +121,7 @@ DEBUGFLAGS=-g
|
||||
|
||||
# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only
|
||||
# adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work.
|
||||
xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
|
||||
xCXXFLAGS=-O2 -std=c++14 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-unused-variable \
|
||||
$(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
|
||||
|
||||
# LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only
|
||||
|
||||
20
src/net.cpp
20
src/net.cpp
@@ -1192,15 +1192,23 @@ void MapPort(bool)
|
||||
// The first name is used as information source for addrman.
|
||||
// The second name should resolve to a list of seed addresses.
|
||||
static const char *strMainNetDNSSeed[][2] = {
|
||||
{"casinoco.in seed", "seed.casinoco.in"},
|
||||
{"casinoco.in seed #1", "seed1.casinoco.in"},
|
||||
{"casinoco.in seed #2", "seed2.casinoco.in"},
|
||||
{"casinoco.in seed #3", "seed3.casinoco.in"},
|
||||
{"casinocoin.org seed", "seed1.casinocoin.info"},
|
||||
{"casinocoin.org seed s", "seed.casinocoin.org"},
|
||||
{"casinocoin.org seed t", "seed.dig0.com"},
|
||||
{"casinocoin.org seed #1", "seed2.casinocoin.info"},
|
||||
{"casinocoin.org seed #1s", "seed1.casinocoin.org"},
|
||||
{"casinocoin.org seed #1t", "seed1.dig0.com"},
|
||||
{"casinocoin.org seed #2", "seed3.casinocoin.info"},
|
||||
{"casinocoin.org seed #2s", "seed2.casinocoin.org"},
|
||||
{"casinocoin.org seed #2t", "seed2.dig0.com"},
|
||||
{"casinocoin.org seed #3", "seed4.casinocoin.info"},
|
||||
{"casinocoin.org seed #3s", "seed3.casinocoin.org"},
|
||||
{"casinocoin.org seed #4", "seed5.casinocoin.info"},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static const char *strTestNetDNSSeed[][2] = {
|
||||
{"casinoco.in testnet seed #1", "testnet-seed1.casinoco.in"},
|
||||
{"casinocoin.org testnet seed #1", "testnet-seed1.casinocoin.org"},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
@@ -1258,7 +1266,7 @@ void DumpAddresses()
|
||||
CAddrDB adb;
|
||||
adb.Write(addrman);
|
||||
|
||||
printf("Flushed %d addresses to peers.dat %"PRI64d"ms\n",
|
||||
printf("Flushed %d addresses to peers.dat %" PRI64d "ms\n",
|
||||
addrman.size(), GetTimeMillis() - nStart);
|
||||
}
|
||||
|
||||
|
||||
@@ -366,7 +366,7 @@ public:
|
||||
else
|
||||
nRequestTime = 0;
|
||||
if (fDebugNet)
|
||||
printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
|
||||
printf("askfor %s %" PRI64d " (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
|
||||
|
||||
// Make sure not to reuse time indexes to keep things in the same order
|
||||
int64 nNow = (GetTime() - 1) * 1000000;
|
||||
|
||||
@@ -1 +1 @@
|
||||
To avoid compile error.
|
||||
-To avoid compile error.
|
||||
|
||||
59
src/qt/CSCPublicAPI/casinocoinwebapi.cpp
Normal file
59
src/qt/CSCPublicAPI/casinocoinwebapi.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
#include "casinocoinwebapi.h"
|
||||
|
||||
#include <QSsl>
|
||||
#include <QDebug>
|
||||
|
||||
const QString CasinoCoinWebAPI::s_strServerAddress = "http://api.csc.dig0.com/";
|
||||
const QString CasinoCoinWebAPI::s_strServerEndpoint = "CSCPublicAPI";
|
||||
|
||||
CasinoCoinWebAPI::CasinoCoinWebAPI( QObject*a_pParent )
|
||||
: QObject(a_pParent )
|
||||
{
|
||||
connect( &m_oNetworkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(slotParseNetworkResponse(QNetworkReply*)));
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::GetActivePromotions()
|
||||
{
|
||||
Get( s_strServerAddress + s_strServerEndpoint + "/ActivePromotions" );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::GetActiveCasinos()
|
||||
{
|
||||
Get( s_strServerAddress + s_strServerEndpoint + "/ActiveCasinos" );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::GetActiveNewsItems()
|
||||
{
|
||||
Get( s_strServerAddress + s_strServerEndpoint + "/ActiveNewsItems" );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::GetActiveExchanges()
|
||||
{
|
||||
Get( s_strServerAddress + s_strServerEndpoint + "/ActiveExchanges" );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::GetCoinInfo()
|
||||
{
|
||||
Get( s_strServerAddress + s_strServerEndpoint + "/CoinInfo" );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::Get( const QString& a_rUrl )
|
||||
{
|
||||
QUrl oUrl ( a_rUrl );
|
||||
QNetworkRequest oNetworkRequest ( oUrl );
|
||||
m_oNetworkAccessManager.get( oNetworkRequest );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPI::slotParseNetworkResponse( QNetworkReply *finished )
|
||||
{
|
||||
if ( finished->error() != QNetworkReply::NoError )
|
||||
{
|
||||
// A communication error has occurred
|
||||
qDebug() << "API Network Error: " << finished->errorString();
|
||||
emit signalNetworkError( finished->error(), finished->request().url() );
|
||||
return;
|
||||
}
|
||||
|
||||
QByteArray data = finished->readAll();
|
||||
emit signalResponseReady( data );
|
||||
}
|
||||
41
src/qt/CSCPublicAPI/casinocoinwebapi.h
Normal file
41
src/qt/CSCPublicAPI/casinocoinwebapi.h
Normal file
@@ -0,0 +1,41 @@
|
||||
#ifndef CASINOCOINWEBAPI_H
|
||||
#define CASINOCOINWEBAPI_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
|
||||
class CasinoCoinWebAPI : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CasinoCoinWebAPI( QObject* a_pParent = 0 );
|
||||
virtual ~CasinoCoinWebAPI(){}
|
||||
|
||||
void GetActivePromotions();
|
||||
void GetActiveCasinos();
|
||||
void GetActiveNewsItems();
|
||||
void GetActiveExchanges();
|
||||
void GetCoinInfo();
|
||||
|
||||
static const QString s_strServerAddress;
|
||||
static const QString s_strServerEndpoint;
|
||||
|
||||
signals:
|
||||
void signalResponseReady( const QByteArray& a_rJsonFile );
|
||||
void signalNetworkError
|
||||
( QNetworkReply::NetworkError a_eError
|
||||
, const QUrl a_rFailedUrl
|
||||
);
|
||||
|
||||
public slots:
|
||||
void slotParseNetworkResponse( QNetworkReply *finished );
|
||||
|
||||
private:
|
||||
void Get( const QString& a_rUrl );
|
||||
|
||||
QNetworkAccessManager m_oNetworkAccessManager;
|
||||
};
|
||||
|
||||
#endif // CASINOCOINWEBAPI_H
|
||||
140
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp
Normal file
140
src/qt/CSCPublicAPI/casinocoinwebapiparser.cpp
Normal file
@@ -0,0 +1,140 @@
|
||||
#include "casinocoinwebapiparser.h"
|
||||
|
||||
#include "util.h"
|
||||
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/filesystem/fstream.hpp>
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
|
||||
CasinoCoinWebAPIParser::CasinoCoinWebAPIParser( QObject* a_pParent )
|
||||
: QObject(a_pParent)
|
||||
{
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::slotParseAnswer( const QByteArray& a_rJsonFile )
|
||||
{
|
||||
QJsonParseError oError;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson( a_rJsonFile, &oError );
|
||||
if ( oError.error == QJsonParseError::NoError )
|
||||
{
|
||||
QJsonObject docAsObject = jsonDoc.object();
|
||||
if ( docAsObject.find( "Result" ).value().isObject() )
|
||||
{
|
||||
QJsonObject jsonObjectResult = docAsObject.find( "Result" ).value().toObject();
|
||||
if ( jsonObjectResult.find( "ActivePromotions" ).value().isArray() )
|
||||
{
|
||||
StoreFile( "ActivePromotions", a_rJsonFile );
|
||||
ParsePromotions( docAsObject );
|
||||
}
|
||||
else if ( jsonObjectResult.find( "ActiveNewsItems" ).value().isArray() )
|
||||
{
|
||||
StoreFile( "ActiveNewsItems", a_rJsonFile );
|
||||
ParseNewsItems( docAsObject );
|
||||
}
|
||||
else if ( jsonObjectResult.find( "ActiveCasinos" ).value().isArray() )
|
||||
{
|
||||
StoreFile( "ActiveCasinos", a_rJsonFile );
|
||||
ParseCasinos( docAsObject );
|
||||
}
|
||||
else if ( jsonObjectResult.find( "ActiveExchanges" ).value().isArray() )
|
||||
{
|
||||
StoreFile( "ActiveExchanges", a_rJsonFile );
|
||||
ParseExchanges( docAsObject );
|
||||
}
|
||||
else if ( jsonObjectResult.find( "CoinInfo" ).value().isObject() )
|
||||
{
|
||||
StoreFile( "CoinInfo", a_rJsonFile );
|
||||
ParseCoinInfo( docAsObject );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "CasinoCoinWebAPIParser -> No Result object found: " << docAsObject.begin().key();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "CasinoCoinWebAPIParser -> Parse Error: " << oError.errorString();
|
||||
}
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::slotNetworkError( QNetworkReply::NetworkError a_eError
|
||||
, const QUrl a_rFailedUrl
|
||||
)
|
||||
{
|
||||
qDebug() << "network error: " << a_eError;
|
||||
QString strAccessedUrl = a_rFailedUrl.toString().split("/").last();
|
||||
slotParseAnswer( ReadFile( strAccessedUrl ) );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::ParsePromotions( const QJsonObject& a_rJsonPromotions )
|
||||
{
|
||||
qDebug() << "ParsePromotions";
|
||||
emit signalActivePromotionsParsed( new JsonActivePromotionsParser( a_rJsonPromotions ) );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::ParseCasinos( const QJsonObject& a_rJsonCasinos )
|
||||
{
|
||||
qDebug() << "Coming soon - ParseCasinos";
|
||||
qDebug() << a_rJsonCasinos;
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::ParseExchanges( const QJsonObject& a_rJsonExchanges )
|
||||
{
|
||||
qDebug() << "ParseExchanges";
|
||||
emit signalActiveExchangesParsed( new JsonActiveExchangesParser( a_rJsonExchanges ) );
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::ParseNewsItems( const QJsonObject& a_rJsonNewsItems )
|
||||
{
|
||||
qDebug() << "Coming soon - ParseNewsItems";
|
||||
qDebug() << a_rJsonNewsItems;
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::ParseCoinInfo( const QJsonObject& a_rJsonCoinInfo )
|
||||
{
|
||||
qDebug() << "ParseCoinInfo";
|
||||
emit signalCoinInfoParsed( new JsonCoinInfoParser( a_rJsonCoinInfo ) );
|
||||
}
|
||||
|
||||
QByteArray CasinoCoinWebAPIParser::ReadFile( QString a_strSourcePath )
|
||||
{
|
||||
QByteArray strAnswer;
|
||||
boost::filesystem::path pathCasinoCoinAPIResources = GetDataDir() / "cscapires";
|
||||
|
||||
QFile fileOutput( QDir( QString::fromStdString( pathCasinoCoinAPIResources.string() ) ).absoluteFilePath( a_strSourcePath ) );
|
||||
if ( !fileOutput.open( QIODevice::ReadOnly ) )
|
||||
{
|
||||
qWarning() << "cannot open file to read: " << QDir::current().relativeFilePath( a_strSourcePath );
|
||||
}
|
||||
else
|
||||
{
|
||||
strAnswer = fileOutput.readAll();
|
||||
fileOutput.close();
|
||||
}
|
||||
return strAnswer;
|
||||
}
|
||||
|
||||
void CasinoCoinWebAPIParser::StoreFile( QString a_strDestinationPath, const QByteArray& a_rJsonFile )
|
||||
{
|
||||
boost::filesystem::path pathCasinoCoinAPIResources = GetDataDir() / "cscapires";
|
||||
boost::filesystem::create_directories(pathCasinoCoinAPIResources);
|
||||
|
||||
QFile fileOutput( QDir( QString::fromStdString( pathCasinoCoinAPIResources.string() ) ).absoluteFilePath( a_strDestinationPath ) );
|
||||
if ( !fileOutput.open( QIODevice::WriteOnly | QIODevice::Truncate ) )
|
||||
{
|
||||
qWarning() << "cannot open file to write: " << QDir::current().relativeFilePath( a_strDestinationPath );
|
||||
}
|
||||
else
|
||||
{
|
||||
fileOutput.write( a_rJsonFile );
|
||||
fileOutput.close();
|
||||
}
|
||||
}
|
||||
45
src/qt/CSCPublicAPI/casinocoinwebapiparser.h
Normal file
45
src/qt/CSCPublicAPI/casinocoinwebapiparser.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef CASINOCOINWEBAPIPARSER_H
|
||||
#define CASINOCOINWEBAPIPARSER_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "jsonactivepromotionsparser.h"
|
||||
#include "jsonsingleactivepromotion.h"
|
||||
#include "jsoncoininfoparser.h"
|
||||
#include "jsonactiveexchangesparser.h"
|
||||
#include "jsonsingleactiveexchange.h"
|
||||
|
||||
#include <QNetworkReply>
|
||||
|
||||
class CasinoCoinWebAPIParser : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CasinoCoinWebAPIParser( QObject* a_pParent = 0 );
|
||||
|
||||
|
||||
signals:
|
||||
void signalActivePromotionsParsed( JsonActivePromotionsParser* a_pActivePromotions );
|
||||
void signalCoinInfoParsed( JsonCoinInfoParser* a_pCoinInfo );
|
||||
// void signalActiveCasinosParsed( JsonActiveCasinosParser* a_pActivePromotions );
|
||||
void signalActiveExchangesParsed( JsonActiveExchangesParser* a_pActiveExchanges );
|
||||
// void signalActiveNewsItemsParsed( JsonActiveNewsItemsParser* a_pActivePromotions );
|
||||
|
||||
public slots:
|
||||
void slotParseAnswer( const QByteArray& a_rJsonFile );
|
||||
void slotNetworkError
|
||||
( QNetworkReply::NetworkError a_eError
|
||||
, const QUrl a_rFailedUrl
|
||||
);
|
||||
private:
|
||||
void ParsePromotions( const QJsonObject& a_rJsonPromotions );
|
||||
void ParseCasinos ( const QJsonObject& a_rJsonCasinos );
|
||||
void ParseExchanges ( const QJsonObject& a_rJsonExchanges );
|
||||
void ParseNewsItems ( const QJsonObject& a_rJsonNewsItems );
|
||||
void ParseCoinInfo ( const QJsonObject& a_rJsonCoinInfo );
|
||||
|
||||
QByteArray ReadFile( QString a_strSourcePath );
|
||||
void StoreFile( QString a_strDestinationPath, const QByteArray& a_rJsonFile );
|
||||
};
|
||||
|
||||
#endif // CASINOCOINWEBAPIPARSER_H
|
||||
54
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp
Normal file
54
src/qt/CSCPublicAPI/jsonactiveexchangesparser.cpp
Normal file
@@ -0,0 +1,54 @@
|
||||
#include "jsonactiveexchangesparser.h"
|
||||
#include "../qtquick_controls/cpp/qmlimageprovider.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
JsonActiveExchangesParser::JsonActiveExchangesParser()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
JsonActiveExchangesParser::JsonActiveExchangesParser( const QJsonObject& a_rOther )
|
||||
: QJsonObject( a_rOther )
|
||||
{
|
||||
ResolveExchangesArray();
|
||||
}
|
||||
|
||||
void JsonActiveExchangesParser::ResolveExchangesArray()
|
||||
{
|
||||
if ( find( "Result" ).value().isObject() )
|
||||
{
|
||||
if ( find( "Result" ).value().toObject().find( "ActiveExchanges" ).value().isArray() )
|
||||
{
|
||||
QJsonArray arrayOfExchangeDescriptors( find( "Result" ).value().toObject().find( "ActiveExchanges" ).value().toArray() );
|
||||
foreach( QJsonValue singleExchangeDescriptor, arrayOfExchangeDescriptors )
|
||||
{
|
||||
if ( singleExchangeDescriptor.isObject() )
|
||||
{
|
||||
m_aActiveExchanges.append( JsonSingleActiveExchange( singleExchangeDescriptor.toObject() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QList<JsonSingleActiveExchange>& JsonActiveExchangesParser::GetExchanges() const
|
||||
{
|
||||
return m_aActiveExchanges;
|
||||
}
|
||||
|
||||
QList<JsonSingleActiveExchange>& JsonActiveExchangesParser::GetExchanges()
|
||||
{
|
||||
return m_aActiveExchanges;
|
||||
}
|
||||
|
||||
void JsonActiveExchangesParser::AddImagesToPool( QmlImageProvider* a_pImageProvider )
|
||||
{
|
||||
if ( a_pImageProvider )
|
||||
{
|
||||
foreach( JsonSingleActiveExchange oExchange, m_aActiveExchanges )
|
||||
{
|
||||
a_pImageProvider->AddToImagePool( oExchange.getImageName(), oExchange.getExchangeImage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
31
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h
Normal file
31
src/qt/CSCPublicAPI/jsonactiveexchangesparser.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef JSONACTIVEEXCHANGESPARSER_H
|
||||
#define JSONACTIVEEXCHANGESPARSER_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QJsonArray>
|
||||
#include <QList>
|
||||
|
||||
#include "jsonsingleactiveexchange.h"
|
||||
|
||||
class QmlImageProvider;
|
||||
|
||||
class JsonActiveExchangesParser : public QJsonObject
|
||||
{
|
||||
public:
|
||||
JsonActiveExchangesParser();
|
||||
JsonActiveExchangesParser( const QJsonObject& a_rOther );
|
||||
virtual ~JsonActiveExchangesParser(){}
|
||||
|
||||
const QList<JsonSingleActiveExchange>& GetExchanges() const;
|
||||
QList<JsonSingleActiveExchange>& GetExchanges();
|
||||
|
||||
void AddImagesToPool( QmlImageProvider* a_pImageProvider );
|
||||
|
||||
private:
|
||||
void ResolveExchangesArray();
|
||||
|
||||
QList<JsonSingleActiveExchange> m_aActiveExchanges;
|
||||
};
|
||||
|
||||
#endif // JSONACTIVEEXCHANGESPARSER_H
|
||||
54
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp
Normal file
54
src/qt/CSCPublicAPI/jsonactivepromotionsparser.cpp
Normal file
@@ -0,0 +1,54 @@
|
||||
#include "jsonactivepromotionsparser.h"
|
||||
#include "../qtquick_controls/cpp/qmlimageprovider.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
JsonActivePromotionsParser::JsonActivePromotionsParser()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
JsonActivePromotionsParser::JsonActivePromotionsParser( const QJsonObject& a_rOther )
|
||||
: QJsonObject( a_rOther )
|
||||
{
|
||||
ResolvePromotionsArray();
|
||||
}
|
||||
|
||||
void JsonActivePromotionsParser::ResolvePromotionsArray()
|
||||
{
|
||||
if ( find( "Result" ).value().isObject() )
|
||||
{
|
||||
if ( find( "Result" ).value().toObject().find( "ActivePromotions" ).value().isArray() )
|
||||
{
|
||||
QJsonArray arrayOfCasinoDescriptors( find( "Result" ).value().toObject().find( "ActivePromotions" ).value().toArray() );
|
||||
foreach( QJsonValue singleCasinoDescriptor, arrayOfCasinoDescriptors )
|
||||
{
|
||||
if ( singleCasinoDescriptor.isObject() )
|
||||
{
|
||||
m_aActivePromotions.append( JsonSingleActivePromotion( singleCasinoDescriptor.toObject() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QList<JsonSingleActivePromotion>& JsonActivePromotionsParser::GetPromotions() const
|
||||
{
|
||||
return m_aActivePromotions;
|
||||
}
|
||||
|
||||
QList<JsonSingleActivePromotion>& JsonActivePromotionsParser::GetPromotions()
|
||||
{
|
||||
return m_aActivePromotions;
|
||||
}
|
||||
|
||||
void JsonActivePromotionsParser::AddImagesToPool( QmlImageProvider* a_pImageProvider )
|
||||
{
|
||||
if ( a_pImageProvider )
|
||||
{
|
||||
foreach( JsonSingleActivePromotion oPromotion, m_aActivePromotions )
|
||||
{
|
||||
a_pImageProvider->AddToImagePool( oPromotion.GetImageName(), oPromotion.GetAdvertImage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
31
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h
Normal file
31
src/qt/CSCPublicAPI/jsonactivepromotionsparser.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef JSONACTIVEPROMOTIONSPARSER_H
|
||||
#define JSONACTIVEPROMOTIONSPARSER_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QJsonArray>
|
||||
#include <QList>
|
||||
|
||||
#include "jsonsingleactivepromotion.h"
|
||||
|
||||
class QmlImageProvider;
|
||||
|
||||
class JsonActivePromotionsParser : public QJsonObject
|
||||
{
|
||||
public:
|
||||
JsonActivePromotionsParser();
|
||||
JsonActivePromotionsParser( const QJsonObject& a_rOther );
|
||||
virtual ~JsonActivePromotionsParser(){}
|
||||
|
||||
const QList<JsonSingleActivePromotion>& GetPromotions() const;
|
||||
QList<JsonSingleActivePromotion>& GetPromotions();
|
||||
|
||||
void AddImagesToPool( QmlImageProvider* a_pImageProvider );
|
||||
|
||||
private:
|
||||
void ResolvePromotionsArray();
|
||||
|
||||
QList<JsonSingleActivePromotion> m_aActivePromotions;
|
||||
};
|
||||
|
||||
#endif // JSONACTIVEPROMOTIONSPARSER_H
|
||||
29
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp
Normal file
29
src/qt/CSCPublicAPI/jsoncoininfoparser.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#include "jsoncoininfoparser.h"
|
||||
#include <QDebug>
|
||||
|
||||
JsonCoinInfoParser::JsonCoinInfoParser()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
JsonCoinInfoParser::JsonCoinInfoParser( const QJsonObject& apiResult )
|
||||
: QJsonObject( apiResult )
|
||||
{
|
||||
qDebug() << "JsonCoinInfoParser: " << apiResult.begin().key();
|
||||
if ( apiResult.find( "Result" ).value().isObject() )
|
||||
{
|
||||
if ( apiResult.find( "Result" ).value().toObject().find( "CoinInfo" ).value().isObject() )
|
||||
{
|
||||
coinInfoObject = apiResult.find( "Result" ).value().toObject().find( "CoinInfo" ).value().toObject();
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug()<<"JsonCoinInfoParser first key: " << apiResult.find( "Result" ).value().toObject().begin().key();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QJsonObject& JsonCoinInfoParser::getCoinInfo() const
|
||||
{
|
||||
return coinInfoObject;
|
||||
}
|
||||
20
src/qt/CSCPublicAPI/jsoncoininfoparser.h
Normal file
20
src/qt/CSCPublicAPI/jsoncoininfoparser.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef JSONCOININFOPARSER_H
|
||||
#define JSONCOININFOPARSER_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
||||
class JsonCoinInfoParser : public QJsonObject
|
||||
{
|
||||
public:
|
||||
JsonCoinInfoParser();
|
||||
JsonCoinInfoParser( const QJsonObject& a_rOther );
|
||||
virtual ~JsonCoinInfoParser(){}
|
||||
|
||||
const QJsonObject& getCoinInfo() const;
|
||||
|
||||
private:
|
||||
QJsonObject coinInfoObject;
|
||||
};
|
||||
|
||||
#endif // JSONCOININFOPARSER_H
|
||||
42
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp
Normal file
42
src/qt/CSCPublicAPI/jsonsingleactiveexchange.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "jsonsingleactiveexchange.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QImage>
|
||||
#include <QDir>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
JsonSingleActiveExchange::JsonSingleActiveExchange()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
JsonSingleActiveExchange::JsonSingleActiveExchange( const QJsonObject& a_rOther )
|
||||
: QJsonObject( a_rOther )
|
||||
{
|
||||
m_strImageName = find( "exchange_name" ).value().toString().remove( getRestrictedCharacters() );
|
||||
storeImage();
|
||||
m_strExchangeName = find( "exchange_name" ).value().toString().remove( getRestrictedCharacters() );
|
||||
m_strAccessUrl = find( "access_url" ).value().toString();
|
||||
m_strDescription = find( "description" ).value().toString();
|
||||
m_dblLastBidPriceBTC = find( "last_bid_price_btc" ).value().toDouble();
|
||||
m_dblLastAskPriceBTC = find( "last_ask_price_btc" ).value().toDouble();
|
||||
m_dblLastPriceBTC = find( "last_price_btc" ).value().toDouble();
|
||||
m_dblVolume24H = find( "volume24h" ).value().toDouble();
|
||||
m_strLastUpdateTime = find( "last_update_time" ).value().toString();
|
||||
}
|
||||
|
||||
QRegExp JsonSingleActiveExchange::getRestrictedCharacters()
|
||||
{
|
||||
return QRegExp( "[<,>|\\:()&;#?*% ]" );
|
||||
}
|
||||
|
||||
void JsonSingleActiveExchange::storeImage()
|
||||
{
|
||||
if ( find( "image_mime_type" ).value().toString().split( "/" ).first().contains( "image" ) )
|
||||
{
|
||||
QByteArray binaryData = QByteArray::fromBase64( find( "exchange_image" ).value().toString().toLocal8Bit() );
|
||||
m_oExchangeImage = QImage::fromData( binaryData );
|
||||
}
|
||||
}
|
||||
|
||||
46
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h
Normal file
46
src/qt/CSCPublicAPI/jsonsingleactiveexchange.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef JSONSINGLEACTIVEEXCHANGE_H
|
||||
#define JSONSINGLEACTIVEEXCHANGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QJsonArray>
|
||||
|
||||
#include <QImage>
|
||||
|
||||
class JsonSingleActiveExchange : public QJsonObject
|
||||
{
|
||||
public:
|
||||
JsonSingleActiveExchange();
|
||||
JsonSingleActiveExchange( const QJsonObject& a_rOther );
|
||||
virtual ~JsonSingleActiveExchange(){}
|
||||
|
||||
QString getImageName() const{ return m_strImageName; }
|
||||
QImage getExchangeImage() const { return m_oExchangeImage; }
|
||||
QString getExchangeName() const{ return m_strExchangeName; }
|
||||
QString getAccessUrl() const{ return m_strAccessUrl; }
|
||||
QString getDescription() const{ return m_strDescription; }
|
||||
double getLastBidPriceBTC() const{ return m_dblLastBidPriceBTC; }
|
||||
double getLastAskPriceBTC() const{ return m_dblLastAskPriceBTC; }
|
||||
double getLastPriceBTC() const{ return m_dblLastPriceBTC; }
|
||||
double getVolume24H() const{ return m_dblVolume24H; }
|
||||
QString getLastUpdateTime() const{ return m_strLastUpdateTime; }
|
||||
|
||||
private:
|
||||
void storeImage();
|
||||
|
||||
static QRegExp getRestrictedCharacters();
|
||||
|
||||
QString m_strImageName;
|
||||
QImage m_oExchangeImage;
|
||||
QString m_strExchangeName;
|
||||
QString m_strAccessUrl;
|
||||
QString m_strDescription;
|
||||
double m_dblLastBidPriceBTC;
|
||||
double m_dblLastAskPriceBTC;
|
||||
double m_dblLastPriceBTC;
|
||||
double m_dblVolume24H;
|
||||
QString m_strLastUpdateTime;
|
||||
|
||||
};
|
||||
|
||||
#endif // JSONSINGLEACTIVEEXCHANGE_H
|
||||
34
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp
Normal file
34
src/qt/CSCPublicAPI/jsonsingleactivepromotion.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "jsonsingleactivepromotion.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QImage>
|
||||
#include <QDir>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
JsonSingleActivePromotion::JsonSingleActivePromotion()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
JsonSingleActivePromotion::JsonSingleActivePromotion( const QJsonObject& a_rOther )
|
||||
: QJsonObject( a_rOther )
|
||||
{
|
||||
m_strImageName = find( "promotion_title" ).value().toString().remove( GetRestrictedCharacters() );
|
||||
StoreImage();
|
||||
}
|
||||
|
||||
QRegExp JsonSingleActivePromotion::GetRestrictedCharacters()
|
||||
{
|
||||
return QRegExp( "[<,>|\\:()&;#?*% ]" );
|
||||
}
|
||||
|
||||
void JsonSingleActivePromotion::StoreImage()
|
||||
{
|
||||
if ( find( "image_mime_type" ).value().toString().split( "/" ).first().contains( "image" ) )
|
||||
{
|
||||
QByteArray binaryData = QByteArray::fromBase64( find( "promotion_image" ).value().toString().toLocal8Bit() );
|
||||
m_oAdvertImage = QImage::fromData( binaryData );
|
||||
}
|
||||
}
|
||||
|
||||
29
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h
Normal file
29
src/qt/CSCPublicAPI/jsonsingleactivepromotion.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef JSONSINGLEACTIVEPROMOTION_H
|
||||
#define JSONSINGLEACTIVEPROMOTION_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QJsonArray>
|
||||
|
||||
#include <QImage>
|
||||
|
||||
class JsonSingleActivePromotion : public QJsonObject
|
||||
{
|
||||
public:
|
||||
JsonSingleActivePromotion();
|
||||
JsonSingleActivePromotion( const QJsonObject& a_rOther );
|
||||
virtual ~JsonSingleActivePromotion(){}
|
||||
|
||||
QString GetImageName() const{ return m_strImageName; }
|
||||
QImage GetAdvertImage() const { return m_oAdvertImage; }
|
||||
private:
|
||||
void StoreImage();
|
||||
|
||||
static QRegExp GetRestrictedCharacters();
|
||||
|
||||
QString m_strImageName;
|
||||
QImage m_oAdvertImage;
|
||||
|
||||
};
|
||||
|
||||
#endif // JSONSINGLEACTIVEPROMOTION_H
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
// Copyright year (2009-this)
|
||||
// Todo: update this when changing our copyright comments in the source
|
||||
const int ABOUTDIALOG_COPYRIGHT_YEAR = 2013;
|
||||
const int ABOUTDIALOG_COPYRIGHT_YEAR = 2015;
|
||||
|
||||
AboutDialog::AboutDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
@@ -15,7 +15,9 @@ AboutDialog::AboutDialog(QWidget *parent) :
|
||||
ui->setupUi(this);
|
||||
|
||||
// Set current copyright year
|
||||
ui->copyrightLabel->setText(tr("Copyright") + QString(" © 2009-%1 ").arg(COPYRIGHT_YEAR) + tr("The Bitcoin developers") + QString("<br>") + tr("Copyright") + QString(" © ") + tr("2013-%1 The CasinoCoin developers").arg(ABOUTDIALOG_COPYRIGHT_YEAR));
|
||||
ui->copyrightLabel->setText(tr("Copyright") + QString(" © 2009-%1 ").arg(COPYRIGHT_YEAR) + tr("The Bitcoin developers") + QString("<br>") +
|
||||
tr("Copyright") + QString(" © ") + tr("2013-%1 The CasinoCoin developers").arg(ABOUTDIALOG_COPYRIGHT_YEAR) + QString("<br>") +
|
||||
tr("Copyright") + QString(" © ") + tr("2015 - GUI 2.0 Design by Felix Rojauro (felix.rojauro@gmail.com)"));
|
||||
}
|
||||
|
||||
void AboutDialog::setModel(ClientModel *model)
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include "csvmodelwriter.h"
|
||||
#include "guiutil.h"
|
||||
|
||||
#include "gui20_skin.h"
|
||||
|
||||
#ifdef USE_QRCODE
|
||||
#include "qrcodedialog.h"
|
||||
#endif
|
||||
@@ -26,7 +28,6 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
|
||||
tab(tab)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
|
||||
ui->newAddress->setIcon(QIcon());
|
||||
ui->copyAddress->setIcon(QIcon());
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "wallet.h"
|
||||
#include "base58.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFont>
|
||||
|
||||
const QString AddressTableModel::Send = "S";
|
||||
@@ -424,3 +425,24 @@ void AddressTableModel::emitDataChanged(int idx)
|
||||
{
|
||||
emit dataChanged(index(idx, 0, QModelIndex()), index(idx, columns.length()-1, QModelIndex()));
|
||||
}
|
||||
|
||||
/* Look up address for label in address book, if not found return empty string.
|
||||
*/
|
||||
QString AddressTableModel::addressForLabel(const QString &label) const
|
||||
{
|
||||
LOCK(wallet->cs_wallet);
|
||||
QString walletAddress = "";
|
||||
// loop over addressbook values to find the key
|
||||
std::map<CTxDestination, std::string>::iterator it;
|
||||
for( it = wallet->mapAddressBook.begin(); it != wallet->mapAddressBook.end(); it++)
|
||||
{
|
||||
qDebug() << "Label Value: " << QString::fromStdString(it->second);
|
||||
if (it->second.compare(label.toStdString()) == 0)
|
||||
{
|
||||
CTxDestination dest = it->first;
|
||||
walletAddress = QString::fromStdString(CBitcoinAddress(dest).ToString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
return walletAddress;
|
||||
}
|
||||
|
||||
@@ -69,6 +69,10 @@ public:
|
||||
|
||||
EditStatus getEditStatus() const { return editStatus; }
|
||||
|
||||
/* Look up address for label in address book, if not found return empty string.
|
||||
*/
|
||||
QString addressForLabel(const QString &label) const;
|
||||
|
||||
private:
|
||||
WalletModel *walletModel;
|
||||
CWallet *wallet;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "guiconstants.h"
|
||||
#include "walletmodel.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
@@ -98,7 +99,8 @@ void AskPassphraseDialog::accept()
|
||||
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 CASINOCOINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
|
||||
tr((std::string("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR ")
|
||||
+ COIN_NAME_DISPLAY + "</b>!").c_str()) + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
|
||||
QMessageBox::Yes|QMessageBox::Cancel,
|
||||
QMessageBox::Cancel);
|
||||
if(retval == QMessageBox::Yes)
|
||||
@@ -109,9 +111,9 @@ void AskPassphraseDialog::accept()
|
||||
{
|
||||
QMessageBox::warning(this, tr("Wallet encrypted"),
|
||||
"<qt>" +
|
||||
tr("CasinoCoin will close now to finish the encryption process. "
|
||||
tr((std::string("")+ COIN_NAME_DISPLAY + " will close now to finish the encryption process. "
|
||||
"Remember that encrypting your wallet cannot fully protect "
|
||||
"your casinocoins from being stolen by malware infecting your computer.") +
|
||||
"your "+ COIN_NAME + " from being stolen by malware infecting your computer.").c_str()) +
|
||||
"<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. "
|
||||
|
||||
@@ -91,7 +91,7 @@ static void InitMessage(const std::string &message)
|
||||
{
|
||||
if(splashref)
|
||||
{
|
||||
splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(55,55,55));
|
||||
splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(Qt::black));
|
||||
qApp->processEvents();
|
||||
}
|
||||
printf("init message: %s\n", message.c_str());
|
||||
@@ -110,7 +110,7 @@ static std::string Translate(const char* psz)
|
||||
static void handleRunawayException(std::exception *e)
|
||||
{
|
||||
PrintExceptionContinue(e, "Runaway exception");
|
||||
QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. CasinoCoin can no longer continue safely and will quit.") + QString("\n\n") + QString::fromStdString(strMiscWarning));
|
||||
QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr(("A fatal error occurred. "+ COIN_NAME_DISPLAY + " can no longer continue safely and will quit.").c_str()) + QString("\n\n") + QString::fromStdString(strMiscWarning));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
// This message can not be translated, as translation is not initialized yet
|
||||
// (which not yet possible because lang=XX can be overridden in bitcoin.conf in the data directory)
|
||||
QMessageBox::critical(0, "CasinoCoin",
|
||||
QMessageBox::critical(0, COIN_NAME_DISPLAY.c_str(),
|
||||
QString("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"])));
|
||||
return 1;
|
||||
}
|
||||
@@ -154,12 +154,12 @@ int main(int argc, char *argv[])
|
||||
|
||||
// Application identification (must be set before OptionsModel is initialized,
|
||||
// as it is used to locate QSettings)
|
||||
QApplication::setOrganizationName("CasinoCoin");
|
||||
QApplication::setOrganizationName(COIN_NAME_DISPLAY.c_str());
|
||||
QApplication::setOrganizationDomain("casinocoin.org");
|
||||
if(GetBoolArg("-testnet")) // Separate UI settings for testnet
|
||||
QApplication::setApplicationName("CasinoCoin-Qt-testnet");
|
||||
QApplication::setApplicationName((""+ COIN_NAME_DISPLAY + "-Qt-testnet").c_str());
|
||||
else
|
||||
QApplication::setApplicationName("CasinoCoin-Qt");
|
||||
QApplication::setApplicationName((""+ COIN_NAME_DISPLAY + "-Qt").c_str());
|
||||
|
||||
// ... then GUI settings:
|
||||
OptionsModel optionsModel;
|
||||
@@ -292,12 +292,14 @@ int main(int argc, char *argv[])
|
||||
threadGroup.interrupt_all();
|
||||
threadGroup.join_all();
|
||||
Shutdown();
|
||||
pollShutdownTimer->stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
threadGroup.interrupt_all();
|
||||
threadGroup.join_all();
|
||||
Shutdown();
|
||||
pollShutdownTimer->stop();
|
||||
return 1;
|
||||
}
|
||||
} catch (std::exception& e) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<RCC>
|
||||
<qresource prefix="/icons">
|
||||
<file alias="bitcoin">res/icons/bitcoin.png</file>
|
||||
<file alias="address-book">res/icons/address-book.png</file>
|
||||
@@ -40,12 +40,38 @@
|
||||
<file alias="filesave">res/icons/filesave.png</file>
|
||||
<file alias="qrcode">res/icons/qrcode.png</file>
|
||||
<file alias="debugwindow">res/icons/debugwindow.png</file>
|
||||
<file alias="advertsArrowLeft">res/icons/adverts_arrow_left.png</file>
|
||||
<file alias="advertsArrowLeftHover">res/icons/adverts_arrow_left_hover.png</file>
|
||||
<file alias="advertsArrowRight">res/icons/adverts_arrow_right.png</file>
|
||||
<file alias="advertsArrowRightHover">res/icons/adverts_arrow_right_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_transactions.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_transactions_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_send.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_send_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_redeemprypto.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_redeemprypto_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_receive.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_receive_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_overview.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_overview_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_info.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_info_hover.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_contacts.png</file>
|
||||
<file>res/icons/GUI20_mainToolBar_contacts_hover.png</file>
|
||||
<file>res/icons/prypto.png</file>
|
||||
<file alias="checkboxTick">res/icons/checkbox_tick.png</file>
|
||||
<file alias="advertsArrowDownHover">res/icons/adverts_arrow_bottom_hover.png</file>
|
||||
<file alias="advertsArrowDown">res/icons/adverts_arrow_bottom.png</file>
|
||||
<file alias="advertsArrowUp">res/icons/adverts_arrow_top.png</file>
|
||||
<file alias="advertsArrowUpHover">res/icons/adverts_arrow_top_hover.png</file>
|
||||
<file alias="radiobuttonTick">res/icons/radiobutton_tick.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/images">
|
||||
<file alias="about">res/images/about.png</file>
|
||||
<file alias="splash">res/images/splash.png</file>
|
||||
<file alias="splash_testnet">res/images/splash_testnet.png</file>
|
||||
<file alias="backg">res/images/wallet.png</file>
|
||||
<file>res/images/GUI20_mainToolBar_cards.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/movies">
|
||||
<file alias="update_spinner">res/movies/update_spinner.mng</file>
|
||||
@@ -99,4 +125,21 @@
|
||||
<file alias="zh_CN">locale/bitcoin_zh_CN.qm</file>
|
||||
<file alias="zh_TW">locale/bitcoin_zh_TW.qm</file>
|
||||
</qresource>
|
||||
<qresource prefix="/qml">
|
||||
<file>qtquick_controls/qml/QmlGUIBannerControl.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIBannerListView.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIBannerWindow.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIMenuToolbarWindow.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIMenuToolbarListView.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIMenuToolbarControl.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIExchangesWindow.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIExchangesListView.qml</file>
|
||||
<file>qtquick_controls/qml/QmlGUIExchangesControl.qml</file>
|
||||
<file>twitter/FlipBar.qml</file>
|
||||
<file>twitter/TweetDelegate.qml</file>
|
||||
<file>twitter/tweetsearch.js</file>
|
||||
<file>twitter/TweetsModel.qml</file>
|
||||
<file>twitter/CasinocoinTwitterFeed.qml</file>
|
||||
<file>twitter/resources/anonymous.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -13,19 +13,22 @@
|
||||
BitcoinAmountField::BitcoinAmountField(QWidget *parent):
|
||||
QWidget(parent), amount(0), currentUnit(-1)
|
||||
{
|
||||
amount = new QDoubleSpinBox(this);
|
||||
amount->setLocale(QLocale::c());
|
||||
|
||||
unit = new QValueComboBox(this);
|
||||
unit->setModel(new BitcoinUnits(this));
|
||||
unit->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
|
||||
|
||||
amount = new QDoubleSpinBox(this);
|
||||
amount->setLocale(QLocale::c());
|
||||
amount->setDecimals(8);
|
||||
amount->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );
|
||||
amount->installEventFilter(this);
|
||||
amount->setMaximumWidth(170);
|
||||
amount->setSingleStep(0.001);
|
||||
|
||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||
layout->addWidget(amount);
|
||||
unit = new QValueComboBox(this);
|
||||
unit->setModel(new BitcoinUnits(this));
|
||||
layout->addWidget(unit);
|
||||
layout->addStretch(1);
|
||||
// layout->addStretch(1);
|
||||
layout->setContentsMargins(0,0,0,0);
|
||||
|
||||
setLayout(layout);
|
||||
|
||||
@@ -25,6 +25,10 @@
|
||||
#include "ui_interface.h"
|
||||
#include "wallet.h"
|
||||
#include "init.h"
|
||||
#include "cscfusionstyle.h"
|
||||
#include "gui20_skin.h"
|
||||
|
||||
#include "qtquick_controls/cpp/guimenutoolbarwidget.h"
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
#include "macdockiconhandler.h"
|
||||
@@ -52,6 +56,7 @@
|
||||
#include <QSettings>
|
||||
#include <QDesktopWidget>
|
||||
#include <QListWidget>
|
||||
#include <QToolTip>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@@ -60,6 +65,7 @@ const QString BitcoinGUI::DEFAULT_WALLET = "~Default";
|
||||
BitcoinGUI::BitcoinGUI(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
clientModel(0),
|
||||
toolbarGUI20(0),
|
||||
encryptWalletAction(0),
|
||||
changePassphraseAction(0),
|
||||
aboutQtAction(0),
|
||||
@@ -68,6 +74,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent) :
|
||||
rpcConsole(0),
|
||||
prevBlocks(0)
|
||||
{
|
||||
QApplication::setStyle(new CSCFusionStyle);
|
||||
|
||||
restoreWindowGeometry();
|
||||
setWindowTitle(tr("CasinoCoin") + " - " + tr("Wallet"));
|
||||
#ifndef Q_OS_MAC
|
||||
@@ -77,9 +85,20 @@ BitcoinGUI::BitcoinGUI(QWidget *parent) :
|
||||
setUnifiedTitleAndToolBarOnMac(true);
|
||||
QApplication::setAttribute(Qt::AA_DontShowIconsInMenus);
|
||||
#endif
|
||||
// Create wallet frame and make it the central widget
|
||||
walletFrame = new WalletFrame(this);
|
||||
setCentralWidget(walletFrame);
|
||||
// Create wallet frame with main menu
|
||||
walletFrame = new WalletFrame(this);
|
||||
toolbarGUI20 = new GUIMenuToolbarWidget( this );
|
||||
connect( toolbarGUI20, SIGNAL( signalItemClicked( GUIMenuToolbarControl::EMenuToolbarItemTypes ) ), this, SLOT( slotMenuToolbarItemClicked( GUIMenuToolbarControl::EMenuToolbarItemTypes ) ), Qt::UniqueConnection );
|
||||
|
||||
// envelope them in another widget
|
||||
QWidget* pCentralWidget = new QWidget( this );
|
||||
QVBoxLayout* pBoxLayout = new QVBoxLayout();
|
||||
pBoxLayout->addWidget( toolbarGUI20->dockQmlToWidget() );
|
||||
pBoxLayout->addWidget( walletFrame );
|
||||
pCentralWidget->setLayout( pBoxLayout );
|
||||
|
||||
// and make it the central widget
|
||||
setCentralWidget(pCentralWidget);
|
||||
|
||||
// Accept D&D of URIs
|
||||
setAcceptDrops(true);
|
||||
@@ -92,7 +111,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent) :
|
||||
createMenuBar();
|
||||
|
||||
// Create the toolbars
|
||||
createToolBars();
|
||||
// createToolBars();
|
||||
|
||||
// Create system tray icon and notification
|
||||
createTrayIcon();
|
||||
@@ -149,6 +168,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent) :
|
||||
|
||||
// Initially wallet actions should be disabled
|
||||
setWalletActionsEnabled(false);
|
||||
|
||||
}
|
||||
|
||||
BitcoinGUI::~BitcoinGUI()
|
||||
@@ -201,6 +221,20 @@ void BitcoinGUI::createActions()
|
||||
addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
|
||||
tabGroup->addAction(addressBookAction);
|
||||
|
||||
pryptoRedeemAction = new QAction(QIcon(":/icons/receive"), tr("&Prypto Redeem"), this);
|
||||
pryptoRedeemAction->setStatusTip(tr("Redeem the value of a Prypto card to your wallet"));
|
||||
pryptoRedeemAction->setToolTip(pryptoRedeemAction->statusTip());
|
||||
pryptoRedeemAction->setCheckable(true);
|
||||
pryptoRedeemAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6));
|
||||
tabGroup->addAction(pryptoRedeemAction);
|
||||
|
||||
infoPageAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Information"), this);
|
||||
infoPageAction->setStatusTip(tr("Show all Casinocoin related information"));
|
||||
infoPageAction->setToolTip(infoPageAction->statusTip());
|
||||
infoPageAction->setCheckable(true);
|
||||
infoPageAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7));
|
||||
tabGroup->addAction(infoPageAction);
|
||||
|
||||
connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
|
||||
connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage()));
|
||||
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
|
||||
@@ -211,6 +245,10 @@ void BitcoinGUI::createActions()
|
||||
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
|
||||
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
|
||||
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage()));
|
||||
connect(pryptoRedeemAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
|
||||
connect(pryptoRedeemAction, SIGNAL(triggered()), this, SLOT(gotoPryptoPage()));
|
||||
connect(infoPageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
|
||||
connect(infoPageAction, SIGNAL(triggered()), this, SLOT(gotoInfoPage()));
|
||||
|
||||
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this);
|
||||
quitAction->setStatusTip(tr("Quit application"));
|
||||
@@ -286,17 +324,6 @@ void BitcoinGUI::createMenuBar()
|
||||
help->addAction(aboutQtAction);
|
||||
}
|
||||
|
||||
void BitcoinGUI::createToolBars()
|
||||
{
|
||||
QToolBar *toolbar = addToolBar(tr("Tabs toolbar"));
|
||||
toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
toolbar->addAction(overviewAction);
|
||||
toolbar->addAction(sendCoinsAction);
|
||||
toolbar->addAction(receiveCoinsAction);
|
||||
toolbar->addAction(historyAction);
|
||||
toolbar->addAction(addressBookAction);
|
||||
}
|
||||
|
||||
void BitcoinGUI::setClientModel(ClientModel *clientModel)
|
||||
{
|
||||
this->clientModel = clientModel;
|
||||
@@ -318,7 +345,6 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel)
|
||||
trayIcon->setToolTip(trayIcon->toolTip() + QString(" ") + tr("[testnet]"));
|
||||
trayIcon->setIcon(QIcon(":/icons/toolbar_testnet"));
|
||||
}
|
||||
|
||||
toggleHideAction->setIcon(QIcon(":/icons/toolbar_testnet"));
|
||||
aboutAction->setIcon(QIcon(":/icons/toolbar_testnet"));
|
||||
}
|
||||
@@ -371,6 +397,8 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
|
||||
signMessageAction->setEnabled(enabled);
|
||||
verifyMessageAction->setEnabled(enabled);
|
||||
addressBookAction->setEnabled(enabled);
|
||||
pryptoRedeemAction->setEnabled(enabled);
|
||||
infoPageAction->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void BitcoinGUI::createTrayIcon()
|
||||
@@ -445,7 +473,7 @@ void BitcoinGUI::restoreWindowGeometry()
|
||||
{
|
||||
QSettings settings;
|
||||
QPoint pos = settings.value("nWindowPos").toPoint();
|
||||
QSize size = settings.value("nWindowSize", QSize(850, 550)).toSize();
|
||||
QSize size = settings.value("nWindowSize", QSize(900, 650)).toSize();
|
||||
if (!pos.x() && !pos.y())
|
||||
{
|
||||
QRect screen = QApplication::desktop()->screenGeometry();
|
||||
@@ -467,34 +495,61 @@ void BitcoinGUI::optionsClicked()
|
||||
|
||||
void BitcoinGUI::aboutClicked()
|
||||
{
|
||||
AboutDialog dlg;
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::INFO );
|
||||
AboutDialog dlg;
|
||||
dlg.setModel(clientModel);
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
// TODO
|
||||
//void BitcoinGUI::redeemPryptoClicked()
|
||||
//{
|
||||
// if ( menuBar_new ) menuBar_new->SetCurrentItemType( GUIMenuToolbarControl::INFO );
|
||||
// RedeemPryptoDialog dlg;
|
||||
// dlg.setModel(clientModel);
|
||||
// dlg.exec();
|
||||
//}
|
||||
|
||||
void BitcoinGUI::gotoOverviewPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoOverviewPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::OVERVIEW );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoHistoryPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoHistoryPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::TRANSACTIONS );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoAddressBookPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoAddressBookPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::CONTACTS );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoPryptoPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoPryptoPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::REDEEM_PRYPTO );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoInfoPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoInfoPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::INFO );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoReceiveCoinsPage()
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoReceiveCoinsPage();
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::RECEIVE );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoSendCoinsPage(QString addr)
|
||||
{
|
||||
if (walletFrame) walletFrame->gotoSendCoinsPage(addr);
|
||||
if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::SEND );
|
||||
}
|
||||
|
||||
void BitcoinGUI::gotoSignMessageTab(QString addr)
|
||||
@@ -837,3 +892,45 @@ void BitcoinGUI::detectShutdown()
|
||||
if (ShutdownRequested())
|
||||
QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void BitcoinGUI::slotMenuToolbarItemClicked( GUIMenuToolbarControl::EMenuToolbarItemTypes a_eType )
|
||||
{
|
||||
switch( a_eType )
|
||||
{
|
||||
case GUIMenuToolbarControl::OVERVIEW:
|
||||
{
|
||||
emit overviewAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::SEND:
|
||||
{
|
||||
emit sendCoinsAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::RECEIVE:
|
||||
{
|
||||
emit receiveCoinsAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::TRANSACTIONS:
|
||||
{
|
||||
emit historyAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::CONTACTS:
|
||||
{
|
||||
emit addressBookAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::REDEEM_PRYPTO:
|
||||
{
|
||||
emit pryptoRedeemAction->triggered();
|
||||
break;
|
||||
}
|
||||
case GUIMenuToolbarControl::INFO:
|
||||
{
|
||||
emit infoPageAction->triggered();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QMap>
|
||||
|
||||
#include "qtquick_controls/cpp/guimenutoolbarcontrol.h"
|
||||
|
||||
class TransactionTableModel;
|
||||
class WalletFrame;
|
||||
class WalletView;
|
||||
@@ -19,6 +21,8 @@ class SignVerifyMessageDialog;
|
||||
class Notificator;
|
||||
class RPCConsole;
|
||||
|
||||
class GUIMenuToolbarWidget;
|
||||
|
||||
class CWallet;
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -65,6 +69,8 @@ public:
|
||||
QAction * getOverviewAction() { return overviewAction; }
|
||||
QAction * getHistoryAction() { return historyAction; }
|
||||
QAction * getAddressBookAction() { return addressBookAction; }
|
||||
QAction * getPryptoRedeemAction() { return pryptoRedeemAction; }
|
||||
QAction * getInfoPageAction() { return infoPageAction; }
|
||||
QAction * getReceiveCoinsAction() { return receiveCoinsAction; }
|
||||
QAction * getSendCoinsAction() { return sendCoinsAction; }
|
||||
|
||||
@@ -78,6 +84,7 @@ protected:
|
||||
private:
|
||||
ClientModel *clientModel;
|
||||
WalletFrame *walletFrame;
|
||||
GUIMenuToolbarWidget *toolbarGUI20;
|
||||
|
||||
QLabel *labelEncryptionIcon;
|
||||
QLabel *labelConnectionsIcon;
|
||||
@@ -102,6 +109,8 @@ private:
|
||||
QAction *changePassphraseAction;
|
||||
QAction *aboutQtAction;
|
||||
QAction *openRPCConsoleAction;
|
||||
QAction *pryptoRedeemAction;
|
||||
QAction *infoPageAction;
|
||||
|
||||
QSystemTrayIcon *trayIcon;
|
||||
Notificator *notificator;
|
||||
@@ -116,8 +125,6 @@ private:
|
||||
void createActions();
|
||||
/** Create the menu bar and sub-menus. */
|
||||
void createMenuBar();
|
||||
/** Create the toolbars */
|
||||
void createToolBars();
|
||||
/** Create system tray icon and notification */
|
||||
void createTrayIcon();
|
||||
/** Create system tray menu (or setup the dock menu) */
|
||||
@@ -169,10 +176,14 @@ private slots:
|
||||
void gotoHistoryPage();
|
||||
/** Switch to address book page */
|
||||
void gotoAddressBookPage();
|
||||
/** Switch to redeem prypto page */
|
||||
void gotoPryptoPage();
|
||||
/** Switch to receive coins page */
|
||||
void gotoReceiveCoinsPage();
|
||||
/** Switch to send coins page */
|
||||
void gotoSendCoinsPage(QString addr = "");
|
||||
/** Switch to info page */
|
||||
void gotoInfoPage();
|
||||
|
||||
/** Show Sign/Verify Message dialog and switch to sign message tab */
|
||||
void gotoSignMessageTab(QString addr = "");
|
||||
@@ -195,6 +206,9 @@ private slots:
|
||||
|
||||
/** called by a timer to check if fRequestShutdown has been set **/
|
||||
void detectShutdown();
|
||||
|
||||
/** called from new Qml menu toolbar on user click **/
|
||||
void slotMenuToolbarItemClicked( GUIMenuToolbarControl::EMenuToolbarItemTypes a_eType );
|
||||
};
|
||||
|
||||
#endif // BITCOINGUI_H
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <QtGlobal>
|
||||
#include "version.h"
|
||||
// Automatically generated by extract_strings.py
|
||||
#ifdef __GNUC__
|
||||
#define UNUSED __attribute__((unused))
|
||||
@@ -6,18 +7,19 @@
|
||||
#define UNUSED
|
||||
#endif
|
||||
static const char UNUSED *bitcoin_strings[] = {
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"%s, you must set a rpcpassword in the configuration file:\n"
|
||||
"%s\n"
|
||||
"It is recommended you use the following random password:\n"
|
||||
"rpcuser=casinocoinrpc\n"
|
||||
"rpcpassword=%s\n"
|
||||
"(you do not need to remember this password)\n"
|
||||
"The username and password MUST NOT be the same.\n"
|
||||
"If the file does not exist, create it with owner-readable-only file "
|
||||
"permissions.\n"
|
||||
"It is also recommended to set alertnotify so you are notified of problems;\n"
|
||||
"for example: alertnotify=echo %%s | mail -s \"CasinoCoin Alert\" admin@foo.com\n"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("") +
|
||||
"%s, you must set a rpcpassword in the configuration file:\n" +
|
||||
"%s\n" +
|
||||
"It is recommended you use the following random password:\n" +
|
||||
"rpcuser=" + COIN_NAME +"rpc\n" +
|
||||
"rpcpassword=%s\n" +
|
||||
"(you do not need to remember this password)\n" +
|
||||
"The username and password MUST NOT be the same.\n" +
|
||||
"If the file does not exist, create it with owner-readable-only file " +
|
||||
"permissions.\n" +
|
||||
"It is also recommended to set alertnotify so you are notified of problems;\n" +
|
||||
"for example: alertnotify=echo %%s | mail -s \"" + COIN_NAME_DISPLAY +
|
||||
" Alert\" admin@foo.com\n").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:"
|
||||
"@STRENGTH)"),
|
||||
@@ -29,9 +31,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Bind to given address and always listen on it. Use [host]:port notation for "
|
||||
"IPv6"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Cannot obtain a lock on data directory %s. CasinoCoin is probably already "
|
||||
"running."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("") +
|
||||
"Cannot obtain a lock on data directory %s. "+ COIN_NAME_DISPLAY + " is probably already "
|
||||
"running.").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Error: The transaction was rejected! This might happen if some of the coins "
|
||||
"in your wallet were already spent, such as if you used a copy of wallet.dat "
|
||||
@@ -62,17 +64,17 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"This is a pre-release test build - use at your own risk - do not use for "
|
||||
"mining or merchant applications"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Unable to bind to %s on this computer. CasinoCoin is probably already running."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("") +
|
||||
"Unable to bind to %s on this computer. "+ COIN_NAME_DISPLAY + " is probably already running.").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Warning: -paytxfee is set very high! This is the transaction fee you will "
|
||||
"pay if you send a transaction."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Warning: Displayed transactions may not be correct! You may need to upgrade, "
|
||||
"or other nodes may need to upgrade."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("") +
|
||||
"Warning: Please check that your computer's date and time are correct! If "
|
||||
"your clock is wrong CasinoCoin will not work properly."),
|
||||
"your clock is wrong "+ COIN_NAME_DISPLAY + " will not work properly.").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", ""
|
||||
"Warning: error reading wallet.dat! All keys read correctly, but transaction "
|
||||
"data or address book entries might be missing or incorrect."),
|
||||
@@ -91,7 +93,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Add a node to connect to and attempt to keep
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Allow DNS lookups for -addnode, -seednode and -connect"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Allow JSON-RPC connections from specified IP address"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Attempt to recover private keys from a corrupt wallet.dat"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "CasinoCoin version"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (COIN_NAME_DISPLAY + " version").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Block creation options:"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot downgrade wallet"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -bind address: '%s'"),
|
||||
@@ -109,7 +111,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing wallet database environmen
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading block database"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet corrupted"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet requires newer version of CasinoCoin"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("Error loading wallet.dat: Wallet requires newer version of ")+ COIN_NAME_DISPLAY + "").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Error: Disk space is low!"),
|
||||
@@ -162,9 +164,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild block chain index from current blk000
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Rescanning..."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Run in the background as a daemon and accept commands"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "SSL options: (see the CasinoCoin Wiki for SSL setup instructions)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("SSL options: (see the ") + COIN_NAME_DISPLAY + " Wiki for SSL setup instructions)").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Select the version of socks proxy to use (4-5, default: 5)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Send command to -server or casinocoind"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("Send command to -server or ") + COIN_NAME + "d").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Send commands to node running on <ip> (default: 127.0.0.1)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to console instead of debug.log file"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to debugger"),
|
||||
@@ -177,10 +179,10 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Set minimum block size in bytes (default: 0)"
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Set the number of threads to service RPC calls (default: 4)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Signing transaction failed"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Specify configuration file (default: casinocoin.conf)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("Specify configuration file (default: ") + COIN_NAME + ".conf)").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Specify connection timeout in milliseconds (default: 5000)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Specify data directory"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Specify pid file (default: casinocoind.pid)"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("Specify pid file (default: ") + COIN_NAME + "d.pid)").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Specify your own public address"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "System error: "),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "This help message"),
|
||||
@@ -202,7 +204,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Use the test network"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Username for JSON-RPC connections"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Verifying blocks..."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet..."),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart CasinoCoin to complete"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", (std::string("Wallet needed to be rewritten: restart ")+ COIN_NAME_DISPLAY + " to complete").c_str()),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Warning"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "Warning: This version is obsolete, upgrade required!"),
|
||||
QT_TRANSLATE_NOOP("bitcoin-core", "You need to rebuild the database using -reindex to change -txindex"),
|
||||
|
||||
429
src/qt/cscfusionstyle.cpp
Normal file
429
src/qt/cscfusionstyle.cpp
Normal file
@@ -0,0 +1,429 @@
|
||||
#include <QtWidgets>
|
||||
|
||||
#include "cscfusionstyle.h"
|
||||
#include "gui20_skin.h"
|
||||
|
||||
CSCFusionStyle::CSCFusionStyle() :
|
||||
QProxyStyle(QStyleFactory::create("fusion"))
|
||||
{
|
||||
}
|
||||
|
||||
void CSCFusionStyle::polish(QPalette &palette)
|
||||
{
|
||||
GUI20Skin& skin = GUI20Skin::Instance();
|
||||
QLinearGradient buttonGradient;
|
||||
buttonGradient.setColorAt( 0, skin.GetColorButtonTopGradient() );
|
||||
buttonGradient.setColorAt( 1, skin.GetColorButtonBottomGradient() );
|
||||
|
||||
QLinearGradient toolTipGradient;
|
||||
toolTipGradient.setColorAt( 0, skin.GetColorToolbarMainGradientBegin() );
|
||||
toolTipGradient.setColorAt( 1, skin.GetColorToolbarMainGradientEnd() );
|
||||
|
||||
palette = QPalette();
|
||||
|
||||
|
||||
palette.setBrush( QPalette::Active, QPalette::Text, skin.GetColorTextActive() );
|
||||
palette.setBrush( QPalette::Active, QPalette::BrightText, skin.GetColorTextActiveAutocomplete() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Base, skin.GetColorFrameBackground() );
|
||||
palette.setBrush( QPalette::Active, QPalette::AlternateBase, skin.GetColorListValueAlternative() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Highlight, skin.GetColorListCurrent() );
|
||||
palette.setBrush( QPalette::Active, QPalette::HighlightedText, skin.GetColorTextActive() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Button, skin.GetColorButtonBottomGradient() );
|
||||
palette.setBrush( QPalette::Active, QPalette::ButtonText, skin.GetColorTextActive() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Mid, skin.GetColorButtonMid() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Dark, skin.GetColorButtonDark() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Light, skin.GetColorButtonLight() );
|
||||
palette.setBrush( QPalette::Active, QPalette::Window, skin.GetColorWindowBackground() );
|
||||
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Text, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::BrightText, skin.GetColorTextDisabledAutocomplete() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Base, skin.GetColorFrameBackground() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::AlternateBase, skin.GetColorListValueAlternative() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Highlight, skin.GetColorListCurrent() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::HighlightedText, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Button, skin.GetColorButtonBottomGradient() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::ButtonText, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Mid, skin.GetColorButtonMid() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Dark, skin.GetColorButtonDark() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Light, skin.GetColorButtonLight() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::Window, skin.GetColorWindowBackground() );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::ToolTipBase, toolTipGradient );
|
||||
palette.setBrush( QPalette::Inactive, QPalette::ToolTipText, skin.GetColorToolbarMainTextCurrent() );
|
||||
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Text, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::BrightText, skin.GetColorTextDisabledAutocomplete() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Base, skin.GetColorFrameBackground() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::AlternateBase, skin.GetColorListValueAlternative() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Highlight, skin.GetColorListCurrent() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::HighlightedText, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Button, skin.GetColorButtonBottomGradient() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::ButtonText, skin.GetColorTextDisabled() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Mid, skin.GetColorButtonMid() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Dark, skin.GetColorButtonDark() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Light, skin.GetColorButtonLight() );
|
||||
palette.setBrush( QPalette::Disabled, QPalette::Window, skin.GetColorWindowBackground() );
|
||||
|
||||
}
|
||||
|
||||
void CSCFusionStyle::polish(QWidget *widget)
|
||||
{
|
||||
if ( qobject_cast<QPushButton *>(widget)
|
||||
|| qobject_cast<QComboBox *>(widget)
|
||||
)
|
||||
{
|
||||
widget->setAttribute(Qt::WA_Hover, true);
|
||||
}
|
||||
}
|
||||
|
||||
void CSCFusionStyle::unpolish(QWidget *widget)
|
||||
{
|
||||
if ( qobject_cast<QPushButton *>(widget)
|
||||
|| qobject_cast<QComboBox *>(widget)
|
||||
)
|
||||
{
|
||||
widget->setAttribute(Qt::WA_Hover, false);
|
||||
}
|
||||
}
|
||||
|
||||
int CSCFusionStyle::pixelMetric(PixelMetric metric,
|
||||
const QStyleOption *option,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
switch (metric)
|
||||
{
|
||||
case PM_DefaultFrameWidth:
|
||||
case PM_ComboBoxFrameWidth:
|
||||
case PM_SpinBoxFrameWidth:
|
||||
case PM_CheckBoxLabelSpacing:
|
||||
case PM_HeaderMargin:
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
case PM_IndicatorHeight:
|
||||
case PM_IndicatorWidth:
|
||||
case PM_ExclusiveIndicatorWidth:
|
||||
case PM_ExclusiveIndicatorHeight:
|
||||
{
|
||||
return 18;
|
||||
}
|
||||
case PM_ScrollBarExtent:
|
||||
{
|
||||
return QProxyStyle::pixelMetric(metric, option, widget) + 4;
|
||||
}
|
||||
case PM_ToolTipLabelFrameWidth:
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
default:
|
||||
{
|
||||
return QProxyStyle::pixelMetric(metric, option, widget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int CSCFusionStyle::styleHint(StyleHint hint, const QStyleOption *option,
|
||||
const QWidget *widget,
|
||||
QStyleHintReturn *returnData) const
|
||||
{
|
||||
switch (hint)
|
||||
{
|
||||
case SH_DitherDisabledText:
|
||||
{
|
||||
return int(false);
|
||||
}
|
||||
case SH_EtchDisabledText:
|
||||
{
|
||||
return int(true);
|
||||
}
|
||||
default:
|
||||
{
|
||||
return QProxyStyle::styleHint(hint, option, widget, returnData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CSCFusionStyle::drawPrimitive(PrimitiveElement element,
|
||||
const QStyleOption *option,
|
||||
QPainter *painter,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
GUI20Skin& skin = GUI20Skin::Instance();
|
||||
|
||||
switch (element)
|
||||
{
|
||||
case PE_FrameDefaultButton:
|
||||
{
|
||||
return;
|
||||
}
|
||||
case PE_FrameFocusRect:
|
||||
{
|
||||
return;
|
||||
}
|
||||
case PE_PanelItemViewRow:
|
||||
{
|
||||
QPainterPath roundRect = roundRectPath(option->rect, 0);
|
||||
|
||||
QBrush brush = option->palette.base();
|
||||
painter->save();
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
painter->fillPath(roundRect, brush);
|
||||
painter->restore();
|
||||
break;
|
||||
}
|
||||
// case PE_IndicatorArrowDown:
|
||||
// case PE_IndicatorArrowUp:
|
||||
// case PE_IndicatorArrowLeft:
|
||||
// case PE_IndicatorArrowRight:
|
||||
// {
|
||||
// int x, y, width, height;
|
||||
// option->rect.getRect(&x, &y, &width, &height);
|
||||
// painter->save();
|
||||
// painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
// QImage imgArrow;
|
||||
// QString strPath = ":/icons/advertsArrow";
|
||||
// if ( element == PE_IndicatorArrowDown || PE_IndicatorSpinDown || PE_IndicatorSpinMinus )
|
||||
// {
|
||||
// strPath.append( "Down" );
|
||||
// }
|
||||
// else if ( element == PE_IndicatorArrowLeft )
|
||||
// {
|
||||
// strPath.append( "Left" );
|
||||
// }
|
||||
// else if ( element == PE_IndicatorArrowUp || PE_IndicatorSpinUp || PE_IndicatorSpinPlus )
|
||||
// {
|
||||
// strPath.append( "Up" );
|
||||
// }
|
||||
// else if ( element == PE_IndicatorArrowRight )
|
||||
// {
|
||||
// strPath.append( "Right" );
|
||||
// }
|
||||
|
||||
// if ( option->state & QStyle::State_MouseOver )
|
||||
// {
|
||||
// strPath.append( "Hover" );
|
||||
// }
|
||||
// qDebug() << "gonna draw: " << strPath;
|
||||
// imgArrow.load( strPath );
|
||||
// int iTopLeftX = x + ( ( ( width - imgArrow.width() ) / 2 ) );
|
||||
// int iTopLeftY = y + ( ( ( height - imgArrow.height() ) / 2 ) );
|
||||
// painter->drawImage( QPoint( iTopLeftX, iTopLeftY), imgArrow );
|
||||
// painter->restore();
|
||||
// break;
|
||||
// }
|
||||
case PE_FrameGroupBox:
|
||||
case PE_FrameWindow:
|
||||
case PE_Frame:
|
||||
{
|
||||
int x, y, width, height;
|
||||
option->rect.getRect(&x, &y, &width, &height);
|
||||
|
||||
QPainterPath roundRect = roundRectPath(option->rect, 5);
|
||||
|
||||
QBrush brush = option->palette.base();
|
||||
painter->save();
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
painter->fillPath(roundRect, brush);
|
||||
painter->restore();
|
||||
break;
|
||||
}
|
||||
case PE_IndicatorRadioButton:
|
||||
{
|
||||
int x, y, width, height;
|
||||
option->rect.getRect(&x, &y, &width, &height);
|
||||
|
||||
QPainterPath roundRect = roundRectPath( QRect( x + 1, y + 1, width - 1, height - 1 ), ( width -1 ) / 2);
|
||||
QPen pen( skin.GetColorToolbarMainGradientBegin(), 2 );
|
||||
painter->save();
|
||||
painter->setPen( pen );
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
painter->drawPath( roundRect );
|
||||
if ( option->state & QStyle::State_Off )
|
||||
{
|
||||
}
|
||||
else if ( option->state & QStyle::State_On )
|
||||
{
|
||||
QImage checkboxTick( ":/icons/radiobuttonTick" );
|
||||
checkboxTick = checkboxTick.scaled( 10, 10 );
|
||||
int iTopLeftX = x + ( ( ( width - checkboxTick.width() ) / 2 ) );
|
||||
int iTopLeftY = y + ( ( ( height - checkboxTick.height() ) / 2 ) );
|
||||
painter->drawImage( QPoint( iTopLeftX, iTopLeftY ), checkboxTick );
|
||||
}
|
||||
painter->restore();
|
||||
break;
|
||||
}
|
||||
case PE_IndicatorCheckBox:
|
||||
{
|
||||
int x, y, width, height;
|
||||
option->rect.getRect(&x, &y, &width, &height);
|
||||
|
||||
QPainterPath roundRect = roundRectPath( QRect( x + 1, y + 1, width - 1, height - 1 ), 2 );
|
||||
QPen pen( skin.GetColorToolbarMainGradientBegin(), 2 );
|
||||
painter->save();
|
||||
painter->setPen( pen );
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
painter->drawPath( roundRect );
|
||||
if ( option->state & QStyle::State_Off )
|
||||
{
|
||||
}
|
||||
else if ( option->state & QStyle::State_On )
|
||||
{
|
||||
QImage checkboxTick( ":/icons/checkboxTick" );
|
||||
int iTopLeftX = x + ( ( ( width - checkboxTick.width() ) / 2 ) );
|
||||
int iTopLeftY = y + ( ( ( height - checkboxTick.height() ) / 2 ) );
|
||||
painter->drawImage( QPoint( iTopLeftX, iTopLeftY ), checkboxTick );
|
||||
}
|
||||
painter->restore();
|
||||
break;
|
||||
}
|
||||
case PE_PanelButtonCommand:
|
||||
{
|
||||
GUI20Skin& skin = GUI20Skin::Instance();
|
||||
int delta = (option->state & State_MouseOver) ? 64 : 0;
|
||||
QColor semiTransparentWhite = skin.GetColorButtonLight();
|
||||
semiTransparentWhite.setAlpha(127 + delta);
|
||||
QColor semiTransparentBlack = skin.GetColorButtonDark();
|
||||
semiTransparentBlack.setAlpha(127 - delta);
|
||||
|
||||
int x, y, width, height;
|
||||
option->rect.getRect(&x, &y, &width, &height);
|
||||
|
||||
int radius = 5;
|
||||
QPainterPath roundRect = roundRectPath( QRect( x + 1, y + 1, width - 1, height - 1 ), radius );
|
||||
|
||||
QBrush brush;
|
||||
|
||||
if (option->state & (State_Sunken | State_On))
|
||||
{
|
||||
brush = option->palette.mid();
|
||||
}
|
||||
else
|
||||
{
|
||||
brush = option->palette.button();
|
||||
}
|
||||
|
||||
painter->save();
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
painter->fillPath(roundRect, brush);
|
||||
|
||||
int penWidth;
|
||||
if (radius < 10)
|
||||
{
|
||||
penWidth = 3;
|
||||
}
|
||||
else if (radius < 20)
|
||||
{
|
||||
penWidth = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
penWidth = 7;
|
||||
}
|
||||
|
||||
QPen topPen(semiTransparentWhite, penWidth);
|
||||
QPen bottomPen(semiTransparentBlack, penWidth);
|
||||
|
||||
if (option->state & (State_Sunken | State_On))
|
||||
{
|
||||
qSwap(topPen, bottomPen);
|
||||
}
|
||||
|
||||
int x1 = x;
|
||||
int x2 = x + radius;
|
||||
int x3 = x + width - radius;
|
||||
int x4 = x + width;
|
||||
|
||||
if (option->direction == Qt::RightToLeft)
|
||||
{
|
||||
qSwap(x1, x4);
|
||||
qSwap(x2, x3);
|
||||
}
|
||||
|
||||
QPolygon topHalf;
|
||||
topHalf << QPoint(x1, y)
|
||||
<< QPoint(x4, y)
|
||||
<< QPoint(x3, y + radius)
|
||||
<< QPoint(x2, y + height - radius)
|
||||
<< QPoint(x1, y + height);
|
||||
|
||||
painter->setClipPath(roundRect);
|
||||
painter->setClipRegion(topHalf, Qt::IntersectClip);
|
||||
painter->setPen(topPen);
|
||||
painter->drawPath(roundRect);
|
||||
|
||||
QPolygon bottomHalf = topHalf;
|
||||
bottomHalf[0] = QPoint(x4, y + height);
|
||||
|
||||
painter->setClipPath(roundRect);
|
||||
painter->setClipRegion(bottomHalf, Qt::IntersectClip);
|
||||
painter->setPen(bottomPen);
|
||||
painter->drawPath(roundRect);
|
||||
|
||||
painter->setPen(option->palette.foreground().color());
|
||||
painter->setClipping(false);
|
||||
painter->drawPath(roundRect);
|
||||
|
||||
painter->restore();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
QProxyStyle::drawPrimitive(element, option, painter, widget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CSCFusionStyle::drawControl(ControlElement element,
|
||||
const QStyleOption *option,
|
||||
QPainter *painter,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
switch (element)
|
||||
{
|
||||
case CE_PushButtonLabel:
|
||||
{
|
||||
QStyleOptionButton myButtonOption;
|
||||
const QStyleOptionButton *buttonOption =
|
||||
qstyleoption_cast<const QStyleOptionButton *>(option);
|
||||
if (buttonOption)
|
||||
{
|
||||
myButtonOption = *buttonOption;
|
||||
if (myButtonOption.palette.currentColorGroup() != QPalette::Disabled)
|
||||
{
|
||||
if (myButtonOption.state & (State_Sunken | State_On))
|
||||
{
|
||||
myButtonOption.palette.setBrush(QPalette::ButtonText,
|
||||
myButtonOption.palette.brightText());
|
||||
}
|
||||
}
|
||||
}
|
||||
QProxyStyle::drawControl(element, &myButtonOption, painter, widget);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
QProxyStyle::drawControl(element, option, painter, widget);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QPainterPath CSCFusionStyle::roundRectPath(const QRect &rect, int radius)
|
||||
{
|
||||
int diam = 2 * radius;
|
||||
|
||||
int x1, y1, x2, y2;
|
||||
rect.getCoords(&x1, &y1, &x2, &y2);
|
||||
|
||||
QPainterPath path;
|
||||
path.moveTo(x2, y1 + radius);
|
||||
path.arcTo(QRect(x2 - diam, y1, diam, diam), 0.0, +90.0);
|
||||
path.lineTo(x1 + radius, y1);
|
||||
path.arcTo(QRect(x1, y1, diam, diam), 90.0, +90.0);
|
||||
path.lineTo(x1, y2 - radius);
|
||||
path.arcTo(QRect(x1, y2 - diam, diam, diam), 180.0, +90.0);
|
||||
path.lineTo(x1 + radius, y2);
|
||||
path.arcTo(QRect(x2 - diam, y2 - diam, diam, diam), 270.0, +90.0);
|
||||
path.closeSubpath();
|
||||
return path;
|
||||
}
|
||||
|
||||
77
src/qt/cscfusionstyle.h
Normal file
77
src/qt/cscfusionstyle.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** You may use this file under the terms of the BSD license as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
|
||||
** of its contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CSCFUSIONSTYLE_H
|
||||
#define CSCFUSIONSTYLE_H
|
||||
|
||||
#include <QProxyStyle>
|
||||
#include <QPalette>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QPainterPath;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
//! [0]
|
||||
class CSCFusionStyle : public QProxyStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CSCFusionStyle();
|
||||
|
||||
void polish(QPalette &palette) Q_DECL_OVERRIDE;
|
||||
void polish(QWidget *widget) Q_DECL_OVERRIDE;
|
||||
void unpolish(QWidget *widget) Q_DECL_OVERRIDE;
|
||||
int pixelMetric(PixelMetric metric, const QStyleOption *option,
|
||||
const QWidget *widget) const Q_DECL_OVERRIDE;
|
||||
int styleHint(StyleHint hint, const QStyleOption *option,
|
||||
const QWidget *widget, QStyleHintReturn *returnData) const Q_DECL_OVERRIDE;
|
||||
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget) const Q_DECL_OVERRIDE;
|
||||
void drawControl(ControlElement control, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget) const Q_DECL_OVERRIDE;
|
||||
|
||||
private:
|
||||
static QPainterPath roundRectPath(const QRect &rect, int radius);
|
||||
|
||||
};
|
||||
//! [0]
|
||||
|
||||
#endif
|
||||
140
src/qt/currencies.cpp
Normal file
140
src/qt/currencies.cpp
Normal file
@@ -0,0 +1,140 @@
|
||||
#include "currencies.h"
|
||||
#include <QStringList>
|
||||
#include <QLocale>
|
||||
|
||||
Currencies::Currencies(QObject *parent):
|
||||
QAbstractListModel(parent),
|
||||
currencylist(availableCurrencies())
|
||||
{
|
||||
}
|
||||
|
||||
QList<Currencies::FiatCurrencyID> Currencies::availableCurrencies()
|
||||
{
|
||||
QList<Currencies::FiatCurrencyID> currencylist;
|
||||
currencylist.append(USD);
|
||||
currencylist.append(EUR);
|
||||
currencylist.append(CNY);
|
||||
currencylist.append(JPY);
|
||||
currencylist.append(RUB);
|
||||
currencylist.append(CAD);
|
||||
currencylist.append(GBP);
|
||||
currencylist.append(AUD);
|
||||
currencylist.append(NZD);
|
||||
return currencylist;
|
||||
}
|
||||
|
||||
bool Currencies::valid(int currency)
|
||||
{
|
||||
switch(currency)
|
||||
{
|
||||
case USD:
|
||||
case EUR:
|
||||
case CNY:
|
||||
case JPY:
|
||||
case RUB:
|
||||
case CAD:
|
||||
case GBP:
|
||||
case AUD:
|
||||
case NZD:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
QString Currencies::name(int currency)
|
||||
{
|
||||
switch(currency)
|
||||
{
|
||||
case USD: return QString("USD");
|
||||
case EUR: return QString("EUR");
|
||||
case CNY: return QString("CNY");
|
||||
case JPY: return QString("JPY");
|
||||
case RUB: return QString("RUB");
|
||||
case CAD: return QString("CAD");
|
||||
case GBP: return QString("GBP");
|
||||
case AUD: return QString("AUD");
|
||||
case NZD: return QString("NZD");
|
||||
default: return QString("???");
|
||||
}
|
||||
}
|
||||
|
||||
QString Currencies::description(int currency)
|
||||
{
|
||||
switch(currency)
|
||||
{
|
||||
case USD: return QString("US Dollar");
|
||||
case EUR: return QString("European Euro");
|
||||
case CNY: return QString("Chinese Yuan");
|
||||
case JPY: return QString("Japanese Yen");
|
||||
case RUB: return QString("Russian Ruble");
|
||||
case CAD: return QString("Canadian Dollar");
|
||||
case GBP: return QString("British Pound");
|
||||
case AUD: return QString("Australian Dollar");
|
||||
case NZD: return QString("New Zealand Dollar");
|
||||
default: return QString("???");
|
||||
}
|
||||
}
|
||||
|
||||
QString Currencies::symbol(int currency)
|
||||
{
|
||||
switch(currency)
|
||||
{
|
||||
case USD: return QString("$");
|
||||
case EUR: return QString("€");
|
||||
case CNY: return QString("¥");
|
||||
case JPY: return QString("¥");
|
||||
case RUB: return QString("₽");
|
||||
case CAD: return QString("$");
|
||||
case GBP: return QString("£");
|
||||
case AUD: return QString("$");
|
||||
case NZD: return QString("$");
|
||||
default: return QString("$");
|
||||
}
|
||||
}
|
||||
|
||||
QString Currencies::format(int currency, double value, bool useSymbol, int decimals, bool isSatoshi)
|
||||
{
|
||||
// divide by satoshi
|
||||
double fiatValue = value;
|
||||
if(isSatoshi)
|
||||
{
|
||||
fiatValue *= 0.00000001;
|
||||
}
|
||||
QString formattedValue = "";
|
||||
if(useSymbol)
|
||||
{
|
||||
formattedValue.append(symbol(currency)).append(" ");
|
||||
}
|
||||
// apply format
|
||||
QLocale::setDefault( QLocale(QLocale::English, QLocale::UnitedStates) );
|
||||
formattedValue.append(QString("%L1").arg(fiatValue, 0, 'f', decimals)).append(" ").append(name(currency));
|
||||
return formattedValue;
|
||||
}
|
||||
|
||||
int Currencies::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
Q_UNUSED(parent);
|
||||
return currencylist.size();
|
||||
}
|
||||
|
||||
QVariant Currencies::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
int row = index.row();
|
||||
if(row >= 0 && row < currencylist.size())
|
||||
{
|
||||
FiatCurrencyID currency = currencylist.at(row);
|
||||
switch(role)
|
||||
{
|
||||
case Qt::EditRole:
|
||||
case Qt::DisplayRole:
|
||||
return QVariant(name(currency));
|
||||
case Qt::ToolTipRole:
|
||||
return QVariant(description(currency));
|
||||
case CurrencyRole:
|
||||
return QVariant(static_cast<int>(currency));
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
54
src/qt/currencies.h
Normal file
54
src/qt/currencies.h
Normal file
@@ -0,0 +1,54 @@
|
||||
#ifndef CURRENCIES_H
|
||||
#define CURRENCIES_H
|
||||
|
||||
#include <QAbstractListModel>
|
||||
|
||||
class Currencies : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Currencies(QObject *parent);
|
||||
|
||||
enum FiatCurrencyID {
|
||||
USD,
|
||||
EUR,
|
||||
CNY,
|
||||
JPY,
|
||||
RUB,
|
||||
CAD,
|
||||
GBP,
|
||||
AUD,
|
||||
NZD,
|
||||
};
|
||||
|
||||
//! Get list of currencies, for drop-down box
|
||||
static QList<FiatCurrencyID> availableCurrencies();
|
||||
//! Is currency ID valid?
|
||||
static bool valid(int currency);
|
||||
//! Short name
|
||||
static QString name(int currency);
|
||||
//! Longer description
|
||||
static QString description(int unit);
|
||||
//! symbol
|
||||
static QString symbol(int currency);
|
||||
//! Format value
|
||||
static QString format(int currency, double value, bool symbol, int decimals, bool isSatoshi);
|
||||
|
||||
//! @name AbstractListModel implementation
|
||||
//! List model for currency drop-down selection box.
|
||||
///@{
|
||||
enum RoleIndex {
|
||||
/** Currency identifier */
|
||||
CurrencyRole = Qt::UserRole
|
||||
};
|
||||
int rowCount(const QModelIndex &parent) const;
|
||||
QVariant data(const QModelIndex &index, int role) const;
|
||||
///@}
|
||||
|
||||
private:
|
||||
QList<Currencies::FiatCurrencyID> currencylist;
|
||||
};
|
||||
typedef Currencies::FiatCurrencyID Currency;
|
||||
|
||||
#endif // CURRENCIES_H
|
||||
@@ -115,7 +115,8 @@ Distributed under the MIT/X11 software license, see the accompanying file COPYIN
|
||||
|
||||
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.
|
||||
|
||||
Official forum: http://forum.casinoco.in
|
||||
Website: http://casinocoin.org
|
||||
Forum: http://forums.casinocoin.org
|
||||
</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
|
||||
@@ -6,53 +6,15 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>760</width>
|
||||
<width>993</width>
|
||||
<height>380</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Address Book</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelExplanation">
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableView" name="tableView">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Double-click to edit address or label</string>
|
||||
</property>
|
||||
<property name="tabKeyNavigation">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="newAddress">
|
||||
@@ -153,6 +115,17 @@
|
||||
<property name="toolTip">
|
||||
<string>Export the data in the current tab to a file</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(170, 28, 33);
|
||||
color: rgb(255, 255, 255);
|
||||
pressed
|
||||
{
|
||||
background-color: rgb(166, 27, 31);
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Export</string>
|
||||
</property>
|
||||
@@ -160,6 +133,12 @@
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/export</normaloff>:/icons/export</iconset>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -177,6 +156,59 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QTableView" name="tableView">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Double-click to edit address or label</string>
|
||||
</property>
|
||||
<property name="tabKeyNavigation">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelExplanation">
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
|
||||
468
src/qt/forms/infopage.ui
Normal file
468
src/qt/forms/infopage.ui
Normal file
@@ -0,0 +1,468 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>InfoPage</class>
|
||||
<widget class="QDialog" name="InfoPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>480</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>800</width>
|
||||
<height>480</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="coinInfoBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>4</horstretch>
|
||||
<verstretch>1</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblInformationHeader">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Information</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QFormLayout" name="formCoinDetails">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblBlockHeight">
|
||||
<property name="font">
|
||||
<font>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Current number of blocks</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::AutoText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="txtBlockHeight">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lblLastBlockTime">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Last block time</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="txtLastBlockTime">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="lblCoinSupply">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Coin Supply</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="txtCoinSupply">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="lblCoinValue">
|
||||
<property name="text">
|
||||
<string>Coin Value</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="txtCoinValue">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="lblCoinFiatValue">
|
||||
<property name="text">
|
||||
<string>Coin Fiat Value</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="txtCoinFiatValue">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="lblEstimatedMarketCapital">
|
||||
<property name="text">
|
||||
<string>Estimated Marketcapital</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLabel" name="txtEstimatedMarketCapital">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="lblConnections">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Number of connections</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="txtConnections">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="lblDifficulty">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Difficulty</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QLabel" name="txtDifficulty">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="lblHashRate">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Network Hashrate</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLabel" name="txtHashRate">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QFrame" name="twitterFeedBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>3</horstretch>
|
||||
<verstretch>1</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="1" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayoutTwitter"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblTwitterHeader">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Twitter</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QFrame" name="exchangeInfoBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>1</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="1" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayoutExchanges"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lblExchangesHeader">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Exchanges</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -16,14 +16,14 @@
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="tabPosition">
|
||||
<enum>QTabWidget::North</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabMain">
|
||||
<attribute name="title">
|
||||
@@ -31,59 +31,63 @@
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Main">
|
||||
<item>
|
||||
<widget class="QLabel" name="transactionFeeInfoLabel">
|
||||
<property name="text">
|
||||
<string>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QFrame" name="verticalFrame1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="transactionFeeInfoLabel">
|
||||
<property name="text">
|
||||
<string>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1_Main">
|
||||
<item>
|
||||
<widget class="QLabel" name="transactionFeeLabel">
|
||||
<property name="text">
|
||||
<string>Pay transaction &fee</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>transactionFee</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="BitcoinAmountField" name="transactionFee"/>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_1_Main">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QFrame" name="frameTransactionFee">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1_Main">
|
||||
<item>
|
||||
<widget class="QLabel" name="transactionFeeLabel">
|
||||
<property name="text">
|
||||
<string>Pay transaction &fee</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>transactionFee</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="BitcoinAmountField" name="transactionFee"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="bitcoinAtStartup">
|
||||
<property name="toolTip">
|
||||
<string>Automatically start CasinoCoin after logging in to the system.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Start CasinoCoin on system login</string>
|
||||
</property>
|
||||
<widget class="QFrame" name="verticalFrame2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="bitcoinAtStartup">
|
||||
<property name="toolTip">
|
||||
<string>Automatically start CasinoCoin after logging in to the system.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Start CasinoCoin on system login</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -100,34 +104,36 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2_Main">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2_Main">
|
||||
<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="QPushButton" name="resetButton">
|
||||
<property name="toolTip">
|
||||
<string>Reset all client options to default.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Reset Options</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QFrame" name="frameResetOptions">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2_Main">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2_Main">
|
||||
<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="QPushButton" name="resetButton">
|
||||
<property name="toolTip">
|
||||
<string>Reset all client options to default.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Reset Options</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@@ -137,114 +143,122 @@
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Network">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mapPortUpnp">
|
||||
<property name="toolTip">
|
||||
<string>Automatically open the CasinoCoin client port on the router. This only works when your router supports UPnP and it is enabled.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Map port using &UPnP</string>
|
||||
</property>
|
||||
<widget class="QFrame" name="verticalFrame3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="connectSocks">
|
||||
<property name="toolTip">
|
||||
<string>Connect to the CasinoCoin network through a SOCKS proxy (e.g. when connecting through Tor).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Connect through SOCKS proxy:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mapPortUpnp">
|
||||
<property name="toolTip">
|
||||
<string>Automatically open the CasinoCoin client port on the router. This only works when your router supports UPnP and it is enabled.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Map port using &UPnP</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="connectSocks">
|
||||
<property name="toolTip">
|
||||
<string>Connect to the CasinoCoin network through a SOCKS proxy (e.g. when connecting through Tor).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Connect through SOCKS proxy:</string>
|
||||
</property>
|
||||
<widget class="QFrame" name="frame">
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="proxyIpLabel">
|
||||
<property name="text">
|
||||
<string>Proxy &IP:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>proxyIp</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="proxyPortLabel">
|
||||
<property name="text">
|
||||
<string>&Port:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>proxyPort</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="socksVersionLabel">
|
||||
<property name="text">
|
||||
<string>SOCKS &Version:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>socksVersion</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<spacer name="horizontalSpacer_Network">
|
||||
<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 row="2" column="1">
|
||||
<widget class="QValueComboBox" name="socksVersion">
|
||||
<property name="toolTip">
|
||||
<string>SOCKS version of the proxy (e.g. 5)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QValidatedLineEdit" name="proxyIp">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>140</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>IP address of the proxy (e.g. 127.0.0.1)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="proxyPort">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>140</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Port of the proxy (e.g. 9050)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Network">
|
||||
<item>
|
||||
<widget class="QLabel" name="proxyIpLabel">
|
||||
<property name="text">
|
||||
<string>Proxy &IP:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>proxyIp</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValidatedLineEdit" name="proxyIp">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>140</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>IP address of the proxy (e.g. 127.0.0.1)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="proxyPortLabel">
|
||||
<property name="text">
|
||||
<string>&Port:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>proxyPort</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="proxyPort">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>55</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Port of the proxy (e.g. 9050)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="socksVersionLabel">
|
||||
<property name="text">
|
||||
<string>SOCKS &Version:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>socksVersion</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="socksVersion">
|
||||
<property name="toolTip">
|
||||
<string>SOCKS version of the proxy (e.g. 5)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_Network">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_Network">
|
||||
<property name="orientation">
|
||||
@@ -266,23 +280,29 @@
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Window">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="minimizeToTray">
|
||||
<property name="toolTip">
|
||||
<string>Show only a tray icon after minimizing the window.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Minimize to the tray instead of the taskbar</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="minimizeOnClose">
|
||||
<property name="toolTip">
|
||||
<string>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M&inimize on close</string>
|
||||
</property>
|
||||
<widget class="QFrame" name="verticalFrame4">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="minimizeToTray">
|
||||
<property name="toolTip">
|
||||
<string>Show only a tray icon after minimizing the window.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Minimize to the tray instead of the taskbar</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="minimizeOnClose">
|
||||
<property name="toolTip">
|
||||
<string>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M&inimize on close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -304,186 +324,222 @@
|
||||
<attribute name="title">
|
||||
<string>&Display</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Display">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1_Display">
|
||||
<item>
|
||||
<widget class="QLabel" name="langLabel">
|
||||
<property name="text">
|
||||
<string>User Interface &language:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>lang</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="lang">
|
||||
<property name="toolTip">
|
||||
<string>The user interface language can be set here. This setting will take effect after restarting CasinoCoin.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2_Display">
|
||||
<item>
|
||||
<widget class="QLabel" name="unitLabel">
|
||||
<property name="text">
|
||||
<string>&Unit to show amounts in:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>unit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="unit">
|
||||
<property name="toolTip">
|
||||
<string>Choose the default subdivision unit to show in the interface and when sending coins.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="displayAddresses">
|
||||
<property name="toolTip">
|
||||
<string>Whether to show CasinoCoin addresses in the transaction list or not.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Display addresses in transaction list</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="verticalFrame5">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_display_Language">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="langLabel">
|
||||
<property name="text">
|
||||
<string>User Interface &language:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>lang</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="lang">
|
||||
<property name="toolTip">
|
||||
<string>The user interface language can be set here. This setting will take effect after restarting CasinoCoin.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_display_Units">
|
||||
<item>
|
||||
<widget class="QLabel" name="unitLabel">
|
||||
<property name="text">
|
||||
<string>&Unit to show amounts in:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>unit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="unit">
|
||||
<property name="toolTip">
|
||||
<string>Choose the default subdivision unit to show in the interface and when sending coins.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_display_Currency">
|
||||
<item>
|
||||
<widget class="QLabel" name="currencyLabel">
|
||||
<property name="text">
|
||||
<string>Currency to show amounts in:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QValueComboBox" name="currency">
|
||||
<property name="toolTip">
|
||||
<string>Choose the default currency in which to show your total coin value.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="coinControlFeatures">
|
||||
<property name="toolTip">
|
||||
<string>Whether to show coin control features or not.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Display coin &control features (experts only!)</string>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<widget class="QFrame" name="verticalFrame6">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="displayAddresses">
|
||||
<property name="toolTip">
|
||||
<string>Whether to show CasinoCoin addresses in the transaction list or not.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Display addresses in transaction list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="coinControlFeatures">
|
||||
<property name="toolTip">
|
||||
<string>Whether to show coin control features or not.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Display coin &control features (experts only!)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="displayPromotions">
|
||||
<property name="toolTip">
|
||||
<string>Whether to show casino promotions on the overview page or not.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Display casino promotions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_Display">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Buttons">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_1">
|
||||
<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">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<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="QPushButton" name="okButton">
|
||||
<property name="text">
|
||||
<string>&OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cancelButton">
|
||||
<property name="text">
|
||||
<string>&Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="applyButton">
|
||||
<property name="text">
|
||||
<string>&Apply</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<item row="1" column="0">
|
||||
<widget class="QFrame" name="frameButtonBar">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Buttons">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_1">
|
||||
<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">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<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="QPushButton" name="okButton">
|
||||
<property name="text">
|
||||
<string>&OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cancelButton">
|
||||
<property name="text">
|
||||
<string>&Cancel</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="applyButton">
|
||||
<property name="text">
|
||||
<string>&Apply</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QValidatedLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>qvalidatedlineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BitcoinAmountField</class>
|
||||
<extends>QSpinBox</extends>
|
||||
<header>bitcoinamountfield.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QValueComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qvaluecombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QValidatedLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>qvalidatedlineedit.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>573</width>
|
||||
<height>342</height>
|
||||
<width>805</width>
|
||||
<height>550</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -31,231 +31,306 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>470</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>470</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="topMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelWalletStatus">
|
||||
<property name="toolTip">
|
||||
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel { color: red; }</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">(out of sync)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Balance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="labelBalance">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Your current balance</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Unconfirmed:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="labelUnconfirmed">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelImmatureText">
|
||||
<property name="text">
|
||||
<string>Immature:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="labelImmature">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Mined balance that has not yet matured</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<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="QLabel" name="labelWalletStatus">
|
||||
<property name="toolTip">
|
||||
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">(out of sync)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelBalanceText">
|
||||
<property name="text">
|
||||
<string>Balance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="labelBalance">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Your current balance</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelUnconfirmedText">
|
||||
<property name="text">
|
||||
<string>Unconfirmed:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="labelUnconfirmed">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labelImmatureText">
|
||||
<property name="text">
|
||||
<string>Immature:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="labelImmature">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Mined balance that has not yet matured</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0 CSC</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelBalanceFiatText">
|
||||
<property name="text">
|
||||
<string>Estimated Fiat Balance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="labelBalanceFiat">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Estimated Fiat balance calculated against current market value</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">0</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="lblTransactionCount">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Transactions:</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLabel" name="txtTransactionCount">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">-</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayoutAdvertWidget"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../bitcoin.qrc">:/images/backg</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>-2</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="topMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string><b>Recent transactions</b></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelTransactionsStatus">
|
||||
<property name="toolTip">
|
||||
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet.</string>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel { color: red; }</string>
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">(out of sync)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
<string><b>Recent transactions</b></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -272,6 +347,22 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelTransactionsStatus">
|
||||
<property name="toolTip">
|
||||
<string>The displayed information may be out of date. Your wallet automatically synchronizes with the CasinoCoin network after a connection is established, but this process has not completed yet.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(166, 27, 31);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">(out of sync)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@@ -296,19 +387,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
116
src/qt/forms/pryptopage.ui
Normal file
116
src/qt/forms/pryptopage.ui
Normal file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>PryptoPage</class>
|
||||
<widget class="QDialog" name="PryptoPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>507</width>
|
||||
<height>282</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>481</width>
|
||||
<height>261</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="leftMargin">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="lblHelp">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Enter your Prypto Code and Security Code to redeem your Prypto card.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::AutoText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lblPryptoCode">
|
||||
<property name="text">
|
||||
<string>Prypto Code</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="txtPryptoCode"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="lblSecurityCode">
|
||||
<property name="text">
|
||||
<string>Security Code</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="txtSecurityCode">
|
||||
<property name="inputMethodHints">
|
||||
<set>Qt::ImhDigitsOnly</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QPushButton" name="butRedeem">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(166, 27, 31);
|
||||
color: rgb(255, 255, 255);
|
||||
pressed
|
||||
{
|
||||
background-color: rgb(166, 27, 31);
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Redeem</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/res/icons/prypto.png</normaloff>:/icons/res/icons/prypto.png</iconset>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../bitcoin.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>740</width>
|
||||
<height>450</height>
|
||||
<height>468</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -17,7 +17,7 @@
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_info">
|
||||
<attribute name="title">
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<property name="windowTitle">
|
||||
<string>Send Coins</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,1">
|
||||
<property name="bottomMargin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
@@ -39,7 +39,7 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayoutCoinControl2">
|
||||
<property name="spacing">
|
||||
<number>-1</number>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
@@ -84,7 +84,7 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">font-weight:bold;</string>
|
||||
<string notr="true">color:rgb(166,27,31);font-weight:bold;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Coin Control Features</string>
|
||||
@@ -130,7 +130,7 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color:red;font-weight:bold;</string>
|
||||
<string notr="true">color:rgb(166,27,31);font-weight:bold;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Insufficient funds!</string>
|
||||
@@ -173,7 +173,16 @@
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutCoinControl5">
|
||||
<property name="margin">
|
||||
<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>
|
||||
@@ -615,48 +624,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>830</width>
|
||||
<height>165</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="entries">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
@@ -702,6 +669,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<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>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
@@ -716,6 +696,12 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelBalance">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
@@ -729,19 +715,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<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="QPushButton" name="sendButton">
|
||||
<property name="minimumSize">
|
||||
@@ -753,6 +726,17 @@
|
||||
<property name="toolTip">
|
||||
<string>Confirm the send action</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(166, 27, 31);
|
||||
color: rgb(255, 255, 255);
|
||||
pressed
|
||||
{
|
||||
background-color: rgb(166, 27, 31);
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>S&end</string>
|
||||
</property>
|
||||
@@ -767,6 +751,77 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>832</width>
|
||||
<height>169</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<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="QFrame" name="entries_2">
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="entries">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
|
||||
@@ -49,9 +49,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="BitcoinAmountField" name="payAmount"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
@@ -80,42 +77,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QValidatedLineEdit" name="addAsLabel">
|
||||
<property name="toolTip">
|
||||
<string>Enter a label for this address to add it to your address book</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="addressBookButton">
|
||||
<property name="toolTip">
|
||||
<string>Choose address from address book</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+A</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="pasteButton">
|
||||
<property name="toolTip">
|
||||
<string>Paste address from clipboard</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+P</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="deleteButton">
|
||||
<widget class="QPushButton" name="deleteButton">
|
||||
<property name="toolTip">
|
||||
<string>Remove this recipient</string>
|
||||
</property>
|
||||
@@ -126,31 +100,104 @@
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addressBookButton">
|
||||
<property name="toolTip">
|
||||
<string>Choose address from address book</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+A</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pasteButton">
|
||||
<property name="toolTip">
|
||||
<string>Paste address from clipboard</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../bitcoin.qrc">
|
||||
<normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+P</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QValidatedLineEdit" name="addAsLabel">
|
||||
<property name="toolTip">
|
||||
<string>Enter a label for this address to add it to your address book</string>
|
||||
<item row="5" column="1" colspan="2">
|
||||
<widget class="BitcoinAmountField" name="payAmount">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>BitcoinAmountField</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>bitcoinamountfield.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QValidatedLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>qvalidatedlineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BitcoinAmountField</class>
|
||||
<extends>QSpinBox</extends>
|
||||
<header>bitcoinamountfield.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../bitcoin.qrc"/>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tabSignMessage">
|
||||
<attribute name="title">
|
||||
|
||||
44
src/qt/gui20_skin.cpp
Normal file
44
src/qt/gui20_skin.cpp
Normal file
@@ -0,0 +1,44 @@
|
||||
#include "gui20_skin.h"
|
||||
|
||||
|
||||
GUI20Skin::GUI20Skin( QObject* a_pParent )
|
||||
: QObject( a_pParent )
|
||||
, colorToolbarMainGradientBegin( "#9c181c" )
|
||||
// , colorToolbarMainGradientEnd( "#ae1e22" )
|
||||
, colorToolbarMainGradientEnd( "#a61b22" )
|
||||
, colorToolbarMainCurrent( "#761316" )
|
||||
, colorToolbarMainBottomCurrent( "#e1252b" )
|
||||
, colorToolbarMainTextCurrent( "#ffffff" )
|
||||
, colorToolbarMainTextNormal( "#3f0a0c" )
|
||||
, colorToolbarMainTextWebsiteURL( colorToolbarMainTextCurrent )
|
||||
, colorToolbarMainTextVisitWebsite( "#ffffaf" )
|
||||
, colorToolbarMainTextShadow( "#c72427" )
|
||||
, colorWindowBackground( "#f0f0f0" )
|
||||
, colorFrameBackground( "#ffffff" )
|
||||
, colorButtonTopGradient( colorFrameBackground )
|
||||
, colorButtonBottomGradient( "#F2F2F2" )
|
||||
, colorButtonMid( "#F8F8F8" )
|
||||
, colorButtonDark( colorButtonBottomGradient )
|
||||
, colorButtonLight( colorFrameBackground )
|
||||
, colorListCurrent( "#F5E5E5" )
|
||||
, colorListValue( colorFrameBackground )
|
||||
, colorListValueAlternative( "#F5F5F5" )
|
||||
, colorTextActive( "#404040" )
|
||||
, colorTextActiveAutocomplete( "#6B3D3D" )
|
||||
, colorTextDisabled( "#707070" )
|
||||
, colorTextDisabledAutocomplete( "#8B5D5D" )
|
||||
, colorTextBlack("#000000")
|
||||
{
|
||||
}
|
||||
|
||||
GUI20Skin& GUI20Skin::Instance()
|
||||
{
|
||||
static GUI20Skin m_oInstance;
|
||||
return m_oInstance;
|
||||
}
|
||||
|
||||
GUI20Skin::~GUI20Skin()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
128
src/qt/gui20_skin.h
Normal file
128
src/qt/gui20_skin.h
Normal file
@@ -0,0 +1,128 @@
|
||||
#ifndef GUI20_SKIN_H
|
||||
#define GUI20_SKIN_H
|
||||
|
||||
#include <QColor>
|
||||
#include <QString>
|
||||
|
||||
#include <QMutex>
|
||||
#include <QObject>
|
||||
|
||||
class GUI20Skin : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY( QColor colorToolbarMainGradientBegin READ GetColorToolbarMainGradientBegin CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainGradientEnd READ GetColorToolbarMainGradientEnd CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainCurrent READ GetColorToolbarMainCurrent CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorToolbarMainBottomCurrent READ GetColorToolbarBottomCurrent CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorToolbarMainTextCurrent READ GetColorToolbarMainTextCurrent CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainTextNormal READ GetColorToolbarMainTextNormal CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainTextShadow READ GetColorToolbarMainTextShadow CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainTextWebsiteURL READ GetColorToolbarMainTextWebsiteURL CONSTANT )
|
||||
Q_PROPERTY( QColor colorToolbarMainTextVisitWebsite READ GetColorToolbarMainTextVisitWebsite CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorWindowBackground READ GetColorWindowBackground CONSTANT )
|
||||
Q_PROPERTY( QColor colorFrameBackground READ GetColorFrameBackground CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorButtonTopGradient READ GetColorButtonTopGradient CONSTANT )
|
||||
Q_PROPERTY( QColor colorButtonBottomGradient READ GetColorButtonBottomGradient CONSTANT )
|
||||
Q_PROPERTY( QColor colorButtonMid READ GetColorButtonMid CONSTANT )
|
||||
Q_PROPERTY( QColor colorButtonDark READ GetColorButtonDark CONSTANT )
|
||||
Q_PROPERTY( QColor colorButtonLight READ GetColorButtonLight CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorListCurrent READ GetColorListCurrent CONSTANT )
|
||||
Q_PROPERTY( QColor colorListValue READ GetColorListValue CONSTANT )
|
||||
Q_PROPERTY( QColor colorListValueAlternative READ GetColorListValueAlternative CONSTANT )
|
||||
|
||||
Q_PROPERTY( QColor colorTextActive READ GetColorTextActive CONSTANT )
|
||||
Q_PROPERTY( QColor colorTextActiveAutocomplete READ GetColorTextActiveAutocomplete CONSTANT )
|
||||
Q_PROPERTY( QColor colorTextDisabled READ GetColorTextDisabled CONSTANT )
|
||||
Q_PROPERTY( QColor colorTextDisabledAutocomplete READ GetColorTextDisabledAutocomplete CONSTANT )
|
||||
Q_PROPERTY( QColor colorTextBlack READ GetColorTextBlack CONSTANT )
|
||||
|
||||
Q_ENUMS( ESizeConstants )
|
||||
|
||||
public:
|
||||
|
||||
enum ESizeConstants
|
||||
{
|
||||
ToolbarMainHeight = 77,
|
||||
ToolbarMainBottomPartHeight = 5
|
||||
};
|
||||
|
||||
const QColor GetColorToolbarMainGradientBegin() const {return colorToolbarMainGradientBegin;}
|
||||
const QColor GetColorToolbarMainGradientEnd() const {return colorToolbarMainGradientEnd;}
|
||||
const QColor GetColorToolbarMainCurrent() const {return colorToolbarMainCurrent;}
|
||||
|
||||
const QColor GetColorToolbarBottomCurrent() const {return colorToolbarMainBottomCurrent;}
|
||||
|
||||
const QColor GetColorToolbarMainTextCurrent() const {return colorToolbarMainTextCurrent;}
|
||||
const QColor GetColorToolbarMainTextNormal() const {return colorToolbarMainTextNormal;}
|
||||
const QColor GetColorToolbarMainTextShadow() const {return colorToolbarMainTextShadow;}
|
||||
const QColor GetColorToolbarMainTextWebsiteURL() const {return colorToolbarMainTextWebsiteURL;}
|
||||
const QColor GetColorToolbarMainTextVisitWebsite() const {return colorToolbarMainTextVisitWebsite;}
|
||||
|
||||
const QColor GetColorWindowBackground() const {return colorWindowBackground;}
|
||||
const QColor GetColorFrameBackground() const {return colorFrameBackground;}
|
||||
|
||||
const QColor GetColorButtonTopGradient() const {return colorButtonTopGradient;}
|
||||
const QColor GetColorButtonBottomGradient() const {return colorButtonBottomGradient;}
|
||||
const QColor GetColorButtonMid() const {return colorButtonMid;}
|
||||
const QColor GetColorButtonDark() const {return colorButtonDark;}
|
||||
const QColor GetColorButtonLight() const {return colorButtonLight;}
|
||||
|
||||
const QColor GetColorListCurrent() const {return colorListCurrent;}
|
||||
const QColor GetColorListValue() const {return colorListValue;}
|
||||
const QColor GetColorListValueAlternative() const {return colorListValueAlternative;}
|
||||
|
||||
const QColor GetColorTextActive() const {return colorTextActive;}
|
||||
const QColor GetColorTextActiveAutocomplete() const {return colorTextActiveAutocomplete;}
|
||||
const QColor GetColorTextDisabled() const {return colorTextDisabled;}
|
||||
const QColor GetColorTextDisabledAutocomplete() const {return colorTextDisabledAutocomplete;}
|
||||
const QColor GetColorTextBlack() const {return colorTextBlack;}
|
||||
|
||||
private:
|
||||
const QColor colorToolbarMainGradientBegin;
|
||||
const QColor colorToolbarMainGradientEnd;
|
||||
const QColor colorToolbarMainCurrent;
|
||||
|
||||
const QColor colorToolbarMainBottomCurrent;
|
||||
|
||||
const QColor colorToolbarMainTextCurrent;
|
||||
const QColor colorToolbarMainTextNormal;
|
||||
const QColor colorToolbarMainTextShadow;
|
||||
const QColor colorToolbarMainTextWebsiteURL;
|
||||
const QColor colorToolbarMainTextVisitWebsite;
|
||||
|
||||
const QColor colorWindowBackground;
|
||||
const QColor colorFrameBackground;
|
||||
|
||||
const QColor colorButtonTopGradient;
|
||||
const QColor colorButtonBottomGradient;
|
||||
const QColor colorButtonMid;
|
||||
const QColor colorButtonDark;
|
||||
const QColor colorButtonLight;
|
||||
|
||||
const QColor colorListCurrent;
|
||||
const QColor colorListValue;
|
||||
const QColor colorListValueAlternative;
|
||||
|
||||
const QColor colorTextActive;
|
||||
const QColor colorTextActiveAutocomplete;
|
||||
const QColor colorTextDisabled;
|
||||
const QColor colorTextDisabledAutocomplete;
|
||||
|
||||
const QColor colorTextBlack;
|
||||
|
||||
public:
|
||||
static GUI20Skin& Instance();
|
||||
private:
|
||||
GUI20Skin( QObject* a_pParent = 0 );
|
||||
virtual ~GUI20Skin();
|
||||
|
||||
};
|
||||
#endif // GUI20_SKIN_H
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUICONSTANTS_H
|
||||
|
||||
/* Milliseconds between model updates */
|
||||
static const int MODEL_UPDATE_DELAY = 250;
|
||||
static const int MODEL_UPDATE_DELAY = 1000;
|
||||
|
||||
/* AskPassphraseDialog -- Maximum passphrase length */
|
||||
static const int MAX_PASSPHRASE_SIZE = 1024;
|
||||
@@ -16,7 +16,9 @@ static const int STATUSBAR_ICONSIZE = 16;
|
||||
/* Transaction list -- unconfirmed transaction */
|
||||
#define COLOR_UNCONFIRMED QColor(128, 128, 128)
|
||||
/* Transaction list -- negative amount */
|
||||
#define COLOR_NEGATIVE QColor(255, 0, 0)
|
||||
#define COLOR_NEGATIVE QColor(166, 27, 31)
|
||||
/* Transaction list -- positive amount */
|
||||
#define COLOR_POSITIVE QColor(27, 166, 31)
|
||||
/* Transaction list -- bare address (without label) */
|
||||
#define COLOR_BAREADDRESS QColor(140, 140, 140)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#ifdef _WIN32_WINNT
|
||||
#undef _WIN32_WINNT
|
||||
#endif
|
||||
#define _WIN32_WINNT 0x0501
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#ifdef _WIN32_IE
|
||||
#undef _WIN32_IE
|
||||
#endif
|
||||
@@ -84,7 +84,7 @@ void setupAmountWidget(QLineEdit *widget, QWidget *parent)
|
||||
bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
|
||||
{
|
||||
// return if URI is not valid or is no bitcoin URI
|
||||
if(!uri.isValid() || uri.scheme() != QString("casinocoin"))
|
||||
if(!uri.isValid() || uri.scheme() != QString(COIN_NAME.c_str()))
|
||||
return false;
|
||||
|
||||
SendCoinsRecipient rv;
|
||||
@@ -139,9 +139,9 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out)
|
||||
//
|
||||
// Cannot handle this later, because bitcoin:// will cause Qt to see the part after // as host,
|
||||
// which will lower-case it (and thus invalidate the address).
|
||||
if(uri.startsWith("casinocoin://"))
|
||||
if(uri.startsWith(QString((COIN_NAME + "://").c_str())))
|
||||
{
|
||||
uri.replace(0, 11, "casinocoin:");
|
||||
uri.replace(0, (COIN_NAME.length()+1), QString((COIN_NAME + ":").c_str()));
|
||||
}
|
||||
QUrl uriInstance(uri);
|
||||
return parseBitcoinURI(uriInstance, out);
|
||||
@@ -301,7 +301,7 @@ bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
|
||||
#ifdef WIN32
|
||||
boost::filesystem::path static StartupShortcutPath()
|
||||
{
|
||||
return GetSpecialFolderPath(CSIDL_STARTUP) / "CasinoCoin.lnk";
|
||||
return GetSpecialFolderPath(CSIDL_STARTUP) / (COIN_NAME_DISPLAY + ".lnk").c_str();
|
||||
}
|
||||
|
||||
bool GetStartOnSystemStartup()
|
||||
@@ -383,7 +383,8 @@ boost::filesystem::path static GetAutostartDir()
|
||||
|
||||
boost::filesystem::path static GetAutostartFilePath()
|
||||
{
|
||||
return GetAutostartDir() / "casinocoin.desktop";
|
||||
std::string filename (""+ COIN_NAME + ".desktop");
|
||||
return GetAutostartDir() / filename;
|
||||
}
|
||||
|
||||
bool GetStartOnSystemStartup()
|
||||
@@ -424,7 +425,7 @@ bool SetStartOnSystemStartup(bool fAutoStart)
|
||||
// Write a bitcoin.desktop file to the autostart directory:
|
||||
optionFile << "[Desktop Entry]\n";
|
||||
optionFile << "Type=Application\n";
|
||||
optionFile << "Name=CasinoCoin\n";
|
||||
optionFile << "Name="+ COIN_NAME_DISPLAY + "\n";
|
||||
optionFile << "Exec=" << pszExePath << " -min\n";
|
||||
optionFile << "Terminal=false\n";
|
||||
optionFile << "Hidden=false\n";
|
||||
@@ -495,10 +496,10 @@ bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
||||
HelpMessageBox::HelpMessageBox(QWidget *parent) :
|
||||
QMessageBox(parent)
|
||||
{
|
||||
header = tr("CasinoCoin-Qt") + " " + tr("version") + " " +
|
||||
header = tr((COIN_NAME_DISPLAY + "-Qt").c_str()) + " " + tr("version") + " " +
|
||||
QString::fromStdString(FormatFullVersion()) + "\n\n" +
|
||||
tr("Usage:") + "\n" +
|
||||
" casinocoin-qt [" + tr("command-line options") + "] " + "\n";
|
||||
QString::fromStdString(" "+ COIN_NAME + "-qt [") + tr("command-line options") + "] " + "\n";
|
||||
|
||||
coreOptions = QString::fromStdString(HelpMessage());
|
||||
|
||||
@@ -507,7 +508,7 @@ HelpMessageBox::HelpMessageBox(QWidget *parent) :
|
||||
" -min " + tr("Start minimized") + "\n" +
|
||||
" -splash " + tr("Show splash screen on startup (default: 1)") + "\n";
|
||||
|
||||
setWindowTitle(tr("CasinoCoin-Qt"));
|
||||
setWindowTitle(tr((COIN_NAME_DISPLAY + "-Qt").c_str()));
|
||||
setTextFormat(Qt::PlainText);
|
||||
// setMinimumWidth is ignored for QMessageBox so put in non-breaking spaces to make it wider.
|
||||
setText(header + QString(QChar(0x2003)).repeated(50));
|
||||
|
||||
130
src/qt/infopage.cpp
Normal file
130
src/qt/infopage.cpp
Normal file
@@ -0,0 +1,130 @@
|
||||
#include "infopage.h"
|
||||
#include "ui_infopage.h"
|
||||
#include "walletmodel.h"
|
||||
#include "clientmodel.h"
|
||||
#include "bitcoinrpc.h"
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include "bitcoinunits.h"
|
||||
#include "main.h"
|
||||
#include "overviewpage.h"
|
||||
#include "qtquick_controls/cpp/guiexchangeswidget.h"
|
||||
#include "twitter/twitterwidget.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
InfoPage::InfoPage(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::InfoPage),
|
||||
exchangesWidget( 0 ),
|
||||
twitterWidget( 0 )
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->coinInfoBox->setMinimumHeight(250);
|
||||
ui->twitterFeedBox->setMinimumHeight(250);
|
||||
ui->exchangeInfoBox->setMinimumHeight(250);
|
||||
createTwitterWidget();
|
||||
createExchangesWidget();
|
||||
}
|
||||
|
||||
void InfoPage::setWalletModel(WalletModel *model)
|
||||
{
|
||||
this->walletModel = model;
|
||||
}
|
||||
|
||||
void InfoPage::setClientModel(ClientModel *model)
|
||||
{
|
||||
this->clientModel = model;
|
||||
if(model)
|
||||
{
|
||||
// Subscribe to information, replies, messages, errors
|
||||
connect(model, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int)));
|
||||
connect(model, SIGNAL(numBlocksChanged(int,int)), this, SLOT(setNumBlocks(int,int)));
|
||||
setNumConnections(model->getNumConnections());
|
||||
setNumBlocks(model->getNumBlocks(), model->getNumBlocksOfPeers());
|
||||
}
|
||||
}
|
||||
|
||||
void InfoPage::setNumConnections(int count)
|
||||
{
|
||||
ui->txtConnections->setText(QString::number(count));
|
||||
}
|
||||
|
||||
void InfoPage::setNumBlocks(int count, int countOfPeers)
|
||||
{
|
||||
ui->txtBlockHeight->setText(QString::number(count));
|
||||
// block height changed so update all possible values as well
|
||||
if(clientModel)
|
||||
{
|
||||
QDateTime blockTime = clientModel->getLastBlockDate().toTimeSpec(Qt::UTC);
|
||||
QString formattedBlockTime = blockTime.toString("dd-MM-yyyy HH:mm:ss");
|
||||
formattedBlockTime.append(" UTC");
|
||||
ui->txtLastBlockTime->setText(formattedBlockTime);
|
||||
ui->txtDifficulty->setText(QString::number(GetDifficulty()));
|
||||
ui->txtCoinSupply->setText(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, GetTotalCoinSupply(count, false)));
|
||||
double megaHash = GetNetworkHashRate(-1, count) / 1000000;
|
||||
ui->txtHashRate->setText(QString::number(megaHash,'f',0).append(" MHash/sec"));
|
||||
}
|
||||
}
|
||||
|
||||
double InfoPage::GetNetworkHashRate(int lookup, int height) {
|
||||
CBlockIndex *pb = pindexBest;
|
||||
|
||||
if (height >= 0 && height < nBestHeight)
|
||||
pb = FindBlockByHeight(height);
|
||||
|
||||
if (pb == NULL || !pb->nHeight)
|
||||
return 0;
|
||||
|
||||
// If lookup is -1, then use blocks since last difficulty change.
|
||||
if (lookup <= 0)
|
||||
lookup = pb->nHeight % 2016 + 1;
|
||||
|
||||
// If lookup is larger than chain, then set it to chain length.
|
||||
if (lookup > pb->nHeight)
|
||||
lookup = pb->nHeight;
|
||||
|
||||
CBlockIndex *pb0 = pb;
|
||||
int64 minTime = pb0->GetBlockTime();
|
||||
int64 maxTime = minTime;
|
||||
for (int i = 0; i < lookup; i++) {
|
||||
pb0 = pb0->pprev;
|
||||
int64 time = pb0->GetBlockTime();
|
||||
minTime = std::min(time, minTime);
|
||||
maxTime = std::max(time, maxTime);
|
||||
}
|
||||
|
||||
// In case there's a situation where minTime == maxTime, we don't want a divide by zero exception.
|
||||
if (minTime == maxTime)
|
||||
return 0;
|
||||
|
||||
uint256 workDiff = pb->nChainWork - pb0->nChainWork;
|
||||
int64 timeDiff = maxTime - minTime;
|
||||
double workDiffDouble = workDiff.getdouble();
|
||||
return workDiffDouble / timeDiff;
|
||||
}
|
||||
|
||||
InfoPage::~InfoPage()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void InfoPage::createTwitterWidget()
|
||||
{
|
||||
twitterWidget = new TwitterWidget( this );
|
||||
ui->verticalLayoutTwitter->addWidget( twitterWidget->dockQmlToWidget() );
|
||||
}
|
||||
|
||||
void InfoPage::createExchangesWidget()
|
||||
{
|
||||
exchangesWidget = new GUIExchangesWidget( this );
|
||||
exchangesWidget->slotPopulateExchangesFromWeb();
|
||||
ui->verticalLayoutExchanges->addWidget( exchangesWidget->dockQmlToWidget() );
|
||||
}
|
||||
|
||||
void InfoPage::setCoinValues(QString coinValue, QString coinFiatValue, QString marketCapital)
|
||||
{
|
||||
ui->txtCoinValue->setText(coinValue);
|
||||
ui->txtCoinFiatValue->setText(coinFiatValue);
|
||||
ui->txtEstimatedMarketCapital->setText(marketCapital);
|
||||
}
|
||||
45
src/qt/infopage.h
Normal file
45
src/qt/infopage.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef INFOPAGE_H
|
||||
#define INFOPAGE_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
class WalletModel;
|
||||
class ClientModel;
|
||||
class GUIExchangesWidget;
|
||||
class TwitterWidget;
|
||||
|
||||
namespace Ui {
|
||||
class InfoPage;
|
||||
}
|
||||
|
||||
class InfoPage : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public slots:
|
||||
/** Set number of connections shown in the UI */
|
||||
void setNumConnections(int count);
|
||||
/** Set number of blocks shown in the UI */
|
||||
void setNumBlocks(int count, int countOfPeers);
|
||||
/** Set coin values */
|
||||
void setCoinValues(const QString coinValue, const QString coinFiatValue, const QString marketCapital);
|
||||
|
||||
public:
|
||||
explicit InfoPage(QWidget *parent = 0);
|
||||
void setWalletModel(WalletModel *model);
|
||||
void setClientModel(ClientModel *model);
|
||||
~InfoPage();
|
||||
|
||||
private:
|
||||
Ui::InfoPage *ui;
|
||||
WalletModel *walletModel;
|
||||
ClientModel *clientModel;
|
||||
GUIExchangesWidget* exchangesWidget;
|
||||
TwitterWidget* twitterWidget;
|
||||
|
||||
void createTwitterWidget();
|
||||
void createExchangesWidget();
|
||||
double GetNetworkHashRate(int lookup, int height);
|
||||
};
|
||||
|
||||
#endif // INFOPAGE_H
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "ui_optionsdialog.h"
|
||||
|
||||
#include "bitcoinunits.h"
|
||||
#include "currencies.h"
|
||||
#include "monitoreddatamapper.h"
|
||||
#include "netbase.h"
|
||||
#include "optionsmodel.h"
|
||||
@@ -80,6 +81,7 @@ OptionsDialog::OptionsDialog(QWidget *parent) :
|
||||
}
|
||||
|
||||
ui->unit->setModel(new BitcoinUnits(this));
|
||||
ui->currency->setModel(new Currencies(this));
|
||||
|
||||
/* Widget-to-option mapper */
|
||||
mapper = new MonitoredDataMapper(this);
|
||||
@@ -106,7 +108,6 @@ void OptionsDialog::setModel(OptionsModel *model)
|
||||
if(model)
|
||||
{
|
||||
connect(model, SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
|
||||
|
||||
mapper->setModel(model);
|
||||
setMapper();
|
||||
mapper->toFirst();
|
||||
@@ -145,8 +146,10 @@ void OptionsDialog::setMapper()
|
||||
/* Display */
|
||||
mapper->addMapping(ui->lang, OptionsModel::Language);
|
||||
mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
|
||||
mapper->addMapping(ui->currency, OptionsModel::DisplayFiatCurrency);
|
||||
mapper->addMapping(ui->displayAddresses, OptionsModel::DisplayAddresses);
|
||||
mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
|
||||
mapper->addMapping(ui->displayPromotions, OptionsModel::DisplayPromotions);
|
||||
}
|
||||
|
||||
void OptionsDialog::enableApplyButton()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "optionsmodel.h"
|
||||
|
||||
#include "bitcoinunits.h"
|
||||
#include "currencies.h"
|
||||
#include "init.h"
|
||||
#include "walletdb.h"
|
||||
#include "guiutil.h"
|
||||
@@ -49,6 +50,8 @@ void OptionsModel::Init()
|
||||
nTransactionFee = settings.value("nTransactionFee").toLongLong();
|
||||
language = settings.value("language", "").toString();
|
||||
fCoinControlFeatures = settings.value("fCoinControlFeatures", false).toBool();
|
||||
nDisplayFiatCurrency = settings.value("nDisplayFiatCurrency", Currencies::USD).toInt();
|
||||
fDisplayPromotions = settings.value("fDisplayPromotions", true).toBool();
|
||||
|
||||
// These are shared with core Bitcoin; we want
|
||||
// command-line options to override the GUI settings:
|
||||
@@ -199,6 +202,10 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
||||
return settings.value("language", "");
|
||||
case CoinControlFeatures:
|
||||
return QVariant(fCoinControlFeatures);
|
||||
case DisplayFiatCurrency:
|
||||
return QVariant(nDisplayFiatCurrency);
|
||||
case DisplayPromotions:
|
||||
return QVariant(fDisplayPromotions);
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
@@ -274,6 +281,11 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
||||
settings.setValue("nDisplayUnit", nDisplayUnit);
|
||||
emit displayUnitChanged(nDisplayUnit);
|
||||
break;
|
||||
case DisplayFiatCurrency:
|
||||
nDisplayFiatCurrency = value.toInt();
|
||||
settings.setValue("nDisplayFiatCurrency", nDisplayFiatCurrency);
|
||||
emit displayCurrencyChanged(nDisplayFiatCurrency);
|
||||
break;
|
||||
case DisplayAddresses:
|
||||
bDisplayAddresses = value.toBool();
|
||||
settings.setValue("bDisplayAddresses", bDisplayAddresses);
|
||||
@@ -287,6 +299,12 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
||||
emit coinControlFeaturesChanged(fCoinControlFeatures);
|
||||
}
|
||||
break;
|
||||
case DisplayPromotions: {
|
||||
fDisplayPromotions = value.toBool();
|
||||
settings.setValue("fDisplayPromotions", fDisplayPromotions);
|
||||
emit displayPromotionsChanged(fDisplayPromotions);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -27,9 +27,11 @@ public:
|
||||
ProxySocksVersion, // int
|
||||
Fee, // qint64
|
||||
DisplayUnit, // BitcoinUnits::Unit
|
||||
DisplayFiatCurrency, // Currencies::FiatCurrencyID
|
||||
DisplayAddresses, // bool
|
||||
Language, // QString
|
||||
CoinControlFeatures, // bool
|
||||
DisplayPromotions, // bool
|
||||
OptionIDRowCount,
|
||||
};
|
||||
|
||||
@@ -51,6 +53,8 @@ public:
|
||||
bool getDisplayAddresses() { return bDisplayAddresses; }
|
||||
QString getLanguage() { return language; }
|
||||
bool getCoinControlFeatures();
|
||||
int getDisplayFiatCurrency() { return nDisplayFiatCurrency; }
|
||||
bool getDisplayPromotions() { return fDisplayPromotions; }
|
||||
|
||||
private:
|
||||
int nDisplayUnit;
|
||||
@@ -59,11 +63,15 @@ private:
|
||||
bool fMinimizeOnClose;
|
||||
QString language;
|
||||
bool fCoinControlFeatures;
|
||||
int nDisplayFiatCurrency;
|
||||
bool fDisplayPromotions;
|
||||
|
||||
signals:
|
||||
void displayUnitChanged(int unit);
|
||||
void transactionFeeChanged(qint64);
|
||||
void coinControlFeaturesChanged(bool);
|
||||
void displayCurrencyChanged(int currency);
|
||||
void displayPromotionsChanged(bool);
|
||||
};
|
||||
|
||||
#endif // OPTIONSMODEL_H
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user