From: CryptoManiac Date: Wed, 1 Apr 2015 20:37:59 +0000 (+0300) Subject: Merge pull request #191 from novacoin-project/scaninput X-Git-Tag: nvc-v0.5.3~52 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=0068ce8ee8d23110a8d892f3213fe7335bf98813;hp=7f21060fcc60ba1010f6d51528667246bb1f42aa Merge pull request #191 from novacoin-project/scaninput Scaninput --- diff --git a/MSVC/build-helpers/buildqt32.bat b/MSVC/build-helpers/buildqt32.bat index 96e3572..32ae090 100644 --- a/MSVC/build-helpers/buildqt32.bat +++ b/MSVC/build-helpers/buildqt32.bat @@ -8,7 +8,7 @@ perl -pi.bak -e "s#QMAKE_CFLAGS_RELEASE = -O2 -MD#QMAKE_CFLAGS_RELEASE = - perl -pi.bak -e "s#QMAKE_CFLAGS_DEBUG = -Zi -MDd#QMAKE_CFLAGS_DEBUG = -Z7 -MTd#g;" qtbase\mkspecs\win32-msvc2012\qmake.conf REM Now do 32 bit by setting environment to MSVC 32 bit call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat" -call configure -debug-and-release -openssl-linked -opensource -confirm-license -platform win32-msvc2012 -nomake examples -nomake tests -static -I \MyProjects\Deps\openssl-1.0.1j\inc32 -L \MyProjects\Deps\openssl-1.0.1j\out32.dbg -L \MyProjects\Deps\openssl-1.0.1j\out32 -l gdi32 -no-opengl -qt-zlib -qt-libpng -qt-libjpeg +call configure -debug-and-release -openssl-linked -opensource -confirm-license -platform win32-msvc2012 -nomake examples -nomake tests -static -I \MyProjects\Deps\openssl-1.0.2\inc32 -L \MyProjects\Deps\openssl-1.0.2\out32.dbg -L \MyProjects\Deps\openssl-1.0.2\out32 -l gdi32 -no-opengl -qt-zlib -qt-libpng -qt-libjpeg nmake REM put back the path set PATH=%OLDPATH% diff --git a/MSVC/build-helpers/buildqt64.bat b/MSVC/build-helpers/buildqt64.bat index 3ef5c61..2cf14a9 100644 --- a/MSVC/build-helpers/buildqt64.bat +++ b/MSVC/build-helpers/buildqt64.bat @@ -8,7 +8,7 @@ perl -pi.bak -e "s#QMAKE_CFLAGS_RELEASE = -O2 -MD#QMAKE_CFLAGS_RELEASE = - perl -pi.bak -e "s#QMAKE_CFLAGS_DEBUG = -Zi -MDd#QMAKE_CFLAGS_DEBUG = -Z7 -MTd#g;" qtbase\mkspecs\win32-msvc2012\qmake.conf REM Now do 64 bit by setting environment to MSVC 64 bit call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_amd64 -call configure -debug-and-release -openssl-linked -opensource -confirm-license -platform win32-msvc2012 -nomake examples -nomake tests -static -I \MyProjects\Deps\openssl-1.0.1j\inc32 -L \MyProjects\Deps\openssl-1.0.1j\out64.dbg -L \MyProjects\Deps\openssl-1.0.1j\out64 -l gdi32 -no-opengl -qt-zlib -qt-libpng -qt-libjpeg +call configure -debug-and-release -openssl-linked -opensource -confirm-license -platform win32-msvc2012 -nomake examples -nomake tests -static -I \MyProjects\Deps\openssl-1.0.2\inc32 -L \MyProjects\Deps\openssl-1.0.2\out64.dbg -L \MyProjects\Deps\openssl-1.0.2\out64 -l gdi32 -no-opengl -qt-zlib -qt-libpng -qt-libjpeg nmake REM put back the path set PATH=%OLDPATH% diff --git a/doc/building novacoin-qt for android under Windows.txt b/doc/building novacoin-qt for android under Windows.txt index 78c879b..d4415b9 100644 --- a/doc/building novacoin-qt for android under Windows.txt +++ b/doc/building novacoin-qt for android under Windows.txt @@ -1,4 +1,5 @@ -1.1 Установка архиватора 7z: http://www.7-zip.org/ +ARMV7 +1.1 Установка архиватора 7z: http://www.7-zip.org/ (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) 1.2 Установка msys shell: @@ -242,3 +243,44 @@ LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -l -Нажмите зеленую стрелку(Запустить)(https://yadi.sk/i/hKHKL_Phe4EFL) -Выберите свой телефон/планшет, нажмите OK и ждите завершения компиляции. -После завершения компиляции Novacoin-Qt будет установлен на ваш телефон/планшет и запущен. А в папке C:\Android\build-novacoin-qt-Android_armeabi_v7a_GCC_4_9_Qt_5_4_0-Release\android-build\bin будет файл QtApp-debug.apk. Переименуйте его в Novacoin-Qt-0.5.1-debug.apk и можно распростронять :) + +Изменения для Android X86 +1. Добавить путь C:\Android\android-ndk-r10d\toolchains\x86-4.9\prebuilt\windows-x86_64\bin в переменную PATH +2. Изменить системные переменные так: + +ANDROID_DEV /c/Android/android-ndk-r10d/platforms/android-9/arch-x86/usr +AR /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ar +AS /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-as +CC /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-gcc +CFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CPP /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-cpp +CPPFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CXX /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ +CXXFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include +LD /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ld +NDK_PROJECT_PATH C:\Android\android-ndk-r10d +RANLIB /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ranlib + +3. При построении OpenSSL выполнить +Configure no-shared no-dso android-x86 +вместо +Configure no-shared no-dso android-armv7 + +4. При построении BerkeleyDB выполнить +../dist/configure --host=x86-none-linux --enable-cxx --disable-shared --disable-replication +вместо +../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication + +5. При построении Boost вставить +using gcc : x86 : i686-linux-android-g++.exe ; +вместо +using gcc : arm : arm-linux-androideabi-g++.exe ; + +и выполнить +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-x86\usr\include + +вместо + +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-arm\usr\include + +6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a diff --git a/doc/building novacoind and novacoinqt under Windows with MSVC.txt b/doc/building novacoind and novacoinqt under Windows with MSVC.txt index 65b6947..24a2aef 100644 --- a/doc/building novacoind and novacoinqt under Windows with MSVC.txt +++ b/doc/building novacoind and novacoinqt under Windows with MSVC.txt @@ -1,10 +1,13 @@ 1. Подготовка системы. +Внимание: данная инструкция (включая сопутствуюшие файлы) расчитана на сборку в среде Windows 64-bit. 1.1 Установка архиватора 7z: http://www.7-zip.org/ (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) 1.2 Установка Visual Studio 2012. (Подойдёт даже бесплатная версия) http://www.microsoft.com/ru-ru/download/details.aspx?id=34673 +Установить обновление Visual Studio 2012 Update 4 +http://www.microsoft.com/ru-ru/download/details.aspx?id=39305 1.3 Установка Perl(при написании инструкции использовался ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi) http://www.activestate.com/activeperl/downloads diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 37bc530..8433d86 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -362,15 +362,7 @@ string HTTPPost(const string& strMsg, const map& mapRequestHeader string rfc1123Time() { - char buffer[64]; - time_t now; - time(&now); - struct tm* now_gmt = gmtime(&now); - string locale(setlocale(LC_TIME, NULL)); - setlocale(LC_TIME, "C"); // we want POSIX (aka "C") weekday/month strings - strftime(buffer, sizeof(buffer), "%a, %d %b %Y %H:%M:%S +0000", now_gmt); - setlocale(LC_TIME, locale.c_str()); - return string(buffer); + return DateTimeStrFormat("%a, %d %b %Y %H:%M:%S +0000", GetTime()); } static string HTTPReply(int nStatus, const string& strMsg, bool keepalive) diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index b78075f..ae2a04b 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -31,7 +31,6 @@ - 11 75 true diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 664de32..3d93577 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -253,7 +253,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in case TorIP: { proxyType proxy; proxy.first = CService("127.0.0.1", 9050); - GetProxy(NET_IPV4, proxy); + GetProxy(NET_TOR, proxy); CNetAddr addr(value.toString().toStdString()); proxy.first.SetIP(addr); @@ -264,7 +264,7 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in case TorPort: { proxyType proxy; proxy.first = CService("127.0.0.1", 9050); - GetProxy(NET_IPV4, proxy); + GetProxy(NET_TOR, proxy); proxy.first.SetPort(value.toInt()); settings.setValue("addrTor", proxy.first.ToStringIPPort().c_str()); diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index 9c77a21..5e991f5 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -106,6 +106,11 @@ OverviewPage::OverviewPage(QWidget *parent) : { ui->setupUi(this); + QFont balance = QApplication::font(); + balance.setPointSize(balance.pointSize() * 1.5); + balance.setBold(true); + ui->label_5->setFont(balance); + // Recent transactions ui->listTransactions->setItemDelegate(txdelegate); ui->listTransactions->setIconSize(QSize(DECORATION_SIZE, DECORATION_SIZE)); diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index b61cecf..89d06f6 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -317,7 +317,7 @@ void RPCConsole::clear() ui->messagesWidget->document()->setDefaultStyleSheet( "table { }" "td.time { color: #808080; padding-top: 3px; } " - "td.message { font-family: Monospace; font-size: 12px; } " + "td.message { font-family: Monospace; } " "td.cmd-request { color: #006060; } " "td.cmd-error { color: red; } " "b { color: #006060; } " diff --git a/src/serialize.h b/src/serialize.h index f579c58..a1f8a0e 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -1360,9 +1360,9 @@ public: unsigned int pos = (unsigned int)(nReadPos % vchBuf.size()); size_t nNow = nSize; if (nNow + pos > vchBuf.size()) - nNow = vchBuf.size() - pos; + nNow = (size_t)(vchBuf.size() - pos); if (nNow + nReadPos > nSrcPos) - nNow = nSrcPos - nReadPos; + nNow = (size_t)(nSrcPos - nReadPos); memcpy(pch, &vchBuf[pos], nNow); nReadPos += nNow; pch += nNow; diff --git a/src/util.cpp b/src/util.cpp index 481da94..8b0afa9 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1464,3 +1464,13 @@ bool NewThread(void(*pfn)(void*), void* parg) } return true; } + +std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime) +{ + // std::locale takes ownership of the pointer + std::locale loc(std::locale::classic(), new boost::posix_time::time_facet(pszFormat)); + std::stringstream ss; + ss.imbue(loc); + ss << boost::posix_time::from_time_t(nTime); + return ss.str(); +} \ No newline at end of file diff --git a/src/util.h b/src/util.h index 77b439e..53dc567 100644 --- a/src/util.h +++ b/src/util.h @@ -351,14 +351,7 @@ inline int64_t GetTimeMillis() boost::posix_time::ptime(boost::gregorian::date(1970,1,1))).total_milliseconds(); } -inline std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime) -{ - time_t n = nTime; - struct tm* ptmTime = gmtime(&n); - char pszTime[200]; - strftime(pszTime, sizeof(pszTime), pszFormat, ptmTime); - return pszTime; -} +std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); static const std::string strTimestampFormat = "%Y-%m-%d %H:%M:%S UTC"; inline std::string DateTimeStrFormat(int64_t nTime)