Merge pull request #191 from novacoin-project/scaninput
authorCryptoManiac <CryptoManiac@users.noreply.github.com>
Wed, 1 Apr 2015 20:37:59 +0000 (23:37 +0300)
committerCryptoManiac <CryptoManiac@users.noreply.github.com>
Wed, 1 Apr 2015 20:37:59 +0000 (23:37 +0300)
Scaninput

12 files changed:
MSVC/build-helpers/buildqt32.bat
MSVC/build-helpers/buildqt64.bat
doc/building novacoin-qt for android under Windows.txt
doc/building novacoind and novacoinqt under Windows with MSVC.txt
src/bitcoinrpc.cpp
src/qt/forms/overviewpage.ui
src/qt/optionsmodel.cpp
src/qt/overviewpage.cpp
src/qt/rpcconsole.cpp
src/serialize.h
src/util.cpp
src/util.h

index 96e3572..32ae090 100644 (file)
@@ -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%
index 3ef5c61..2cf14a9 100644 (file)
@@ -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%
index 78c879b..d4415b9 100644 (file)
@@ -1,4 +1,5 @@
-\feff1.1 Установка архиватора 7z: http://www.7-zip.org/ 
+\feffARMV7
+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
index 65b6947..24a2aef 100644 (file)
@@ -1,10 +1,13 @@
 \feff1. Подготовка системы.
+Внимание: данная инструкция (включая сопутствуюшие файлы) расчитана на сборку в среде 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
index 37bc530..8433d86 100644 (file)
@@ -362,15 +362,7 @@ string HTTPPost(const string& strMsg, const map<string,string>& 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)
index b78075f..ae2a04b 100644 (file)
@@ -31,7 +31,6 @@
            <widget class="QLabel" name="label_5">
             <property name="font">
              <font>
-              <pointsize>11</pointsize>
               <weight>75</weight>
               <bold>true</bold>
              </font>
index 664de32..3d93577 100644 (file)
@@ -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());
index 9c77a21..5e991f5 100644 (file)
@@ -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));
index b61cecf..89d06f6 100644 (file)
@@ -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; } "
index f579c58..a1f8a0e 100644 (file)
@@ -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;
index 481da94..8b0afa9 100644 (file)
@@ -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
index 77b439e..53dc567 100644 (file)
@@ -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)