From f5febd851f94ed34b72d1201347dc42eb55e2efd Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 23 Jan 2019 12:15:17 -0600
Subject: [PATCH 001/225] Git ignore updated

---
 .gitignore | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/.gitignore b/.gitignore
index 6ff6fdd109b6..24a8bf420290 100644
--- a/.gitignore
+++ b/.gitignore
@@ -132,3 +132,11 @@ paccoin-cli
 paccoind
 paccoin-qt
 make
+
+generate-mac-wallet.sh
+
+src/qt/paccoin-qt.creator.user
+src/qt/paccoin-qt.config
+src/qt/paccoin-qt.creator
+src/qt/paccoin-qt.files
+src/qt/paccoin-qt.includes
\ No newline at end of file

From 16a5d823b5b46195076e7f62ffe4fa8af5760964 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 12:23:11 -0600
Subject: [PATCH 002/225] New Private Pac Page added

UI moved to new private pac. Implemented navigation.
---
 .gitignore                  |  10 +
 contrib/dash-qt.pro         |   3 +-
 src/Makefile.qt.include     |   6 +-
 src/qt/bitcoingui.cpp       |  32 ++-
 src/qt/bitcoingui.h         |   3 +
 src/qt/forms/privatepage.ui | 314 +++++++++++++++++++++
 src/qt/privatepage.cpp      | 524 ++++++++++++++++++++++++++++++++++++
 src/qt/privatepage.h        |  83 ++++++
 src/qt/walletframe.cpp      |   6 +
 src/qt/walletframe.h        |   2 +
 src/qt/walletview.cpp       |  10 +
 src/qt/walletview.h         |   5 +-
 12 files changed, 991 insertions(+), 7 deletions(-)
 create mode 100644 src/qt/forms/privatepage.ui
 create mode 100644 src/qt/privatepage.cpp
 create mode 100644 src/qt/privatepage.h

diff --git a/.gitignore b/.gitignore
index 6ff6fdd109b6..e3ab153fe5c0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -132,3 +132,13 @@ paccoin-cli
 paccoind
 paccoin-qt
 make
+
+#Custom build
+generate-mac-wallet.sh
+kill_PAC.sh
+paccoin-qt.config
+paccoin-qt.creator
+paccoin-qt.creator.user
+paccoin-qt.files
+paccoin-qt.includes
+contrib/dash-qt.pro.user
diff --git a/contrib/dash-qt.pro b/contrib/dash-qt.pro
index 8fd26b9c9dfe..7fcf5e8d8a95 100644
--- a/contrib/dash-qt.pro
+++ b/contrib/dash-qt.pro
@@ -17,7 +17,8 @@ FORMS += \
     ../src/qt/forms/sendcoinsdialog.ui \
     ../src/qt/forms/sendcoinsentry.ui \
     ../src/qt/forms/signverifymessagedialog.ui \
-    ../src/qt/forms/transactiondescdialog.ui
+    ../src/qt/forms/transactiondescdialog.ui \
+    ../src/qt/forms/privatepage.ui
 
 RESOURCES += \
     ../src/qt/paccoin.qrc
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 8bb365e99f6e..ed52bad720fe 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -39,7 +39,8 @@ QT_FORMS_UI = \
   qt/forms/sendcoinsdialog.ui \
   qt/forms/sendcoinsentry.ui \
   qt/forms/signverifymessagedialog.ui \
-  qt/forms/transactiondescdialog.ui
+  qt/forms/transactiondescdialog.ui \
+  qt/forms/privatepage.ui
 
 QT_MOC_CPP = \
   qt/moc_addressbookpage.cpp \
@@ -70,6 +71,7 @@ QT_MOC_CPP = \
   qt/moc_peertablemodel.cpp \
   qt/moc_paymentserver.cpp \
   qt/moc_columnalignedlayout.cpp \
+  qt/moc_privatepage.cpp \
   qt/moc_proposalfilterproxy.cpp \
   qt/moc_proposaltablemodel.cpp \
   qt/moc_proposallist.cpp \
@@ -147,6 +149,7 @@ BITCOIN_QT_H = \
   qt/peertablemodel.h \
   qt/platformstyle.h \
   qt/columnalignedlayout.h \
+  qt/privatepage.h \
   qt/proposalfilterproxy.h \
   qt/proposallist.h \
   qt/proposalrecord.h \
@@ -453,6 +456,7 @@ BITCOIN_QT_CPP += \
   qt/receivecoinsdialog.cpp \
   qt/receiverequestdialog.cpp \
   qt/recentrequeststablemodel.cpp \
+  qt/privatepage.cpp \
   qt/sendcoinsdialog.cpp \
   qt/sendcoinsentry.cpp \
   qt/signverifymessagedialog.cpp \
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index de0c9f0cede7..aae1a34a5bfd 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -55,6 +55,7 @@
 #include <QTimer>
 #include <QToolBar>
 #include <QVBoxLayout>
+#include <QDebug>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -90,6 +91,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     appMenuBar(0),
     overviewAction(0),
     historyAction(0),
+    privateAction(0),
     masternodeAction(0),
     proposalAction(0),
     quitAction(0),
@@ -286,6 +288,7 @@ void BitcoinGUI::createActions()
     QActionGroup *tabGroup = new QActionGroup(this);
 
     QString theme = GUIUtil::getThemeName();
+    std::cout << "CURRENT THEME: " << theme.toStdString();
     overviewAction = new QAction(QIcon(":/icons/" + theme + "/overview"), tr("&Overview"), this);
     overviewAction->setStatusTip(tr("Show general overview of wallet"));
     overviewAction->setToolTip(overviewAction->statusTip());
@@ -337,6 +340,19 @@ void BitcoinGUI::createActions()
     historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
 #endif
     tabGroup->addAction(historyAction);
+    //:v
+    privateAction = new QAction(QIcon(":/icons/" + theme + "/private"), tr("&Private"), this);
+    privateAction->setStatusTip(tr("Browse private section"));
+    privateAction->setToolTip(historyAction->statusTip());
+    privateAction->setCheckable(true);
+#ifdef Q_OS_MAC
+    privateAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_5));
+#else
+    privateAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
+#endif
+    tabGroup->addAction(privateAction);
+    //v:
+
 
 #ifdef ENABLE_WALLET
     QSettings settings;
@@ -346,9 +362,9 @@ void BitcoinGUI::createActions()
         masternodeAction->setToolTip(masternodeAction->statusTip());
         masternodeAction->setCheckable(true);
 #ifdef Q_OS_MAC
-        masternodeAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_5));
+        masternodeAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_6));
 #else
-        masternodeAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
+        masternodeAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6));
 #endif
         tabGroup->addAction(masternodeAction);
         connect(masternodeAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
@@ -360,9 +376,9 @@ void BitcoinGUI::createActions()
     proposalAction->setToolTip(proposalAction->statusTip());
     proposalAction->setCheckable(true);
 #ifdef Q_OS_MAC
-    proposalAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_6));
+    proposalAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_7));
 #else
-    proposalAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6));
+    proposalAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7));
 #endif
     tabGroup->addAction(proposalAction);
 
@@ -380,6 +396,8 @@ void BitcoinGUI::createActions()
     connect(receiveCoinsMenuAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
     connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
     connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
+    connect(privateAction, SIGNAL(triggered()), this, SLOT(gotoPrivatePage()));
+    connect(privateAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
     connect(proposalAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
     connect(proposalAction, SIGNAL(triggered()), this, SLOT(gotoProposalPage()));
 #endif // ENABLE_WALLET
@@ -582,6 +600,7 @@ void BitcoinGUI::createToolBars()
         toolbar->addAction(sendCoinsAction);
         toolbar->addAction(receiveCoinsAction);
         toolbar->addAction(historyAction);
+        toolbar->addAction(privateAction);
         QSettings settings;
         if (settings.value("fShowMasternodesTab").toBool())
         {
@@ -728,6 +747,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
     receiveCoinsAction->setEnabled(enabled);
     receiveCoinsMenuAction->setEnabled(enabled);
     historyAction->setEnabled(enabled);
+    privateAction->setEnabled(enabled);
     proposalAction->setEnabled(enabled);
     QSettings settings;
     if (settings.value("fShowMasternodesTab").toBool() && masternodeAction) {
@@ -898,6 +918,10 @@ void BitcoinGUI::gotoHistoryPage()
     historyAction->setChecked(true);
     if (walletFrame) walletFrame->gotoHistoryPage();
 }
+void BitcoinGUI::gotoPrivatePage(){
+    privateAction->setChecked(true);
+    if (walletFrame) walletFrame->gotoPrivatePage();
+}
 
 void BitcoinGUI::gotoMasternodePage()
 {
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 36d42753d688..23f75f8dc1cc 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -98,6 +98,7 @@ class BitcoinGUI : public QMainWindow
     QAction *overviewAction;
     QAction *historyAction;
     QAction *masternodeAction;
+    QAction *privateAction;
     QAction *proposalAction;
     QAction *quitAction;
     QAction *sendCoinsAction;
@@ -219,6 +220,8 @@ private Q_SLOTS:
     void gotoOverviewPage();
     /** Switch to history (transactions) page */
     void gotoHistoryPage();
+    /** Switch to private (section) page */
+    void gotoPrivatePage();
     /** Switch to masternode page */
     void gotoMasternodePage();
     /** Switch to proposal page */
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
new file mode 100644
index 000000000000..dcfa92b770e9
--- /dev/null
+++ b/src/qt/forms/privatepage.ui
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PrivatePage</class>
+ <widget class="QWidget" name="PrivatePage">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>960</width>
+    <height>551</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>960</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <layout class="QVBoxLayout" name="topLayout">
+   <item>
+    <widget class="QLabel" name="labelAlerts">
+     <property name="visible">
+      <bool>false</bool>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">QLabel { background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop:0 #F0D0A0, stop:1 #F8D488); color:#000000; }</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+     <property name="margin">
+      <number>3</number>
+     </property>
+     <property name="textInteractionFlags">
+      <set>Qt::TextSelectableByMouse</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout" stretch="1">
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QFrame" name="framePrivateSend">
+         <property name="layoutDirection">
+          <enum>Qt::LeftToRight</enum>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::StyledPanel</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Raised</enum>
+         </property>
+         <layout class="QVBoxLayout" name="VerticalLayout_PS1">
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout_5">
+            <item>
+             <widget class="QLabel" name="labelPrivateSendHeader">
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="text">
+               <string>PrivatePAC</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelPrivateSendSyncStatus">
+              <property name="toolTip">
+               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">QLabel { color: transparent; }</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_4">
+              <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="privateSendFormLayout">
+            <property name="fieldGrowthPolicy">
+             <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+            </property>
+            <property name="horizontalSpacing">
+             <number>11</number>
+            </property>
+            <property name="verticalSpacing">
+             <number>12</number>
+            </property>
+            <item row="0" column="0">
+             <widget class="QLabel" name="labelPrivateSendEnabledText">
+              <property name="text">
+               <string>Status:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QLabel" name="labelPrivateSendEnabled">
+              <property name="text">
+               <string>Enabled/Disabled</string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0">
+             <widget class="QLabel" name="labelCompletitionText">
+              <property name="text">
+               <string>Completion:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <widget class="QProgressBar" name="privateSendProgress">
+              <property name="maximumSize">
+               <size>
+                <width>154</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="value">
+               <number>0</number>
+              </property>
+             </widget>
+            </item>
+            <item row="2" column="0">
+             <widget class="QLabel" name="labelAnonymizedText">
+              <property name="text">
+               <string>PrivateSend Balance:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="2" column="1">
+             <widget class="QLabel" name="labelAnonymized">
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="text">
+               <string notr="true">0 $PAC</string>
+              </property>
+             </widget>
+            </item>
+            <item row="3" column="0">
+             <widget class="QLabel" name="labelAmountAndRoundsText">
+              <property name="text">
+               <string>Amount and Rounds:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="3" column="1">
+             <widget class="QLabel" name="labelAmountRounds">
+              <property name="text">
+               <string>0 $PAC / 0 Rounds</string>
+              </property>
+             </widget>
+            </item>
+            <item row="4" column="0">
+             <widget class="QLabel" name="labelSubmittedDenomText">
+              <property name="text">
+               <string>Submitted Denom:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="4" column="1">
+             <widget class="QLabel" name="labelSubmittedDenom">
+              <property name="toolTip">
+               <string>The denominations you submitted to the Masternode.&lt;br&gt;To mix, other users must submit the exact same denominations.</string>
+              </property>
+              <property name="text">
+               <string>n/a</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="VerticalLayout_PS">
+            <item>
+             <widget class="QLabel" name="labelPrivateSendLastMessage">
+              <property name="text">
+               <string>(Last Message)</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+              </property>
+              <property name="wordWrap">
+               <bool>true</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="togglePrivateSend">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string>Start/Stop Mixing</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_debugbuttons">
+              <item>
+               <widget class="QPushButton" name="privateSendAuto">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="toolTip">
+                 <string>Try to manually submit a PrivateSend request.</string>
+                </property>
+                <property name="text">
+                 <string>Try Mix</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="privateSendReset">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="toolTip">
+                 <string>Reset the current status of PrivateSend (can interrupt PrivateSend if it's in the process of Mixing, which can cost you money!)</string>
+                </property>
+                <property name="autoFillBackground">
+                 <bool>false</bool>
+                </property>
+                <property name="text">
+                 <string>Reset</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="privateSendInfo">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="toolTip">
+                 <string>Information about PrivateSend and Mixing</string>
+                </property>
+                <property name="text">
+                 <string>Info</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </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>
+      </layout>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
new file mode 100644
index 000000000000..6289beed56da
--- /dev/null
+++ b/src/qt/privatepage.cpp
@@ -0,0 +1,524 @@
+// Copyright (c) 2011-2015 The Bitcoin Core developers
+// Copyright (c) 2014-2017 The Dash Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#include "privatepage.h"
+#include "ui_privatepage.h"
+
+#include "bitcoinunits.h"
+#include "clientmodel.h"
+#include "guiconstants.h"
+#include "guiutil.h"
+#include "init.h"
+#include "optionsmodel.h"
+#include "platformstyle.h"
+#include "transactionfilterproxy.h"
+#include "transactiontablemodel.h"
+#include "utilitydialog.h"
+#include "walletmodel.h"
+
+#include "instantx.h"
+#include "darksendconfig.h"
+#include "masternode-sync.h"
+#include "privatesend-client.h"
+
+#include <QAbstractItemDelegate>
+#include <QPainter>
+#include <QSettings>
+#include <QTimer>
+
+#include <string>
+#include <iostream>
+
+using namespace std;
+
+#define ICON_OFFSET 16
+#define DECORATION_SIZE 54
+#define NUM_ITEMS 5
+#define NUM_ITEMS_ADV 7
+
+PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
+    QWidget(parent),
+    ui(new Ui::PrivatePage),
+    clientModel(0),
+    walletModel(0),
+    currentBalance(-1),
+    currentUnconfirmedBalance(-1),
+    currentImmatureBalance(-1),
+    currentWatchOnlyBalance(-1),
+    currentWatchUnconfBalance(-1),
+    currentWatchImmatureBalance(-1),
+    timer(nullptr)
+{
+    ui->setupUi(this);
+    QString theme = GUIUtil::getThemeName();
+
+    // init "out of sync" warning labels
+    ui->labelPrivateSendSyncStatus->setText("(" + tr("out of sync") + ")");
+
+    // hide PS frame (helps to preserve saved size)
+    // we'll setup and make it visible in updateAdvancedPSUI() later if we are not in litemode
+    ui->framePrivateSend->setVisible(false);
+
+    // start with displaying the "out of sync" warnings
+    showOutOfSyncWarning(true);
+
+    // that's it for litemode
+    if(fLiteMode) return;
+
+    // Disable any PS UI for masternode or when autobackup is disabled or failed for whatever reason
+    if(fMasterNode || nWalletBackups <= 0){
+        DisablePrivateSendCompletely();
+        if (nWalletBackups <= 0) {
+            ui->labelPrivateSendEnabled->setToolTip(tr("Automatic backups are disabled, no mixing available!"));
+        }
+    } else {
+        if(!privateSendClient.fEnablePrivateSend){
+            ui->togglePrivateSend->setText(tr("Start Mixing"));
+        } else {
+            ui->togglePrivateSend->setText(tr("Stop Mixing"));
+        }
+        // Disable privateSendClient builtin support for automatic backups while we are in GUI,
+        // we'll handle automatic backups and user warnings in privateSendStatus()
+        privateSendClient.fCreateAutoBackups = false;
+
+        timer = new QTimer(this);
+        connect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
+        timer->start(1000);
+    }
+}
+
+void PrivatePage::handleTransactionClicked(const QModelIndex &index)
+{
+    if(filter)
+        Q_EMIT transactionClicked(filter->mapToSource(index));
+}
+
+void PrivatePage::handleOutOfSyncWarningClicks()
+{
+    Q_EMIT outOfSyncWarningClicked();
+}
+
+PrivatePage::~PrivatePage()
+{
+    if(timer) disconnect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
+    delete ui;
+}
+
+void PrivatePage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
+{
+    currentBalance = balance;
+    currentUnconfirmedBalance = unconfirmedBalance;
+    currentImmatureBalance = immatureBalance;
+    currentAnonymizedBalance = anonymizedBalance;
+    currentWatchOnlyBalance = watchOnlyBalance;
+    currentWatchUnconfBalance = watchUnconfBalance;
+    currentWatchImmatureBalance = watchImmatureBalance;
+    ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
+
+    // only show immature (newly mined) balance if it's non-zero, so as not to complicate things
+    // for the non-mining users
+    bool showImmature = immatureBalance != 0;
+    bool showWatchOnlyImmature = watchImmatureBalance != 0;
+
+    // for symmetry reasons also show immature label when the watch-only one is shown
+
+    updatePrivateSendProgress();
+
+    static int cachedTxLocks = 0;
+
+    if(cachedTxLocks != nCompleteTXLocks){
+        cachedTxLocks = nCompleteTXLocks;
+    }
+}
+
+void PrivatePage::setClientModel(ClientModel *model)
+{
+    this->clientModel = model;
+    if(model)
+    {
+        // Show warning if this is a prerelease version
+        connect(model, SIGNAL(alertsChanged(QString)), this, SLOT(updateAlerts(QString)));
+        updateAlerts(model->getStatusBarWarnings());
+    }
+}
+
+void PrivatePage::setModel(WalletModel *model)
+{
+    this->walletModel = model;
+    if(model && model->getOptionsModel())
+    {
+        // update the display unit, to not use the default ("PAC")
+        updateDisplayUnit();
+        // Keep up to date with wallet
+        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
+                   model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
+
+        connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
+        connect(model->getOptionsModel(), SIGNAL(privateSendRoundsChanged()), this, SLOT(updatePrivateSendProgress()));
+        connect(model->getOptionsModel(), SIGNAL(privateSentAmountChanged()), this, SLOT(updatePrivateSendProgress()));
+        connect(model->getOptionsModel(), SIGNAL(advancedPSUIChanged(bool)), this, SLOT(updateAdvancedPSUI(bool)));
+        // explicitly update PS frame and transaction list to reflect actual settings
+        updateAdvancedPSUI(model->getOptionsModel()->getShowAdvancedPSUI());
+
+        connect(ui->privateSendAuto, SIGNAL(clicked()), this, SLOT(privateSendAuto()));
+        connect(ui->privateSendReset, SIGNAL(clicked()), this, SLOT(privateSendReset()));
+        connect(ui->privateSendInfo, SIGNAL(clicked()), this, SLOT(privateSendInfo()));
+        connect(ui->togglePrivateSend, SIGNAL(clicked()), this, SLOT(togglePrivateSend()));
+    }
+}
+
+void PrivatePage::updateDisplayUnit()
+{
+    if(walletModel && walletModel->getOptionsModel())
+    {
+        nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
+        if(currentBalance != -1)
+            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentAnonymizedBalance,
+                       currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
+
+    }
+}
+
+void PrivatePage::updateAlerts(const QString &warnings)
+{
+    this->ui->labelAlerts->setVisible(!warnings.isEmpty());
+    this->ui->labelAlerts->setText(warnings);
+}
+
+void PrivatePage::showOutOfSyncWarning(bool fShow)
+{
+    ui->labelPrivateSendSyncStatus->setVisible(fShow);
+}
+
+void PrivatePage::updatePrivateSendProgress()
+{
+    if(!masternodeSync.IsBlockchainSynced() || ShutdownRequested()) return;
+
+    if(!pwalletMain) return;
+
+    QString strAmountAndRounds;
+    QString strPrivateSendAmount = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, privateSendClient.nPrivateSendAmount * COIN, false, BitcoinUnits::separatorAlways);
+
+    if(currentBalance == 0)
+    {
+        ui->privateSendProgress->setValue(0);
+        ui->privateSendProgress->setToolTip(tr("No inputs detected"));
+
+        // when balance is zero just show info from settings
+        strPrivateSendAmount = strPrivateSendAmount.remove(strPrivateSendAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
+        strAmountAndRounds = strPrivateSendAmount + " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds);
+
+        ui->labelAmountRounds->setToolTip(tr("No inputs detected"));
+        ui->labelAmountRounds->setText(strAmountAndRounds);
+        return;
+    }
+
+    CAmount nAnonymizableBalance = pwalletMain->GetAnonymizableBalance(false, false);
+
+    CAmount nMaxToAnonymize = nAnonymizableBalance + currentAnonymizedBalance;
+
+    // If it's more than the anon threshold, limit to that.
+    if(nMaxToAnonymize > privateSendClient.nPrivateSendAmount*COIN) nMaxToAnonymize = privateSendClient.nPrivateSendAmount*COIN;
+
+    if(nMaxToAnonymize == 0) return;
+
+    if(nMaxToAnonymize >= privateSendClient.nPrivateSendAmount * COIN) {
+        ui->labelAmountRounds->setToolTip(tr("Found enough compatible inputs to anonymize %1")
+                                          .arg(strPrivateSendAmount));
+        strPrivateSendAmount = strPrivateSendAmount.remove(strPrivateSendAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
+        strAmountAndRounds = strPrivateSendAmount + " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds);
+    } else {
+        QString strMaxToAnonymize = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nMaxToAnonymize, false, BitcoinUnits::separatorAlways);
+        ui->labelAmountRounds->setToolTip(tr("Not enough compatible inputs to anonymize <span style='color:red;'>%1</span>,<br>"
+                                             "will anonymize <span style='color:red;'>%2</span> instead")
+                                          .arg(strPrivateSendAmount)
+                                          .arg(strMaxToAnonymize));
+        strMaxToAnonymize = strMaxToAnonymize.remove(strMaxToAnonymize.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
+        strAmountAndRounds = "<span style='color:red;'>" +
+                QString(BitcoinUnits::factor(nDisplayUnit) == 1 ? "" : "~") + strMaxToAnonymize +
+                " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds) + "</span>";
+    }
+    ui->labelAmountRounds->setText(strAmountAndRounds);
+
+    if (!fShowAdvancedPSUI) return;
+
+    CAmount nDenominatedConfirmedBalance;
+    CAmount nDenominatedUnconfirmedBalance;
+    CAmount nNormalizedAnonymizedBalance;
+    float nAverageAnonymizedRounds;
+
+    nDenominatedConfirmedBalance = pwalletMain->GetDenominatedBalance();
+    nDenominatedUnconfirmedBalance = pwalletMain->GetDenominatedBalance(true);
+    nNormalizedAnonymizedBalance = pwalletMain->GetNormalizedAnonymizedBalance();
+    nAverageAnonymizedRounds = pwalletMain->GetAverageAnonymizedRounds();
+
+    // calculate parts of the progress, each of them shouldn't be higher than 1
+    // progress of denominating
+    float denomPart = 0;
+    // mixing progress of denominated balance
+    float anonNormPart = 0;
+    // completeness of full amount anonymization
+    float anonFullPart = 0;
+
+    CAmount denominatedBalance = nDenominatedConfirmedBalance + nDenominatedUnconfirmedBalance;
+    denomPart = (float)denominatedBalance / nMaxToAnonymize;
+    denomPart = denomPart > 1 ? 1 : denomPart;
+    denomPart *= 100;
+
+    anonNormPart = (float)nNormalizedAnonymizedBalance / nMaxToAnonymize;
+    anonNormPart = anonNormPart > 1 ? 1 : anonNormPart;
+    anonNormPart *= 100;
+
+    anonFullPart = (float)currentAnonymizedBalance / nMaxToAnonymize;
+    anonFullPart = anonFullPart > 1 ? 1 : anonFullPart;
+    anonFullPart *= 100;
+
+    // apply some weights to them ...
+    float denomWeight = 1;
+    float anonNormWeight = privateSendClient.nPrivateSendRounds;
+    float anonFullWeight = 2;
+    float fullWeight = denomWeight + anonNormWeight + anonFullWeight;
+    // ... and calculate the whole progress
+    float denomPartCalc = ceilf((denomPart * denomWeight / fullWeight) * 100) / 100;
+    float anonNormPartCalc = ceilf((anonNormPart * anonNormWeight / fullWeight) * 100) / 100;
+    float anonFullPartCalc = ceilf((anonFullPart * anonFullWeight / fullWeight) * 100) / 100;
+    float progress = denomPartCalc + anonNormPartCalc + anonFullPartCalc;
+    if(progress >= 100) progress = 100;
+
+    ui->privateSendProgress->setValue(progress);
+
+    QString strToolPip = ("<b>" + tr("Overall progress") + ": %1%</b><br/>" +
+                          tr("Denominated") + ": %2%<br/>" +
+                          tr("Mixed") + ": %3%<br/>" +
+                          tr("Anonymized") + ": %4%<br/>" +
+                          tr("Denominated inputs have %5 of %n rounds on average", "", privateSendClient.nPrivateSendRounds))
+            .arg(progress).arg(denomPart).arg(anonNormPart).arg(anonFullPart)
+            .arg(nAverageAnonymizedRounds);
+    ui->privateSendProgress->setToolTip(strToolPip);
+}
+
+void PrivatePage::updateAdvancedPSUI(bool fShowAdvancedPSUI) {
+    this->fShowAdvancedPSUI = fShowAdvancedPSUI;
+
+    if (fLiteMode) return;
+
+    ui->framePrivateSend->setVisible(true);
+    ui->labelCompletitionText->setVisible(fShowAdvancedPSUI);
+    ui->privateSendProgress->setVisible(fShowAdvancedPSUI);
+    ui->labelSubmittedDenomText->setVisible(fShowAdvancedPSUI);
+    ui->labelSubmittedDenom->setVisible(fShowAdvancedPSUI);
+    ui->privateSendAuto->setVisible(fShowAdvancedPSUI);
+    ui->privateSendReset->setVisible(fShowAdvancedPSUI);
+    ui->privateSendInfo->setVisible(true);
+    ui->labelPrivateSendLastMessage->setVisible(fShowAdvancedPSUI);
+}
+
+void PrivatePage::privateSendStatus()
+{
+    if(!masternodeSync.IsBlockchainSynced() || ShutdownRequested()) return;
+
+    static int64_t nLastDSProgressBlockTime = 0;
+    int nBestHeight = clientModel->getNumBlocks();
+
+    // We are processing more then 1 block per second, we'll just leave
+    if(((nBestHeight - privateSendClient.nCachedNumBlocks) / (GetTimeMillis() - nLastDSProgressBlockTime + 1) > 1)) return;
+    nLastDSProgressBlockTime = GetTimeMillis();
+
+    QString strKeysLeftText(tr("keys left: %1").arg(pwalletMain->nKeysLeftSinceAutoBackup));
+    if(pwalletMain->nKeysLeftSinceAutoBackup < PRIVATESEND_KEYS_THRESHOLD_WARNING) {
+        strKeysLeftText = "<span style='color:red;'>" + strKeysLeftText + "</span>";
+    }
+    ui->labelPrivateSendEnabled->setToolTip(strKeysLeftText);
+
+    if (!privateSendClient.fEnablePrivateSend) {
+        if (nBestHeight != privateSendClient.nCachedNumBlocks) {
+            privateSendClient.nCachedNumBlocks = nBestHeight;
+            updatePrivateSendProgress();
+        }
+
+        ui->labelPrivateSendLastMessage->setText("");
+        ui->togglePrivateSend->setText(tr("Start Mixing"));
+
+        QString strEnabled = tr("Disabled");
+        // Show how many keys left in advanced PS UI mode only
+        if (fShowAdvancedPSUI) strEnabled += ", " + strKeysLeftText;
+        ui->labelPrivateSendEnabled->setText(strEnabled);
+
+        return;
+    }
+
+    // Warn user that wallet is running out of keys
+    // NOTE: we do NOT warn user and do NOT create autobackups if mixing is not running
+    if (nWalletBackups > 0 && pwalletMain->nKeysLeftSinceAutoBackup < PRIVATESEND_KEYS_THRESHOLD_WARNING) {
+        QSettings settings;
+        if(settings.value("fLowKeysWarning").toBool()) {
+            QString strWarn =   tr("Very low number of keys left since last automatic backup!") + "<br><br>" +
+                                tr("We are about to create a new automatic backup for you, however "
+                                   "<span style='color:red;'> you should always make sure you have backups "
+                                   "saved in some safe place</span>!") + "<br><br>" +
+                                tr("Note: You turn this message off in options.");
+            ui->labelPrivateSendEnabled->setToolTip(strWarn);
+            LogPrintf("PrivatePage::privatePACStatus -- Very low number of keys left since last automatic backup, warning user and trying to create new backup...\n");
+            QMessageBox::warning(this, tr("PrivatePAC"), strWarn, QMessageBox::Ok, QMessageBox::Ok);
+        } else {
+            LogPrintf("PrivatePage::privatePACStatus -- Very low number of keys left since last automatic backup, skipping warning and trying to create new backup...\n");
+        }
+
+        std::string strBackupWarning;
+        std::string strBackupError;
+        if(!AutoBackupWallet(pwalletMain, "", strBackupWarning, strBackupError)) {
+            if (!strBackupWarning.empty()) {
+                // It's still more or less safe to continue but warn user anyway
+                LogPrintf("PrivatePage::privatePACStatus -- WARNING! Something went wrong on automatic backup: %s\n", strBackupWarning);
+
+                QMessageBox::warning(this, tr("PrivatePAC"),
+                    tr("WARNING! Something went wrong on automatic backup") + ":<br><br>" + strBackupWarning.c_str(),
+                    QMessageBox::Ok, QMessageBox::Ok);
+            }
+            if (!strBackupError.empty()) {
+                // Things are really broken, warn user and stop mixing immediately
+                LogPrintf("PrivatePage::privatePACStatus -- ERROR! Failed to create automatic backup: %s\n", strBackupError);
+
+                QMessageBox::warning(this, tr("PrivatePAC"),
+                    tr("ERROR! Failed to create automatic backup") + ":<br><br>" + strBackupError.c_str() + "<br>" +
+                    tr("Mixing is disabled, please close your wallet and fix the issue!"),
+                    QMessageBox::Ok, QMessageBox::Ok);
+            }
+        }
+    }
+
+    QString strEnabled = privateSendClient.fEnablePrivateSend ? tr("Enabled") : tr("Disabled");
+    // Show how many keys left in advanced PS UI mode only
+    if(fShowAdvancedPSUI) strEnabled += ", " + strKeysLeftText;
+    ui->labelPrivateSendEnabled->setText(strEnabled);
+
+    if(nWalletBackups == -1) {
+        // Automatic backup failed, nothing else we can do until user fixes the issue manually
+        DisablePrivateSendCompletely();
+
+        QString strError =  tr("ERROR! Failed to create automatic backup") + ", " +
+                            tr("see debug.log for details.") + "<br><br>" +
+                            tr("Mixing is disabled, please close your wallet and fix the issue!");
+        ui->labelPrivateSendEnabled->setToolTip(strError);
+
+        return;
+    } else if(nWalletBackups == -2) {
+        // We were able to create automatic backup but keypool was not replenished because wallet is locked.
+        QString strWarning = tr("WARNING! Failed to replenish keypool, please unlock your wallet to do so.");
+        ui->labelPrivateSendEnabled->setToolTip(strWarning);
+    }
+
+    // check darksend status and unlock if needed
+    if(nBestHeight != privateSendClient.nCachedNumBlocks) {
+        // Balance and number of transactions might have changed
+        privateSendClient.nCachedNumBlocks = nBestHeight;
+        updatePrivateSendProgress();
+    }
+
+    QString strStatus = QString(privateSendClient.GetStatus().c_str());
+
+    QString s = tr("Last PrivatePAC message:\n") + strStatus;
+
+    if(s != ui->labelPrivateSendLastMessage->text())
+        LogPrintf("PrivatePage::privatePACStatus -- Last PrivatePAC message: %s\n", strStatus.toStdString());
+
+    ui->labelPrivateSendLastMessage->setText(s);
+
+    if(privateSendClient.nSessionDenom == 0){
+        ui->labelSubmittedDenom->setText(tr("N/A"));
+    } else {
+        QString strDenom(CPrivateSend::GetDenominationsToString(privateSendClient.nSessionDenom).c_str());
+        ui->labelSubmittedDenom->setText(strDenom);
+    }
+
+}
+
+void PrivatePage::privateSendAuto(){
+    privateSendClient.DoAutomaticDenominating(*g_connman);
+}
+
+void PrivatePage::privateSendReset(){
+    privateSendClient.ResetPool();
+
+    QMessageBox::warning(this, tr("PrivatePAC"),
+        tr("PrivatePAC was successfully reset."),
+        QMessageBox::Ok, QMessageBox::Ok);
+}
+
+void PrivatePage::privateSendInfo(){
+    cout << "PACCCCC";
+    HelpMessageDialog dlg(this, HelpMessageDialog::pshelp);
+    dlg.exec();
+}
+
+void PrivatePage::togglePrivateSend(){
+    QSettings settings;
+    // Popup some information on first mixing
+    QString hasMixed = settings.value("hasMixed").toString();
+    if(hasMixed.isEmpty()){
+        QMessageBox::information(this, tr("PrivatePAC"),
+                tr("If you don't want to see internal PrivatePAC fees/transactions select \"Most Common\" as Type on the \"Transactions\" tab."),
+                QMessageBox::Ok, QMessageBox::Ok);
+        settings.setValue("hasMixed", "hasMixed");
+    }
+    if(!privateSendClient.fEnablePrivateSend){
+        const CAmount nMinAmount = CPrivateSend::GetSmallestDenomination() + CPrivateSend::GetMaxCollateralAmount();
+        if(currentBalance < nMinAmount){
+            QString strMinAmount(BitcoinUnits::formatWithUnit(nDisplayUnit, nMinAmount));
+            QMessageBox::warning(this, tr("PrivatePAC"),
+                tr("PrivatePAC requires at least %1 to use.").arg(strMinAmount),
+                QMessageBox::Ok, QMessageBox::Ok);
+            return;
+        }
+
+        // if wallet is locked, ask for a passphrase
+        if (walletModel->getEncryptionStatus() == WalletModel::Locked)
+        {
+            WalletModel::UnlockContext ctx(walletModel->requestUnlock(true));
+            if(!ctx.isValid())
+            {
+                //unlock was cancelled
+                privateSendClient.nCachedNumBlocks = std::numeric_limits<int>::max();
+                QMessageBox::warning(this, tr("PrivatePAC"),
+                    tr("Wallet is locked and user declined to unlock. Disabling PrivatePAC."),
+                    QMessageBox::Ok, QMessageBox::Ok);
+                LogPrint("privatesend", "PrivatePage::togglePrivatePAC -- Wallet is locked and user declined to unlock. Disabling PrivatePAC.\n");
+                return;
+            }
+        }
+
+    }
+
+    privateSendClient.fEnablePrivateSend = !privateSendClient.fEnablePrivateSend;
+    privateSendClient.nCachedNumBlocks = std::numeric_limits<int>::max();
+
+    if(!privateSendClient.fEnablePrivateSend){
+        ui->togglePrivateSend->setText(tr("Start Mixing"));
+        privateSendClient.UnlockCoins();
+    } else {
+        ui->togglePrivateSend->setText(tr("Stop Mixing"));
+
+        /* show darksend configuration if client has defaults set */
+
+        if(privateSendClient.nPrivateSendAmount == 0){
+            DarksendConfig dlg(this);
+            dlg.setModel(walletModel);
+            dlg.exec();
+        }
+
+    }
+}
+
+void PrivatePage::DisablePrivateSendCompletely() {
+    ui->togglePrivateSend->setText("(" + tr("Disabled") + ")");
+    ui->privateSendAuto->setText("(" + tr("Disabled") + ")");
+    ui->privateSendReset->setText("(" + tr("Disabled") + ")");
+    ui->framePrivateSend->setEnabled(false);
+    if (nWalletBackups <= 0) {
+        ui->labelPrivateSendEnabled->setText("<span style='color:red;'>(" + tr("Disabled") + ")</span>");
+    }
+    privateSendClient.fEnablePrivateSend = false;
+}
diff --git a/src/qt/privatepage.h b/src/qt/privatepage.h
new file mode 100644
index 000000000000..0627d13f67b6
--- /dev/null
+++ b/src/qt/privatepage.h
@@ -0,0 +1,83 @@
+// Copyright (c) 2011-2015 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_QT_PRIVATEPAGE_H
+#define BITCOIN_QT_PRIVATEPAGE_H
+
+#include "amount.h"
+
+#include <QWidget>
+#include <memory>
+
+class ClientModel;
+class TransactionFilterProxy;
+class TxViewDelegate;
+class PlatformStyle;
+class WalletModel;
+
+namespace Ui {
+    class PrivatePage;
+}
+
+QT_BEGIN_NAMESPACE
+class QModelIndex;
+QT_END_NAMESPACE
+
+/** Overview ("home") page widget */
+class PrivatePage : public QWidget
+{
+    Q_OBJECT
+
+public:
+    explicit PrivatePage(const PlatformStyle *platformStyle, QWidget *parent = 0);
+    ~PrivatePage();
+
+    void setClientModel(ClientModel *clientModel);
+    void setModel(WalletModel *walletModel);
+    void showOutOfSyncWarning(bool fShow);
+
+public Q_SLOTS:
+    void privateSendStatus();
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
+                    const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
+
+Q_SIGNALS:
+    void transactionClicked(const QModelIndex &index);
+    void outOfSyncWarningClicked();
+
+private:
+    QTimer *timer;
+    Ui::PrivatePage *ui;
+    ClientModel *clientModel;
+    WalletModel *walletModel;
+    CAmount currentBalance;
+    CAmount currentUnconfirmedBalance;
+    CAmount currentImmatureBalance;
+    CAmount currentAnonymizedBalance;
+    CAmount currentWatchOnlyBalance;
+    CAmount currentWatchUnconfBalance;
+    CAmount currentWatchImmatureBalance;
+    int nDisplayUnit;
+    bool fShowAdvancedPSUI;
+
+    TxViewDelegate *txdelegate;
+    std::unique_ptr<TransactionFilterProxy> filter;
+
+    void SetupTransactionList(int nNumItems);
+    void DisablePrivateSendCompletely();
+
+private Q_SLOTS:
+    void togglePrivateSend();
+    void privateSendAuto();
+    void privateSendReset();
+    void privateSendInfo();
+    void updateDisplayUnit();
+    void updatePrivateSendProgress();
+    void updateAdvancedPSUI(bool fShowAdvancedPSUI);
+    void handleTransactionClicked(const QModelIndex &index);
+    void updateAlerts(const QString &warnings);
+    void handleOutOfSyncWarningClicks();
+};
+
+#endif // BITCOIN_QT_PRIVATEPAGE_H
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index 8b17fe26e8d2..cf08db81a0ad 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -122,6 +122,12 @@ void WalletFrame::gotoHistoryPage()
         i.value()->gotoHistoryPage();
 }
 
+void WalletFrame::gotoPrivatePage()
+{
+    QMap<QString, WalletView*>::const_iterator i;
+    for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i)
+        i.value()->gotoPrivatePage();
+}
 void WalletFrame::gotoMasternodePage()
 {
     QMap<QString, WalletView*>::const_iterator i;
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index 1a4e96b2491e..64a6fafb8ad8 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -59,6 +59,8 @@ public Q_SLOTS:
     void gotoOverviewPage();
     /** Switch to history (transactions) page */
     void gotoHistoryPage();
+    /** Switch to private section page */
+    void gotoPrivatePage();
     /** Switch to masternode page */
     void gotoMasternodePage();
     /** Switch to proposal page */
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 49ee9fd79461..068ffa636379 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -19,6 +19,7 @@
 #include "transactiontablemodel.h"
 #include "transactionview.h"
 #include "walletmodel.h"
+#include "privatepage.h"
 
 #include "ui_interface.h"
 
@@ -88,7 +89,9 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     }
 
     proposalList = new ProposalList(platformStyle);
+    privatePage = new PrivatePage(platformStyle);
     addWidget(proposalList);
+    addWidget(privatePage);
 
     // Clicking on a transaction on the overview pre-selects the transaction on the transaction history page
     connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex)));
@@ -142,6 +145,7 @@ void WalletView::setClientModel(ClientModel *clientModel)
     overviewPage->setClientModel(clientModel);
     sendCoinsPage->setClientModel(clientModel);
     QSettings settings;
+    privatePage->setClientModel(clientModel);
     if (settings.value("fShowMasternodesTab").toBool()) {
         masternodeListPage->setClientModel(clientModel);
     }
@@ -160,6 +164,7 @@ void WalletView::setWalletModel(WalletModel *walletModel)
     }
     receiveCoinsPage->setModel(walletModel);
     sendCoinsPage->setModel(walletModel);
+    privatePage->setModel(walletModel);
     usedReceivingAddressesPage->setModel(walletModel->getAddressTableModel());
     usedSendingAddressesPage->setModel(walletModel->getAddressTableModel());
 
@@ -217,6 +222,11 @@ void WalletView::gotoProposalPage()
     setCurrentWidget(proposalList);
 }
 
+void WalletView::gotoPrivatePage()
+{
+    setCurrentWidget(privatePage);
+}
+
 void WalletView::gotoHistoryPage()
 {
     setCurrentWidget(transactionsPage);
diff --git a/src/qt/walletview.h b/src/qt/walletview.h
index e3fa368b9906..2813cd6e2424 100644
--- a/src/qt/walletview.h
+++ b/src/qt/walletview.h
@@ -21,6 +21,7 @@ class SendCoinsRecipient;
 class TransactionView;
 class WalletModel;
 class AddressBookPage;
+class PrivatePage;
 
 QT_BEGIN_NAMESPACE
 class QLabel;
@@ -71,6 +72,7 @@ class WalletView : public QStackedWidget
 
     TransactionView *transactionView;
     ProposalList *proposalList;
+    PrivatePage *privatePage;
 
     QProgressDialog *progressDialog;
     QLabel *transactionSum;
@@ -89,7 +91,8 @@ public Q_SLOTS:
     void gotoReceiveCoinsPage();
     /** Switch to send coins page */
     void gotoSendCoinsPage(QString addr = "");
-
+    /** Switch to private page */
+    void gotoPrivatePage();
     /** Show Sign/Verify Message dialog and switch to sign message tab */
     void gotoSignMessageTab(QString addr = "");
     /** Show Sign/Verify Message dialog and switch to verify message tab */

From 38ae1cd540fe90d6da592e4521809ca276a224a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:19:16 -0600
Subject: [PATCH 003/225] CSS: new PAC theme, assets added

Just the basic structure in order to work from there on the gui.
---
 src/qt/paccoin.qrc                            |  77 +++++++++++++++++-
 src/qt/res/css/pac.css                        |   0
 src/qt/res/icons/pac/about.png                | Bin 0 -> 8743 bytes
 src/qt/res/icons/pac/about_qt.png             | Bin 0 -> 4204 bytes
 src/qt/res/icons/pac/add.png                  | Bin 0 -> 1222 bytes
 src/qt/res/icons/pac/address-book.png         | Bin 0 -> 559 bytes
 src/qt/res/icons/pac/browse.png               | Bin 0 -> 1292 bytes
 src/qt/res/icons/pac/clock1.png               | Bin 0 -> 911 bytes
 src/qt/res/icons/pac/clock2.png               | Bin 0 -> 911 bytes
 src/qt/res/icons/pac/clock3.png               | Bin 0 -> 921 bytes
 src/qt/res/icons/pac/clock4.png               | Bin 0 -> 917 bytes
 src/qt/res/icons/pac/clock5.png               | Bin 0 -> 929 bytes
 src/qt/res/icons/pac/configure.png            | Bin 0 -> 989 bytes
 src/qt/res/icons/pac/connect0_16.png          | Bin 0 -> 856 bytes
 src/qt/res/icons/pac/connect1_16.png          | Bin 0 -> 694 bytes
 src/qt/res/icons/pac/connect2_16.png          | Bin 0 -> 717 bytes
 src/qt/res/icons/pac/connect3_16.png          | Bin 0 -> 740 bytes
 src/qt/res/icons/pac/connect4_16.png          | Bin 0 -> 704 bytes
 src/qt/res/icons/pac/debugwindow.png          | Bin 0 -> 4681 bytes
 src/qt/res/icons/pac/drkblue_address-book.png | Bin 0 -> 1398 bytes
 src/qt/res/icons/pac/drkblue_editcopy.png     | Bin 0 -> 617 bytes
 src/qt/res/icons/pac/drkblue_editpaste.png    | Bin 0 -> 1191 bytes
 src/qt/res/icons/pac/drkblue_remove.png       | Bin 0 -> 1153 bytes
 src/qt/res/icons/pac/edit.png                 | Bin 0 -> 1223 bytes
 src/qt/res/icons/pac/editcopy.png             | Bin 0 -> 478 bytes
 src/qt/res/icons/pac/editpaste.png            | Bin 0 -> 343 bytes
 src/qt/res/icons/pac/export.png               | Bin 0 -> 2213 bytes
 src/qt/res/icons/pac/eye.png                  | Bin 0 -> 439 bytes
 src/qt/res/icons/pac/eye_minus.png            | Bin 0 -> 500 bytes
 src/qt/res/icons/pac/eye_plus.png             | Bin 0 -> 548 bytes
 src/qt/res/icons/pac/filesave.png             | Bin 0 -> 1292 bytes
 src/qt/res/icons/pac/fontbigger.png           | Bin 0 -> 994 bytes
 src/qt/res/icons/pac/fontsmaller.png          | Bin 0 -> 794 bytes
 src/qt/res/icons/pac/hd_disabled.png          | Bin 0 -> 2198 bytes
 src/qt/res/icons/pac/hd_enabled.png           | Bin 0 -> 688 bytes
 src/qt/res/icons/pac/history.png              | Bin 0 -> 487 bytes
 src/qt/res/icons/pac/info.png                 | Bin 0 -> 338 bytes
 src/qt/res/icons/pac/key.png                  | Bin 0 -> 1723 bytes
 src/qt/res/icons/pac/lock_closed.png          | Bin 0 -> 528 bytes
 src/qt/res/icons/pac/lock_open.png            | Bin 0 -> 1691 bytes
 src/qt/res/icons/pac/masternodes.png          | Bin 0 -> 607 bytes
 src/qt/res/icons/pac/network_disabled.png     | Bin 0 -> 480 bytes
 src/qt/res/icons/pac/notsynced.png            | Bin 0 -> 1000 bytes
 src/qt/res/icons/pac/overview.png             | Bin 0 -> 458 bytes
 src/qt/res/icons/pac/private.png              | Bin 0 -> 1386 bytes
 src/qt/res/icons/pac/proposal.png             | Bin 0 -> 776 bytes
 src/qt/res/icons/pac/quit.png                 | Bin 0 -> 1960 bytes
 src/qt/res/icons/pac/receive.png              | Bin 0 -> 466 bytes
 src/qt/res/icons/pac/remove.png               | Bin 0 -> 228 bytes
 src/qt/res/icons/pac/send.png                 | Bin 0 -> 471 bytes
 src/qt/res/icons/pac/synced.png               | Bin 0 -> 429 bytes
 src/qt/res/icons/pac/toolbar.png              | Bin 0 -> 1340 bytes
 src/qt/res/icons/pac/toolbar_testnet.png      | Bin 0 -> 1340 bytes
 src/qt/res/icons/pac/transaction0.png         | Bin 0 -> 305 bytes
 src/qt/res/icons/pac/transaction2.png         | Bin 0 -> 358 bytes
 .../res/icons/pac/transaction_abandoned.png   | Bin 0 -> 423 bytes
 .../res/icons/pac/transaction_conflicted.png  | Bin 0 -> 392 bytes
 src/qt/res/icons/pac/tx_inout.png             | Bin 0 -> 1082 bytes
 src/qt/res/icons/pac/tx_input.png             | Bin 0 -> 238 bytes
 src/qt/res/icons/pac/tx_mined.png             | Bin 0 -> 1389 bytes
 src/qt/res/icons/pac/tx_output.png            | Bin 0 -> 233 bytes
 src/qt/res/icons/pac/verify.png               | Bin 0 -> 1791 bytes
 src/qt/res/images/pac/about.png               | Bin 0 -> 12003 bytes
 src/qt/res/images/pac/checked.png             | Bin 0 -> 448 bytes
 src/qt/res/images/pac/drkblue_downArrow.png   | Bin 0 -> 207 bytes
 .../images/pac/drkblue_downArrow_small.png    | Bin 0 -> 4487 bytes
 .../images/pac/drkblue_leftArrow_small.png    | Bin 0 -> 5304 bytes
 .../images/pac/drkblue_qtreeview_selected.png | Bin 0 -> 111 bytes
 .../images/pac/drkblue_rightArrow_small.png   | Bin 0 -> 5287 bytes
 .../res/images/pac/drkblue_upArrow_small.png  | Bin 0 -> 4480 bytes
 .../res/images/pac/drkblue_walletFrame_bg.jpg | Bin 0 -> 346947 bytes
 .../res/images/pac/drkblue_walletFrame_bg.png | Bin 0 -> 218238 bytes
 src/qt/res/images/pac/hover_profile.png       | Bin 0 -> 2548 bytes
 .../images/pac/paccoin_logo_horizontal.png    | Bin 0 -> 20978 bytes
 src/qt/res/images/pac/profile.jpg             | Bin 0 -> 101295 bytes
 src/qt/res/images/pac/profile_bkg.png         | Bin 0 -> 1675 bytes
 src/qt/res/images/pac/splash.png              | Bin 0 -> 11823 bytes
 src/qt/res/images/pac/splash_testnet.png      | Bin 0 -> 11823 bytes
 src/qt/res/images/pac/unchecked.png           | Bin 0 -> 291 bytes
 79 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 src/qt/res/css/pac.css
 create mode 100644 src/qt/res/icons/pac/about.png
 create mode 100644 src/qt/res/icons/pac/about_qt.png
 create mode 100644 src/qt/res/icons/pac/add.png
 create mode 100755 src/qt/res/icons/pac/address-book.png
 create mode 100644 src/qt/res/icons/pac/browse.png
 create mode 100644 src/qt/res/icons/pac/clock1.png
 create mode 100644 src/qt/res/icons/pac/clock2.png
 create mode 100644 src/qt/res/icons/pac/clock3.png
 create mode 100644 src/qt/res/icons/pac/clock4.png
 create mode 100644 src/qt/res/icons/pac/clock5.png
 create mode 100644 src/qt/res/icons/pac/configure.png
 create mode 100644 src/qt/res/icons/pac/connect0_16.png
 create mode 100755 src/qt/res/icons/pac/connect1_16.png
 create mode 100755 src/qt/res/icons/pac/connect2_16.png
 create mode 100755 src/qt/res/icons/pac/connect3_16.png
 create mode 100755 src/qt/res/icons/pac/connect4_16.png
 create mode 100644 src/qt/res/icons/pac/debugwindow.png
 create mode 100644 src/qt/res/icons/pac/drkblue_address-book.png
 create mode 100644 src/qt/res/icons/pac/drkblue_editcopy.png
 create mode 100644 src/qt/res/icons/pac/drkblue_editpaste.png
 create mode 100644 src/qt/res/icons/pac/drkblue_remove.png
 create mode 100644 src/qt/res/icons/pac/edit.png
 create mode 100755 src/qt/res/icons/pac/editcopy.png
 create mode 100644 src/qt/res/icons/pac/editpaste.png
 create mode 100644 src/qt/res/icons/pac/export.png
 create mode 100644 src/qt/res/icons/pac/eye.png
 create mode 100644 src/qt/res/icons/pac/eye_minus.png
 create mode 100644 src/qt/res/icons/pac/eye_plus.png
 create mode 100644 src/qt/res/icons/pac/filesave.png
 create mode 100644 src/qt/res/icons/pac/fontbigger.png
 create mode 100644 src/qt/res/icons/pac/fontsmaller.png
 create mode 100644 src/qt/res/icons/pac/hd_disabled.png
 create mode 100644 src/qt/res/icons/pac/hd_enabled.png
 create mode 100755 src/qt/res/icons/pac/history.png
 create mode 100755 src/qt/res/icons/pac/info.png
 create mode 100644 src/qt/res/icons/pac/key.png
 create mode 100755 src/qt/res/icons/pac/lock_closed.png
 create mode 100644 src/qt/res/icons/pac/lock_open.png
 create mode 100755 src/qt/res/icons/pac/masternodes.png
 create mode 100644 src/qt/res/icons/pac/network_disabled.png
 create mode 100644 src/qt/res/icons/pac/notsynced.png
 create mode 100644 src/qt/res/icons/pac/overview.png
 create mode 100755 src/qt/res/icons/pac/private.png
 create mode 100755 src/qt/res/icons/pac/proposal.png
 create mode 100644 src/qt/res/icons/pac/quit.png
 create mode 100755 src/qt/res/icons/pac/receive.png
 create mode 100644 src/qt/res/icons/pac/remove.png
 create mode 100755 src/qt/res/icons/pac/send.png
 create mode 100755 src/qt/res/icons/pac/synced.png
 create mode 100644 src/qt/res/icons/pac/toolbar.png
 create mode 100644 src/qt/res/icons/pac/toolbar_testnet.png
 create mode 100644 src/qt/res/icons/pac/transaction0.png
 create mode 100644 src/qt/res/icons/pac/transaction2.png
 create mode 100755 src/qt/res/icons/pac/transaction_abandoned.png
 create mode 100644 src/qt/res/icons/pac/transaction_conflicted.png
 create mode 100644 src/qt/res/icons/pac/tx_inout.png
 create mode 100755 src/qt/res/icons/pac/tx_input.png
 create mode 100644 src/qt/res/icons/pac/tx_mined.png
 create mode 100755 src/qt/res/icons/pac/tx_output.png
 create mode 100644 src/qt/res/icons/pac/verify.png
 create mode 100755 src/qt/res/images/pac/about.png
 create mode 100644 src/qt/res/images/pac/checked.png
 create mode 100644 src/qt/res/images/pac/drkblue_downArrow.png
 create mode 100644 src/qt/res/images/pac/drkblue_downArrow_small.png
 create mode 100644 src/qt/res/images/pac/drkblue_leftArrow_small.png
 create mode 100644 src/qt/res/images/pac/drkblue_qtreeview_selected.png
 create mode 100644 src/qt/res/images/pac/drkblue_rightArrow_small.png
 create mode 100644 src/qt/res/images/pac/drkblue_upArrow_small.png
 create mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
 create mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.png
 create mode 100755 src/qt/res/images/pac/hover_profile.png
 create mode 100644 src/qt/res/images/pac/paccoin_logo_horizontal.png
 create mode 100644 src/qt/res/images/pac/profile.jpg
 create mode 100755 src/qt/res/images/pac/profile_bkg.png
 create mode 100755 src/qt/res/images/pac/splash.png
 create mode 100755 src/qt/res/images/pac/splash_testnet.png
 create mode 100644 src/qt/res/images/pac/unchecked.png

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 08951f3a1454..6a1f1f1bc857 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -1,4 +1,4 @@
-<!DOCTYPE RCC><RCC version="1.0">
+<RCC>
     <qresource prefix="/icons">
         <file alias="bitcoin">res/icons/bitcoin.png</file>
         <file alias="prompticon">res/icons/chevron.png</file>
@@ -175,6 +175,65 @@
         <file alias="transaction_abandoned">res/icons/light/transaction_abandoned.png</file>
         <file alias="network_disabled">res/icons/light/network_disabled.png</file>
     </qresource>
+    <qresource prefix="/icons/pac">
+        <file alias="address-book">res/icons/pac/address-book.png</file>
+        <file alias="quit">res/icons/pac/quit.png</file>
+        <file alias="send">res/icons/pac/send.png</file>
+        <file alias="connect_0">res/icons/pac/connect0_16.png</file>
+        <file alias="connect_1">res/icons/pac/connect1_16.png</file>
+        <file alias="connect_2">res/icons/pac/connect2_16.png</file>
+        <file alias="connect_3">res/icons/pac/connect3_16.png</file>
+        <file alias="connect_4">res/icons/pac/connect4_16.png</file>
+        <file alias="transaction_0">res/icons/pac/transaction0.png</file>
+        <file alias="transaction_confirmed">res/icons/pac/transaction2.png</file>
+        <file alias="transaction_conflicted">res/icons/pac/transaction_conflicted.png</file>
+        <file alias="transaction_1">res/icons/pac/clock1.png</file>
+        <file alias="transaction_2">res/icons/pac/clock2.png</file>
+        <file alias="transaction_3">res/icons/pac/clock3.png</file>
+        <file alias="transaction_4">res/icons/pac/clock4.png</file>
+        <file alias="transaction_5">res/icons/pac/clock5.png</file>
+        <file alias="eye">res/icons/pac/eye.png</file>
+        <file alias="eye_minus">res/icons/pac/eye_minus.png</file>
+        <file alias="eye_plus">res/icons/pac/eye_plus.png</file>
+        <file alias="options">res/icons/pac/configure.png</file>
+        <file alias="receiving_addresses">res/icons/pac/receive.png</file>
+        <file alias="proposal">res/icons/pac/proposal.png</file>
+        <file alias="editpaste">res/icons/pac/editpaste.png</file>
+        <file alias="editcopy">res/icons/pac/editcopy.png</file>
+        <file alias="add">res/icons/pac/add.png</file>
+        <file alias="edit">res/icons/pac/edit.png</file>
+        <file alias="history">res/icons/pac/history.png</file>
+        <file alias="masternodes">res/icons/pac/masternodes.png</file>
+        <file alias="overview">res/icons/pac/overview.png</file>
+        <file alias="export">res/icons/pac/export.png</file>
+        <file alias="synced">res/icons/pac/synced.png</file>
+        <file alias="remove">res/icons/pac/remove.png</file>
+        <file alias="tx_mined">res/icons/pac/tx_mined.png</file>
+        <file alias="tx_input">res/icons/pac/tx_input.png</file>
+        <file alias="tx_output">res/icons/pac/tx_output.png</file>
+        <file alias="tx_inout">res/icons/pac/tx_inout.png</file>
+        <file alias="lock_closed">res/icons/pac/lock_closed.png</file>
+        <file alias="lock_open">res/icons/pac/lock_open.png</file>
+        <file alias="key">res/icons/pac/key.png</file>
+        <file alias="filesave">res/icons/pac/filesave.png</file>
+        <file alias="debugwindow">res/icons/pac/debugwindow.png</file>
+        <file alias="drkblue_editpaste">res/icons/pac/drkblue_editpaste.png</file>
+        <file alias="drkblue_address-book">res/icons/pac/drkblue_address-book.png</file>
+        <file alias="drkblue_editcopy">res/icons/pac/drkblue_editcopy.png</file>
+        <file alias="drkblue_remove">res/icons/pac/drkblue_remove.png</file>
+        <file alias="browse">res/icons/pac/browse.png</file>
+        <file alias="about">res/icons/pac/about.png</file>
+        <file alias="about_qt">res/icons/pac/about_qt.png</file>
+        <file alias="verify">res/icons/pac/verify.png</file>
+        <file alias="hd_enabled">res/icons/pac/hd_enabled.png</file>
+        <file alias="hd_disabled">res/icons/pac/hd_disabled.png</file>
+        <file alias="fontbigger">res/icons/pac/fontbigger.png</file>
+        <file alias="fontsmaller">res/icons/pac/fontsmaller.png</file>
+        <file alias="transaction_abandoned">res/icons/pac/transaction_abandoned.png</file>
+        <file alias="network_disabled">res/icons/pac/network_disabled.png</file>
+        <file alias="info">res/icons/pac/info.png</file>
+        <file alias="private">res/icons/pac/private.png</file>
+    </qresource>
     <qresource prefix="/icons/trad">
         <file alias="address-book">res/icons/trad/address-book.png</file>
         <file alias="quit">res/icons/trad/quit.png</file>
@@ -236,6 +295,7 @@
         <file alias="drkblue">res/css/drkblue.css</file>
         <file alias="crownium">res/css/crownium.css</file>
         <file alias="light">res/css/light.css</file>
+        <file alias="pac">res/css/pac.css</file>
         <file alias="light-hires">res/css/light-hires.css</file>
         <file alias="trad">res/css/trad.css</file>
     </qresource>
@@ -284,6 +344,21 @@
         <file alias="splash">res/images/light/splash.png</file>
         <file alias="splash_testnet">res/images/light/splash_testnet.png</file>
     </qresource>
+    <qresource prefix="/images/pac">
+        <file alias="about">res/images/pac/about.png</file>
+        <file alias="paccoin_logo_horizontal">res/images/pac/paccoin_logo_horizontal.png</file>
+        <file alias="unchecked">res/images/pac/unchecked.png</file>
+        <file alias="checked">res/images/pac/checked.png</file>
+        <file alias="drkblue_downArrow">res/images/pac/drkblue_downArrow.png</file>
+        <file alias="drkblue_downArrow_small">res/images/pac/drkblue_downArrow_small.png</file>
+        <file alias="drkblue_upArrow_small">res/images/pac/drkblue_upArrow_small.png</file>
+        <file alias="drkblue_leftArrow_small">res/images/pac/drkblue_leftArrow_small.png</file>
+        <file alias="drkblue_rightArrow_small">res/images/pac/drkblue_rightArrow_small.png</file>
+        <file alias="drkblue_qtreeview_selected">res/images/pac/drkblue_qtreeview_selected.png</file>
+        <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.jpg</file>
+        <file alias="splash">res/images/pac/splash.png</file>
+        <file alias="splash_testnet">res/images/pac/splash_testnet.png</file>
+    </qresource>
     <qresource prefix="/images/trad">
         <file alias="about">res/images/trad/about.png</file>
         <file alias="paccoin_logo_horizontal">res/images/trad/paccoin_logo_horizontal.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/src/qt/res/icons/pac/about.png b/src/qt/res/icons/pac/about.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa1c99f02ac136119e51e673cee09465973e4ca0
GIT binary patch
diff --git a/src/qt/res/icons/pac/about_qt.png b/src/qt/res/icons/pac/about_qt.png
new file mode 100644
index 0000000000000000000000000000000000000000..c95be013b77e3c4bf48c5d7f9198ee1dcf333d9a
GIT binary patch
diff --git a/src/qt/res/icons/pac/add.png b/src/qt/res/icons/pac/add.png
new file mode 100644
index 0000000000000000000000000000000000000000..746f580671f6befc396db2970b5038d495b2c8cf
GIT binary patch
diff --git a/src/qt/res/icons/pac/address-book.png b/src/qt/res/icons/pac/address-book.png
new file mode 100755
index 0000000000000000000000000000000000000000..c593b5e1480668acf6a5b32b0c0b803b0d7aa3cf
GIT binary patch
diff --git a/src/qt/res/icons/pac/browse.png b/src/qt/res/icons/pac/browse.png
new file mode 100644
index 0000000000000000000000000000000000000000..0032637f28a8ad24e7c337ccc33bdbeaef336e69
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock1.png b/src/qt/res/icons/pac/clock1.png
new file mode 100644
index 0000000000000000000000000000000000000000..214ac9b9f04a53db77ed850a72450218d5a029b6
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock2.png b/src/qt/res/icons/pac/clock2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b0dd7afe391bc047026771cc555ac887839dd6e
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock3.png b/src/qt/res/icons/pac/clock3.png
new file mode 100644
index 0000000000000000000000000000000000000000..523139f8fc11e5d6f93c2885d054bc6068d6d730
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock4.png b/src/qt/res/icons/pac/clock4.png
new file mode 100644
index 0000000000000000000000000000000000000000..c007f501fdd21f3c1f3b348dc51ece8ccd7546a2
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock5.png b/src/qt/res/icons/pac/clock5.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d40197a0078d53c6c0cc77cdd803d5003dfbc46
GIT binary patch
diff --git a/src/qt/res/icons/pac/configure.png b/src/qt/res/icons/pac/configure.png
new file mode 100644
index 0000000000000000000000000000000000000000..abbbbc27cf4024b96e42bd40f2bf6c206a7d7b57
GIT binary patch
diff --git a/src/qt/res/icons/pac/connect0_16.png b/src/qt/res/icons/pac/connect0_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..c18e0f408e8d96cb3c4c7eeeb0c546c99dbf9a83
GIT binary patch
diff --git a/src/qt/res/icons/pac/connect1_16.png b/src/qt/res/icons/pac/connect1_16.png
new file mode 100755
index 0000000000000000000000000000000000000000..c5fc690f395e1e1f12e1e225a1bd6e2dd0afe395
GIT binary patch
diff --git a/src/qt/res/icons/pac/connect2_16.png b/src/qt/res/icons/pac/connect2_16.png
new file mode 100755
index 0000000000000000000000000000000000000000..97362201f4b4a98b0b8b4e39de79603168138dd2
GIT binary patch
diff --git a/src/qt/res/icons/pac/connect3_16.png b/src/qt/res/icons/pac/connect3_16.png
new file mode 100755
index 0000000000000000000000000000000000000000..99dcd17b3a88d5b261abedfaf09c9af35aa31138
GIT binary patch
diff --git a/src/qt/res/icons/pac/connect4_16.png b/src/qt/res/icons/pac/connect4_16.png
new file mode 100755
index 0000000000000000000000000000000000000000..07a0f82cb561b138df6d42bd73b870c9b7e2620c
GIT binary patch
diff --git a/src/qt/res/icons/pac/debugwindow.png b/src/qt/res/icons/pac/debugwindow.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a59796fe61c78103e168195c5650f536e3d0a94
GIT binary patch
diff --git a/src/qt/res/icons/pac/drkblue_address-book.png b/src/qt/res/icons/pac/drkblue_address-book.png
new file mode 100644
index 0000000000000000000000000000000000000000..1af1f60f1a601c8d496395d285f6dfd583d304d9
GIT binary patch
diff --git a/src/qt/res/icons/pac/drkblue_editcopy.png b/src/qt/res/icons/pac/drkblue_editcopy.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2201f85992bcc182cb819157f0a0d87d5cbf75a
GIT binary patch
diff --git a/src/qt/res/icons/pac/drkblue_editpaste.png b/src/qt/res/icons/pac/drkblue_editpaste.png
new file mode 100644
index 0000000000000000000000000000000000000000..317c2ed8219a3ceb41118af3e48d2e168952c1d8
GIT binary patch
diff --git a/src/qt/res/icons/pac/drkblue_remove.png b/src/qt/res/icons/pac/drkblue_remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..99fd9660e5292dd7146d66b60f1539cc2dd18a78
GIT binary patch
diff --git a/src/qt/res/icons/pac/edit.png b/src/qt/res/icons/pac/edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..3be65327d58ebf4130bbb04e5e3bac601195751e
GIT binary patch
diff --git a/src/qt/res/icons/pac/editcopy.png b/src/qt/res/icons/pac/editcopy.png
new file mode 100755
index 0000000000000000000000000000000000000000..c9c1b5ea7bd1a361ad03cad4ab52c6655f09bc20
GIT binary patch
diff --git a/src/qt/res/icons/pac/editpaste.png b/src/qt/res/icons/pac/editpaste.png
new file mode 100644
index 0000000000000000000000000000000000000000..9668753ce8b517f4d2d026384049bc6e08837ea8
GIT binary patch
diff --git a/src/qt/res/icons/pac/export.png b/src/qt/res/icons/pac/export.png
new file mode 100644
index 0000000000000000000000000000000000000000..6346da2c767a551d66ba69cf5711162c3594e680
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye.png b/src/qt/res/icons/pac/eye.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ffaaee8b9c1b54a8abe71a3976f2705c690afc7
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye_minus.png b/src/qt/res/icons/pac/eye_minus.png
new file mode 100644
index 0000000000000000000000000000000000000000..96ebe8470f490135f7ae37c81d30de8c3dff28ea
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye_plus.png b/src/qt/res/icons/pac/eye_plus.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d81923483d929cff2e198d74874d99193b16f30
GIT binary patch
diff --git a/src/qt/res/icons/pac/filesave.png b/src/qt/res/icons/pac/filesave.png
new file mode 100644
index 0000000000000000000000000000000000000000..0032637f28a8ad24e7c337ccc33bdbeaef336e69
GIT binary patch
diff --git a/src/qt/res/icons/pac/fontbigger.png b/src/qt/res/icons/pac/fontbigger.png
new file mode 100644
index 0000000000000000000000000000000000000000..642938261b7d7692e9cc2bfdfae1acea2be1b328
GIT binary patch
diff --git a/src/qt/res/icons/pac/fontsmaller.png b/src/qt/res/icons/pac/fontsmaller.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f74b7f08c1f13c61d07ae541407a01d25409b07
GIT binary patch
diff --git a/src/qt/res/icons/pac/hd_disabled.png b/src/qt/res/icons/pac/hd_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6fce2eaca5aaa05e1439ac07cf8b51d812b9aae
GIT binary patch
diff --git a/src/qt/res/icons/pac/hd_enabled.png b/src/qt/res/icons/pac/hd_enabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..c65c8ddc8a5726ae459a55732923929723543c15
GIT binary patch
diff --git a/src/qt/res/icons/pac/history.png b/src/qt/res/icons/pac/history.png
new file mode 100755
index 0000000000000000000000000000000000000000..007cdc34ff5e410554a04006d979057f309bbcd2
GIT binary patch
diff --git a/src/qt/res/icons/pac/info.png b/src/qt/res/icons/pac/info.png
new file mode 100755
index 0000000000000000000000000000000000000000..e2288885cf054cf8e6c236e26b1b43e638690f19
GIT binary patch
diff --git a/src/qt/res/icons/pac/key.png b/src/qt/res/icons/pac/key.png
new file mode 100644
index 0000000000000000000000000000000000000000..734f5e43380ad7c7ac8d77e7ba27230639dd4715
GIT binary patch
diff --git a/src/qt/res/icons/pac/lock_closed.png b/src/qt/res/icons/pac/lock_closed.png
new file mode 100755
index 0000000000000000000000000000000000000000..d3abf86c002b3752959f8a1c48d4b4bdcf6180f0
GIT binary patch
diff --git a/src/qt/res/icons/pac/lock_open.png b/src/qt/res/icons/pac/lock_open.png
new file mode 100644
index 0000000000000000000000000000000000000000..6711c2050a44a94056532c17fec84c0d3243e699
GIT binary patch
diff --git a/src/qt/res/icons/pac/masternodes.png b/src/qt/res/icons/pac/masternodes.png
new file mode 100755
index 0000000000000000000000000000000000000000..3fbb59753d5c531f793a8462966ea0a807e24d3b
GIT binary patch
diff --git a/src/qt/res/icons/pac/network_disabled.png b/src/qt/res/icons/pac/network_disabled.png
new file mode 100644
index 0000000000000000000000000000000000000000..05217e5a8030faef95a61f9b81e2ed9bd0139ca0
GIT binary patch
diff --git a/src/qt/res/icons/pac/notsynced.png b/src/qt/res/icons/pac/notsynced.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3326cfec79d121160aa577fcf1db60e8fec4d7b
GIT binary patch
diff --git a/src/qt/res/icons/pac/overview.png b/src/qt/res/icons/pac/overview.png
new file mode 100644
index 0000000000000000000000000000000000000000..612179789d9dea46c0de0be0e07e262486888979
GIT binary patch
diff --git a/src/qt/res/icons/pac/private.png b/src/qt/res/icons/pac/private.png
new file mode 100755
index 0000000000000000000000000000000000000000..e99afddbeee475487f40efb809e87a6ade9780d8
GIT binary patch
diff --git a/src/qt/res/icons/pac/proposal.png b/src/qt/res/icons/pac/proposal.png
new file mode 100755
index 0000000000000000000000000000000000000000..3cfce8b12c8b12181bfcae174c3a82478914e462
GIT binary patch
diff --git a/src/qt/res/icons/pac/quit.png b/src/qt/res/icons/pac/quit.png
new file mode 100644
index 0000000000000000000000000000000000000000..55cb44bb4e8313fca969c862e30a04f0adee321e
GIT binary patch
diff --git a/src/qt/res/icons/pac/receive.png b/src/qt/res/icons/pac/receive.png
new file mode 100755
index 0000000000000000000000000000000000000000..4208201774751ddd861afede3cf956113185aa1f
GIT binary patch
diff --git a/src/qt/res/icons/pac/remove.png b/src/qt/res/icons/pac/remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..57528e9a9864d4601c1aa2710c7cbd7f3e17647d
GIT binary patch
diff --git a/src/qt/res/icons/pac/send.png b/src/qt/res/icons/pac/send.png
new file mode 100755
index 0000000000000000000000000000000000000000..8db3aee7494ffd63bca230190f8f63fa06e500b3
GIT binary patch
diff --git a/src/qt/res/icons/pac/synced.png b/src/qt/res/icons/pac/synced.png
new file mode 100755
index 0000000000000000000000000000000000000000..d6d05f961a9265db2df9ee4fc44ab9076e61cf71
GIT binary patch
diff --git a/src/qt/res/icons/pac/toolbar.png b/src/qt/res/icons/pac/toolbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..003eb2a4da37a46854c602352f95686aa323d576
GIT binary patch
diff --git a/src/qt/res/icons/pac/toolbar_testnet.png b/src/qt/res/icons/pac/toolbar_testnet.png
new file mode 100644
index 0000000000000000000000000000000000000000..003eb2a4da37a46854c602352f95686aa323d576
GIT binary patch
diff --git a/src/qt/res/icons/pac/transaction0.png b/src/qt/res/icons/pac/transaction0.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c7a02dfaccacd69f2761bcdf98800a41015057b
GIT binary patch
diff --git a/src/qt/res/icons/pac/transaction2.png b/src/qt/res/icons/pac/transaction2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c95cd8283fd9effd4340e49b0a66fb469560724e
GIT binary patch
diff --git a/src/qt/res/icons/pac/transaction_abandoned.png b/src/qt/res/icons/pac/transaction_abandoned.png
new file mode 100755
index 0000000000000000000000000000000000000000..07d561ac4cda8f98617819c6d050701d71c1068e
GIT binary patch
diff --git a/src/qt/res/icons/pac/transaction_conflicted.png b/src/qt/res/icons/pac/transaction_conflicted.png
new file mode 100644
index 0000000000000000000000000000000000000000..5481ac114b2a36ed3eca7961a8746cd233364b76
GIT binary patch
diff --git a/src/qt/res/icons/pac/tx_inout.png b/src/qt/res/icons/pac/tx_inout.png
new file mode 100644
index 0000000000000000000000000000000000000000..94ea75e1cd9c03c84dab2397140676182c0c3ea0
GIT binary patch
diff --git a/src/qt/res/icons/pac/tx_input.png b/src/qt/res/icons/pac/tx_input.png
new file mode 100755
index 0000000000000000000000000000000000000000..87c27a3d5c17efe6b477fc2cc88bae22c28608ae
GIT binary patch
diff --git a/src/qt/res/icons/pac/tx_mined.png b/src/qt/res/icons/pac/tx_mined.png
new file mode 100644
index 0000000000000000000000000000000000000000..597dfeae286dec6da982f099ae9ca0410865c998
GIT binary patch
diff --git a/src/qt/res/icons/pac/tx_output.png b/src/qt/res/icons/pac/tx_output.png
new file mode 100755
index 0000000000000000000000000000000000000000..54fb9fcc8b9b3b3dcd69be0a30d35b1bc610e04d
GIT binary patch
diff --git a/src/qt/res/icons/pac/verify.png b/src/qt/res/icons/pac/verify.png
new file mode 100644
index 0000000000000000000000000000000000000000..52610e3c2591054e636795074995e72e2a247d00
GIT binary patch
diff --git a/src/qt/res/images/pac/about.png b/src/qt/res/images/pac/about.png
new file mode 100755
index 0000000000000000000000000000000000000000..b39532892128f19d6c90c84fae9609c63e3100a0
GIT binary patch
diff --git a/src/qt/res/images/pac/checked.png b/src/qt/res/images/pac/checked.png
new file mode 100644
index 0000000000000000000000000000000000000000..0cf100c473f0d0ace5d83f8a4eee30a702eeec84
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_downArrow.png b/src/qt/res/images/pac/drkblue_downArrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..3135d585792fa6f196e0c87dbacf8944d5d78df2
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_downArrow_small.png b/src/qt/res/images/pac/drkblue_downArrow_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff9e17b19722e1f4824949eb8d4ca9a64e500779
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_leftArrow_small.png b/src/qt/res/images/pac/drkblue_leftArrow_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..10d6ed5a7ec3a10f53bf4c6da712d703918a6a0c
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_qtreeview_selected.png b/src/qt/res/images/pac/drkblue_qtreeview_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..2656a1efa43ec83b28ce1515a8665440773cf766
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_rightArrow_small.png b/src/qt/res/images/pac/drkblue_rightArrow_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..a22e5de911480688db769516984b789cb0a01730
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_upArrow_small.png b/src/qt/res/images/pac/drkblue_upArrow_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fa99310358e3c993948dd2771c14691090d5171
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg b/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dfe41aad71d76c853d12ecae1f645ced85c7cf40
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.png b/src/qt/res/images/pac/drkblue_walletFrame_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d4f197ee9b6b39829f1ca89ad5608e8ec7967ed
GIT binary patch
diff --git a/src/qt/res/images/pac/hover_profile.png b/src/qt/res/images/pac/hover_profile.png
new file mode 100755
index 0000000000000000000000000000000000000000..5181dc29d26db8a4fe5575f4325d052e170a142b
GIT binary patch
diff --git a/src/qt/res/images/pac/paccoin_logo_horizontal.png b/src/qt/res/images/pac/paccoin_logo_horizontal.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0bc1fd464f5da85fa5c8b66ba87e8648c2e1890
GIT binary patch
diff --git a/src/qt/res/images/pac/profile.jpg b/src/qt/res/images/pac/profile.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e6d215df7fd75230fe5e2494fd0bf654bc5ee62a
GIT binary patch
diff --git a/src/qt/res/images/pac/profile_bkg.png b/src/qt/res/images/pac/profile_bkg.png
new file mode 100755
index 0000000000000000000000000000000000000000..98fbd8a6b7c3249e9a2e903331fb6747d1a0c41a
GIT binary patch
diff --git a/src/qt/res/images/pac/splash.png b/src/qt/res/images/pac/splash.png
new file mode 100755
index 0000000000000000000000000000000000000000..7058b5b3db9a52a1a85108995b20793f75fcc9af
GIT binary patch
diff --git a/src/qt/res/images/pac/splash_testnet.png b/src/qt/res/images/pac/splash_testnet.png
new file mode 100755
index 0000000000000000000000000000000000000000..7058b5b3db9a52a1a85108995b20793f75fcc9af
GIT binary patch
diff --git a/src/qt/res/images/pac/unchecked.png b/src/qt/res/images/pac/unchecked.png
new file mode 100644
index 0000000000000000000000000000000000000000..f91a0c7eee730920828df21ccfa962de853deeeb
GIT binary patch

From 07a31975484b320f5a093a46aaf611e8de9b96f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:19:31 -0600
Subject: [PATCH 004/225] Removing functionality of private section

since now private has it's own page
---
 src/qt/overviewpage.cpp | 360 ----------------------------------------
 src/qt/overviewpage.h   |   7 -
 2 files changed, 367 deletions(-)

diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index b80dc0102f96..7d0c4cebee2a 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -148,39 +148,14 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
 
     // init "out of sync" warning labels
     ui->labelWalletStatus->setText("(" + tr("out of sync") + ")");
-    ui->labelPrivateSendSyncStatus->setText("(" + tr("out of sync") + ")");
     ui->labelTransactionsStatus->setText("(" + tr("out of sync") + ")");
 
-    // hide PS frame (helps to preserve saved size)
-    // we'll setup and make it visible in updateAdvancedPSUI() later if we are not in litemode
-    ui->framePrivateSend->setVisible(false);
-
     // start with displaying the "out of sync" warnings
     showOutOfSyncWarning(true);
 
     // that's it for litemode
     if(fLiteMode) return;
 
-    // Disable any PS UI for masternode or when autobackup is disabled or failed for whatever reason
-    if(fMasterNode || nWalletBackups <= 0){
-        DisablePrivateSendCompletely();
-        if (nWalletBackups <= 0) {
-            ui->labelPrivateSendEnabled->setToolTip(tr("Automatic backups are disabled, no mixing available!"));
-        }
-    } else {
-        if(!privateSendClient.fEnablePrivateSend){
-            ui->togglePrivateSend->setText(tr("Start Mixing"));
-        } else {
-            ui->togglePrivateSend->setText(tr("Stop Mixing"));
-        }
-        // Disable privateSendClient builtin support for automatic backups while we are in GUI,
-        // we'll handle automatic backups and user warnings in privateSendStatus()
-        privateSendClient.fCreateAutoBackups = false;
-
-        timer = new QTimer(this);
-        connect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
-        timer->start(1000);
-    }
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
@@ -229,8 +204,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->labelImmatureText->setVisible(showImmature || showWatchOnlyImmature);
     ui->labelWatchImmature->setVisible(showWatchOnlyImmature); // show watch-only immature balance
 
-    updatePrivateSendProgress();
-
     static int cachedTxLocks = 0;
 
     if(cachedTxLocks != nCompleteTXLocks){
@@ -242,9 +215,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
 // show/hide watch-only labels
 void OverviewPage::updateWatchOnlyLabels(bool showWatchOnly)
 {
-    ui->labelSpendable->setVisible(showWatchOnly);      // show spendable label (only when watch-only is active)
-    ui->labelWatchonly->setVisible(showWatchOnly);      // show watch-only label
-    ui->lineWatchBalance->setVisible(showWatchOnly);    // show watch-only balance separator line
     ui->labelWatchAvailable->setVisible(showWatchOnly); // show watch-only available balance
     ui->labelWatchPending->setVisible(showWatchOnly);   // show watch-only pending balance
     ui->labelWatchTotal->setVisible(showWatchOnly);     // show watch-only total balance
@@ -284,16 +254,10 @@ void OverviewPage::setWalletModel(WalletModel *model)
         connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
 
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
-        connect(model->getOptionsModel(), SIGNAL(privateSendRoundsChanged()), this, SLOT(updatePrivateSendProgress()));
-        connect(model->getOptionsModel(), SIGNAL(privateSentAmountChanged()), this, SLOT(updatePrivateSendProgress()));
         connect(model->getOptionsModel(), SIGNAL(advancedPSUIChanged(bool)), this, SLOT(updateAdvancedPSUI(bool)));
         // explicitly update PS frame and transaction list to reflect actual settings
         updateAdvancedPSUI(model->getOptionsModel()->getShowAdvancedPSUI());
 
-        connect(ui->privateSendAuto, SIGNAL(clicked()), this, SLOT(privateSendAuto()));
-        connect(ui->privateSendReset, SIGNAL(clicked()), this, SLOT(privateSendReset()));
-        connect(ui->privateSendInfo, SIGNAL(clicked()), this, SLOT(privateSendInfo()));
-        connect(ui->togglePrivateSend, SIGNAL(clicked()), this, SLOT(togglePrivateSend()));
         updateWatchOnlyLabels(model->haveWatchOnly());
         connect(model, SIGNAL(notifyWatchonlyChanged(bool)), this, SLOT(updateWatchOnlyLabels(bool)));
     }
@@ -324,328 +288,14 @@ void OverviewPage::updateAlerts(const QString &warnings)
 void OverviewPage::showOutOfSyncWarning(bool fShow)
 {
     ui->labelWalletStatus->setVisible(fShow);
-    ui->labelPrivateSendSyncStatus->setVisible(fShow);
     ui->labelTransactionsStatus->setVisible(fShow);
 }
 
-void OverviewPage::updatePrivateSendProgress()
-{
-    if(!masternodeSync.IsBlockchainSynced() || ShutdownRequested()) return;
-
-    if(!pwalletMain) return;
-
-    QString strAmountAndRounds;
-    QString strPrivateSendAmount = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, privateSendClient.nPrivateSendAmount * COIN, false, BitcoinUnits::separatorAlways);
-
-    if(currentBalance == 0)
-    {
-        ui->privateSendProgress->setValue(0);
-        ui->privateSendProgress->setToolTip(tr("No inputs detected"));
-
-        // when balance is zero just show info from settings
-        strPrivateSendAmount = strPrivateSendAmount.remove(strPrivateSendAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
-        strAmountAndRounds = strPrivateSendAmount + " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds);
-
-        ui->labelAmountRounds->setToolTip(tr("No inputs detected"));
-        ui->labelAmountRounds->setText(strAmountAndRounds);
-        return;
-    }
-
-    CAmount nAnonymizableBalance = pwalletMain->GetAnonymizableBalance(false, false);
-
-    CAmount nMaxToAnonymize = nAnonymizableBalance + currentAnonymizedBalance;
-
-    // If it's more than the anon threshold, limit to that.
-    if(nMaxToAnonymize > privateSendClient.nPrivateSendAmount*COIN) nMaxToAnonymize = privateSendClient.nPrivateSendAmount*COIN;
-
-    if(nMaxToAnonymize == 0) return;
-
-    if(nMaxToAnonymize >= privateSendClient.nPrivateSendAmount * COIN) {
-        ui->labelAmountRounds->setToolTip(tr("Found enough compatible inputs to anonymize %1")
-                                          .arg(strPrivateSendAmount));
-        strPrivateSendAmount = strPrivateSendAmount.remove(strPrivateSendAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
-        strAmountAndRounds = strPrivateSendAmount + " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds);
-    } else {
-        QString strMaxToAnonymize = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nMaxToAnonymize, false, BitcoinUnits::separatorAlways);
-        ui->labelAmountRounds->setToolTip(tr("Not enough compatible inputs to anonymize <span style='color:red;'>%1</span>,<br>"
-                                             "will anonymize <span style='color:red;'>%2</span> instead")
-                                          .arg(strPrivateSendAmount)
-                                          .arg(strMaxToAnonymize));
-        strMaxToAnonymize = strMaxToAnonymize.remove(strMaxToAnonymize.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
-        strAmountAndRounds = "<span style='color:red;'>" +
-                QString(BitcoinUnits::factor(nDisplayUnit) == 1 ? "" : "~") + strMaxToAnonymize +
-                " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds) + "</span>";
-    }
-    ui->labelAmountRounds->setText(strAmountAndRounds);
-
-    if (!fShowAdvancedPSUI) return;
-
-    CAmount nDenominatedConfirmedBalance;
-    CAmount nDenominatedUnconfirmedBalance;
-    CAmount nNormalizedAnonymizedBalance;
-    float nAverageAnonymizedRounds;
-
-    nDenominatedConfirmedBalance = pwalletMain->GetDenominatedBalance();
-    nDenominatedUnconfirmedBalance = pwalletMain->GetDenominatedBalance(true);
-    nNormalizedAnonymizedBalance = pwalletMain->GetNormalizedAnonymizedBalance();
-    nAverageAnonymizedRounds = pwalletMain->GetAverageAnonymizedRounds();
-
-    // calculate parts of the progress, each of them shouldn't be higher than 1
-    // progress of denominating
-    float denomPart = 0;
-    // mixing progress of denominated balance
-    float anonNormPart = 0;
-    // completeness of full amount anonymization
-    float anonFullPart = 0;
-
-    CAmount denominatedBalance = nDenominatedConfirmedBalance + nDenominatedUnconfirmedBalance;
-    denomPart = (float)denominatedBalance / nMaxToAnonymize;
-    denomPart = denomPart > 1 ? 1 : denomPart;
-    denomPart *= 100;
-
-    anonNormPart = (float)nNormalizedAnonymizedBalance / nMaxToAnonymize;
-    anonNormPart = anonNormPart > 1 ? 1 : anonNormPart;
-    anonNormPart *= 100;
-
-    anonFullPart = (float)currentAnonymizedBalance / nMaxToAnonymize;
-    anonFullPart = anonFullPart > 1 ? 1 : anonFullPart;
-    anonFullPart *= 100;
-
-    // apply some weights to them ...
-    float denomWeight = 1;
-    float anonNormWeight = privateSendClient.nPrivateSendRounds;
-    float anonFullWeight = 2;
-    float fullWeight = denomWeight + anonNormWeight + anonFullWeight;
-    // ... and calculate the whole progress
-    float denomPartCalc = ceilf((denomPart * denomWeight / fullWeight) * 100) / 100;
-    float anonNormPartCalc = ceilf((anonNormPart * anonNormWeight / fullWeight) * 100) / 100;
-    float anonFullPartCalc = ceilf((anonFullPart * anonFullWeight / fullWeight) * 100) / 100;
-    float progress = denomPartCalc + anonNormPartCalc + anonFullPartCalc;
-    if(progress >= 100) progress = 100;
-
-    ui->privateSendProgress->setValue(progress);
-
-    QString strToolPip = ("<b>" + tr("Overall progress") + ": %1%</b><br/>" +
-                          tr("Denominated") + ": %2%<br/>" +
-                          tr("Mixed") + ": %3%<br/>" +
-                          tr("Anonymized") + ": %4%<br/>" +
-                          tr("Denominated inputs have %5 of %n rounds on average", "", privateSendClient.nPrivateSendRounds))
-            .arg(progress).arg(denomPart).arg(anonNormPart).arg(anonFullPart)
-            .arg(nAverageAnonymizedRounds);
-    ui->privateSendProgress->setToolTip(strToolPip);
-}
-
 void OverviewPage::updateAdvancedPSUI(bool fShowAdvancedPSUI) {
     this->fShowAdvancedPSUI = fShowAdvancedPSUI;
     int nNumItems = (fLiteMode || !fShowAdvancedPSUI) ? NUM_ITEMS : NUM_ITEMS_ADV;
     SetupTransactionList(nNumItems);
-
     if (fLiteMode) return;
-
-    ui->framePrivateSend->setVisible(true);
-    ui->labelCompletitionText->setVisible(fShowAdvancedPSUI);
-    ui->privateSendProgress->setVisible(fShowAdvancedPSUI);
-    ui->labelSubmittedDenomText->setVisible(fShowAdvancedPSUI);
-    ui->labelSubmittedDenom->setVisible(fShowAdvancedPSUI);
-    ui->privateSendAuto->setVisible(fShowAdvancedPSUI);
-    ui->privateSendReset->setVisible(fShowAdvancedPSUI);
-    ui->privateSendInfo->setVisible(true);
-    ui->labelPrivateSendLastMessage->setVisible(fShowAdvancedPSUI);
-}
-
-void OverviewPage::privateSendStatus()
-{
-    if(!masternodeSync.IsBlockchainSynced() || ShutdownRequested()) return;
-
-    static int64_t nLastDSProgressBlockTime = 0;
-    int nBestHeight = clientModel->getNumBlocks();
-
-    // We are processing more then 1 block per second, we'll just leave
-    if(((nBestHeight - privateSendClient.nCachedNumBlocks) / (GetTimeMillis() - nLastDSProgressBlockTime + 1) > 1)) return;
-    nLastDSProgressBlockTime = GetTimeMillis();
-
-    QString strKeysLeftText(tr("keys left: %1").arg(pwalletMain->nKeysLeftSinceAutoBackup));
-    if(pwalletMain->nKeysLeftSinceAutoBackup < PRIVATESEND_KEYS_THRESHOLD_WARNING) {
-        strKeysLeftText = "<span style='color:red;'>" + strKeysLeftText + "</span>";
-    }
-    ui->labelPrivateSendEnabled->setToolTip(strKeysLeftText);
-
-    if (!privateSendClient.fEnablePrivateSend) {
-        if (nBestHeight != privateSendClient.nCachedNumBlocks) {
-            privateSendClient.nCachedNumBlocks = nBestHeight;
-            updatePrivateSendProgress();
-        }
-
-        ui->labelPrivateSendLastMessage->setText("");
-        ui->togglePrivateSend->setText(tr("Start Mixing"));
-
-        QString strEnabled = tr("Disabled");
-        // Show how many keys left in advanced PS UI mode only
-        if (fShowAdvancedPSUI) strEnabled += ", " + strKeysLeftText;
-        ui->labelPrivateSendEnabled->setText(strEnabled);
-
-        return;
-    }
-
-    // Warn user that wallet is running out of keys
-    // NOTE: we do NOT warn user and do NOT create autobackups if mixing is not running
-    if (nWalletBackups > 0 && pwalletMain->nKeysLeftSinceAutoBackup < PRIVATESEND_KEYS_THRESHOLD_WARNING) {
-        QSettings settings;
-        if(settings.value("fLowKeysWarning").toBool()) {
-            QString strWarn =   tr("Very low number of keys left since last automatic backup!") + "<br><br>" +
-                                tr("We are about to create a new automatic backup for you, however "
-                                   "<span style='color:red;'> you should always make sure you have backups "
-                                   "saved in some safe place</span>!") + "<br><br>" +
-                                tr("Note: You turn this message off in options.");
-            ui->labelPrivateSendEnabled->setToolTip(strWarn);
-            LogPrintf("OverviewPage::privatePACStatus -- Very low number of keys left since last automatic backup, warning user and trying to create new backup...\n");
-            QMessageBox::warning(this, tr("PrivatePAC"), strWarn, QMessageBox::Ok, QMessageBox::Ok);
-        } else {
-            LogPrintf("OverviewPage::privatePACStatus -- Very low number of keys left since last automatic backup, skipping warning and trying to create new backup...\n");
-        }
-
-        std::string strBackupWarning;
-        std::string strBackupError;
-        if(!AutoBackupWallet(pwalletMain, "", strBackupWarning, strBackupError)) {
-            if (!strBackupWarning.empty()) {
-                // It's still more or less safe to continue but warn user anyway
-                LogPrintf("OverviewPage::privatePACStatus -- WARNING! Something went wrong on automatic backup: %s\n", strBackupWarning);
-
-                QMessageBox::warning(this, tr("PrivatePAC"),
-                    tr("WARNING! Something went wrong on automatic backup") + ":<br><br>" + strBackupWarning.c_str(),
-                    QMessageBox::Ok, QMessageBox::Ok);
-            }
-            if (!strBackupError.empty()) {
-                // Things are really broken, warn user and stop mixing immediately
-                LogPrintf("OverviewPage::privatePACStatus -- ERROR! Failed to create automatic backup: %s\n", strBackupError);
-
-                QMessageBox::warning(this, tr("PrivatePAC"),
-                    tr("ERROR! Failed to create automatic backup") + ":<br><br>" + strBackupError.c_str() + "<br>" +
-                    tr("Mixing is disabled, please close your wallet and fix the issue!"),
-                    QMessageBox::Ok, QMessageBox::Ok);
-            }
-        }
-    }
-
-    QString strEnabled = privateSendClient.fEnablePrivateSend ? tr("Enabled") : tr("Disabled");
-    // Show how many keys left in advanced PS UI mode only
-    if(fShowAdvancedPSUI) strEnabled += ", " + strKeysLeftText;
-    ui->labelPrivateSendEnabled->setText(strEnabled);
-
-    if(nWalletBackups == -1) {
-        // Automatic backup failed, nothing else we can do until user fixes the issue manually
-        DisablePrivateSendCompletely();
-
-        QString strError =  tr("ERROR! Failed to create automatic backup") + ", " +
-                            tr("see debug.log for details.") + "<br><br>" +
-                            tr("Mixing is disabled, please close your wallet and fix the issue!");
-        ui->labelPrivateSendEnabled->setToolTip(strError);
-
-        return;
-    } else if(nWalletBackups == -2) {
-        // We were able to create automatic backup but keypool was not replenished because wallet is locked.
-        QString strWarning = tr("WARNING! Failed to replenish keypool, please unlock your wallet to do so.");
-        ui->labelPrivateSendEnabled->setToolTip(strWarning);
-    }
-
-    // check darksend status and unlock if needed
-    if(nBestHeight != privateSendClient.nCachedNumBlocks) {
-        // Balance and number of transactions might have changed
-        privateSendClient.nCachedNumBlocks = nBestHeight;
-        updatePrivateSendProgress();
-    }
-
-    QString strStatus = QString(privateSendClient.GetStatus().c_str());
-
-    QString s = tr("Last PrivatePAC message:\n") + strStatus;
-
-    if(s != ui->labelPrivateSendLastMessage->text())
-        LogPrintf("OverviewPage::privatePACStatus -- Last PrivatePAC message: %s\n", strStatus.toStdString());
-
-    ui->labelPrivateSendLastMessage->setText(s);
-
-    if(privateSendClient.nSessionDenom == 0){
-        ui->labelSubmittedDenom->setText(tr("N/A"));
-    } else {
-        QString strDenom(CPrivateSend::GetDenominationsToString(privateSendClient.nSessionDenom).c_str());
-        ui->labelSubmittedDenom->setText(strDenom);
-    }
-
-}
-
-void OverviewPage::privateSendAuto(){
-    privateSendClient.DoAutomaticDenominating(*g_connman);
-}
-
-void OverviewPage::privateSendReset(){
-    privateSendClient.ResetPool();
-
-    QMessageBox::warning(this, tr("PrivatePAC"),
-        tr("PrivatePAC was successfully reset."),
-        QMessageBox::Ok, QMessageBox::Ok);
-}
-
-void OverviewPage::privateSendInfo(){
-    HelpMessageDialog dlg(this, HelpMessageDialog::pshelp);
-    dlg.exec();
-}
-
-void OverviewPage::togglePrivateSend(){
-    QSettings settings;
-    // Popup some information on first mixing
-    QString hasMixed = settings.value("hasMixed").toString();
-    if(hasMixed.isEmpty()){
-        QMessageBox::information(this, tr("PrivatePAC"),
-                tr("If you don't want to see internal PrivatePAC fees/transactions select \"Most Common\" as Type on the \"Transactions\" tab."),
-                QMessageBox::Ok, QMessageBox::Ok);
-        settings.setValue("hasMixed", "hasMixed");
-    }
-    if(!privateSendClient.fEnablePrivateSend){
-        const CAmount nMinAmount = CPrivateSend::GetSmallestDenomination() + CPrivateSend::GetMaxCollateralAmount();
-        if(currentBalance < nMinAmount){
-            QString strMinAmount(BitcoinUnits::formatWithUnit(nDisplayUnit, nMinAmount));
-            QMessageBox::warning(this, tr("PrivatePAC"),
-                tr("PrivatePAC requires at least %1 to use.").arg(strMinAmount),
-                QMessageBox::Ok, QMessageBox::Ok);
-            return;
-        }
-
-        // if wallet is locked, ask for a passphrase
-        if (walletModel->getEncryptionStatus() == WalletModel::Locked)
-        {
-            WalletModel::UnlockContext ctx(walletModel->requestUnlock(true));
-            if(!ctx.isValid())
-            {
-                //unlock was cancelled
-                privateSendClient.nCachedNumBlocks = std::numeric_limits<int>::max();
-                QMessageBox::warning(this, tr("PrivatePAC"),
-                    tr("Wallet is locked and user declined to unlock. Disabling PrivatePAC."),
-                    QMessageBox::Ok, QMessageBox::Ok);
-                LogPrint("privatesend", "OverviewPage::togglePrivatePAC -- Wallet is locked and user declined to unlock. Disabling PrivatePAC.\n");
-                return;
-            }
-        }
-
-    }
-
-    privateSendClient.fEnablePrivateSend = !privateSendClient.fEnablePrivateSend;
-    privateSendClient.nCachedNumBlocks = std::numeric_limits<int>::max();
-
-    if(!privateSendClient.fEnablePrivateSend){
-        ui->togglePrivateSend->setText(tr("Start Mixing"));
-        privateSendClient.UnlockCoins();
-    } else {
-        ui->togglePrivateSend->setText(tr("Stop Mixing"));
-
-        /* show darksend configuration if client has defaults set */
-
-        if(privateSendClient.nPrivateSendAmount == 0){
-            DarksendConfig dlg(this);
-            dlg.setModel(walletModel);
-            dlg.exec();
-        }
-
-    }
 }
 
 void OverviewPage::SetupTransactionList(int nNumItems) {
@@ -666,13 +316,3 @@ void OverviewPage::SetupTransactionList(int nNumItems) {
     }
 }
 
-void OverviewPage::DisablePrivateSendCompletely() {
-    ui->togglePrivateSend->setText("(" + tr("Disabled") + ")");
-    ui->privateSendAuto->setText("(" + tr("Disabled") + ")");
-    ui->privateSendReset->setText("(" + tr("Disabled") + ")");
-    ui->framePrivateSend->setEnabled(false);
-    if (nWalletBackups <= 0) {
-        ui->labelPrivateSendEnabled->setText("<span style='color:red;'>(" + tr("Disabled") + ")</span>");
-    }
-    privateSendClient.fEnablePrivateSend = false;
-}
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index a788de688f94..fd3c84ea5279 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -38,7 +38,6 @@ class OverviewPage : public QWidget
     void showOutOfSyncWarning(bool fShow);
 
 public Q_SLOTS:
-    void privateSendStatus();
     void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
                     const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
 
@@ -65,15 +64,9 @@ public Q_SLOTS:
     std::unique_ptr<TransactionFilterProxy> filter;
 
     void SetupTransactionList(int nNumItems);
-    void DisablePrivateSendCompletely();
 
 private Q_SLOTS:
-    void togglePrivateSend();
-    void privateSendAuto();
-    void privateSendReset();
-    void privateSendInfo();
     void updateDisplayUnit();
-    void updatePrivateSendProgress();
     void updateAdvancedPSUI(bool fShowAdvancedPSUI);
     void handleTransactionClicked(const QModelIndex &index);
     void updateAlerts(const QString &warnings);

From 523b69e964a5ca9e9f513b8ebad2e0fe71eafb99 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 23 Jan 2019 15:22:55 -0600
Subject: [PATCH 005/225] Base for the sockets

(not working yet)
---
 build-aux/m4/bitcoin_qt.m4        |   4 +-
 depends/packages/qt.mk            |   2 +-
 src/Makefile.qt.include           |  17 +-
 src/qt/overviewpage.cpp           |  10 +
 src/qt/qwebchannel.js             | 396 ++++++++++++++++++++++++++++++
 src/qt/websocketclientwrapper.cpp |  22 ++
 src/qt/websocketclientwrapper.h   |  31 +++
 src/qt/websockettransport.cpp     |  41 ++++
 src/qt/websockettransport.h       |  25 ++
 9 files changed, 541 insertions(+), 7 deletions(-)
 create mode 100644 src/qt/qwebchannel.js
 create mode 100644 src/qt/websocketclientwrapper.cpp
 create mode 100644 src/qt/websocketclientwrapper.h
 create mode 100644 src/qt/websockettransport.cpp
 create mode 100644 src/qt/websockettransport.h

diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4
index f15568a91be8..cf6f7de0ee52 100644
--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -388,8 +388,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[
       QT_LIB_PREFIX=Qt
       bitcoin_qt_got_major_vers=4
     fi
-    qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets"
-    qt4_modules="QtCore QtGui QtNetwork"
+    qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5WebChannel Qt5WebSockets"
+    qt4_modules="QtCore QtGui QtNetwork QtWebChannel QtWebSockets"
     BITCOIN_QT_CHECK([
       if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then
         PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes],[have_qt=no])
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 84526d36fdfa..a9731dfd2daa 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -7,7 +7,7 @@ $(package)_sha256_hash=7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a
 $(package)_dependencies=openssl
 $(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext
 $(package)_build_subdir=qtbase
-$(package)_qt_libs=corelib network widgets gui plugins testlib
+$(package)_qt_libs=corelib network widgets gui plugins testlib webchannel websockets
 $(package)_patches=mac-qmake.conf fix-xcb-include-order.patch mingw-uuidof.patch pidlist_absolute.patch
 
 $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 8bb365e99f6e..a71362fccce4 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -92,7 +92,9 @@ QT_MOC_CPP = \
   qt/moc_utilitydialog.cpp \
   qt/moc_walletframe.cpp \
   qt/moc_walletmodel.cpp \
-  qt/moc_walletview.cpp
+  qt/moc_walletview.cpp \
+  qt/moc_websocketclientwrapper.cpp \
+  qt/moc_websockettransport.cpp
 
 BITCOIN_MM = \
   qt/macdockiconhandler.mm \
@@ -174,7 +176,9 @@ BITCOIN_QT_H = \
   qt/walletmodel.h \
   qt/walletmodeltransaction.h \
   qt/walletview.h \
-  qt/winshutdownmonitor.h
+  qt/winshutdownmonitor.h \
+  qt/websocketclientwrapper.h \
+  qt/websockettransport.h
 
 RES_ICONS = \
   qt/res/icons/bitcoin.ico \
@@ -402,6 +406,9 @@ RES_ICONS = \
   qt/res/icons/trad/network_disabled.png \
   qt/res/icons/trad/proposal.png
 
+EXTRA_DIST= \
+  qt/qwebchannel.js
+
 BITCOIN_QT_CPP = \
   qt/bantablemodel.cpp \
   qt/bitcoinaddressvalidator.cpp \
@@ -465,7 +472,9 @@ BITCOIN_QT_CPP += \
   qt/walletframe.cpp \
   qt/walletmodel.cpp \
   qt/walletmodeltransaction.cpp \
-  qt/walletview.cpp
+  qt/walletview.cpp \
+  qt/websocketclientwrapper.cpp \
+  qt/websockettransport.cpp
 endif
 
 RES_IMAGES = \
@@ -539,7 +548,7 @@ qt_libbitcoinqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INC
 qt_libbitcoinqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
 
 qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \
-  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES)
+  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(EXTRA_DIST)
 
 nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \
   $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP)
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index b80dc0102f96..1c69464ea7a9 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -28,6 +28,15 @@
 #include <QSettings>
 #include <QTimer>
 
+#include "qwebchannel.h"
+#include <QCoreApplication>
+#include "websocketclientwrapper.h"
+
+#include <string>
+#include <iostream>
+
+using namespace std;
+
 #define ICON_OFFSET 16
 #define DECORATION_SIZE 54
 #define NUM_ITEMS 5
@@ -181,6 +190,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
         connect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
         timer->start(1000);
     }
+    WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
diff --git a/src/qt/qwebchannel.js b/src/qt/qwebchannel.js
new file mode 100644
index 000000000000..0691e0296293
--- /dev/null
+++ b/src/qt/qwebchannel.js
@@ -0,0 +1,396 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 KlarÃ¤lvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtWebChannel module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+"use strict";
+
+var QWebChannelMessageTypes = {
+    signal: 1,
+    propertyUpdate: 2,
+    init: 3,
+    idle: 4,
+    debug: 5,
+    invokeMethod: 6,
+    connectToSignal: 7,
+    disconnectFromSignal: 8,
+    setProperty: 9,
+    response: 10,
+};
+
+var QWebChannel = function(transport, initCallback)
+{
+    if (typeof transport !== "object" || typeof transport.send !== "function") {
+        console.error("The QWebChannel expects a transport object with a send function and onmessage callback property." +
+                      " Given is: transport: " + typeof(transport) + ", transport.send: " + typeof(transport.send));
+        return;
+    }
+
+    var channel = this;
+    this.transport = transport;
+
+    this.send = function(data)
+    {
+        if (typeof(data) !== "string") {
+            data = JSON.stringify(data);
+        }
+        channel.transport.send(data);
+    }
+
+    this.transport.onmessage = function(message)
+    {
+        var data = message.data;
+        if (typeof data === "string") {
+            data = JSON.parse(data);
+        }
+        switch (data.type) {
+            case QWebChannelMessageTypes.signal:
+                channel.handleSignal(data);
+                break;
+            case QWebChannelMessageTypes.response:
+                channel.handleResponse(data);
+                break;
+            case QWebChannelMessageTypes.propertyUpdate:
+                channel.handlePropertyUpdate(data);
+                break;
+            case QWebChannelMessageTypes.init:
+                channel.handleInit(data);
+                break;
+            default:
+                console.error("invalid message received:", message.data);
+                break;
+        }
+    }
+
+    this.execCallbacks = {};
+    this.execId = 0;
+    this.exec = function(data, callback)
+    {
+        if (!callback) {
+            // if no callback is given, send directly
+            channel.send(data);
+            return;
+        }
+        if (channel.execId === Number.MAX_VALUE) {
+            // wrap
+            channel.execId = Number.MIN_VALUE;
+        }
+        if (data.hasOwnProperty("id")) {
+            console.error("Cannot exec message with property id: " + JSON.stringify(data));
+            return;
+        }
+        data.id = channel.execId++;
+        channel.execCallbacks[data.id] = callback;
+        channel.send(data);
+    };
+
+    this.objects = {};
+
+    this.handleSignal = function(message)
+    {
+        var object = channel.objects[message.object];
+        if (object) {
+            object.signalEmitted(message.signal, message.args);
+        } else {
+            console.warn("Unhandled signal: " + message.object + "::" + message.signal);
+        }
+    }
+
+    this.handleResponse = function(message)
+    {
+        if (!message.hasOwnProperty("id")) {
+            console.error("Invalid response message received: ", JSON.stringify(message));
+            return;
+        }
+        channel.execCallbacks[message.id](message.data);
+        delete channel.execCallbacks[message.id];
+    }
+
+    this.handlePropertyUpdate = function(message)
+    {
+        for (var i in message.data) {
+            var data = message.data[i];
+            var object = channel.objects[data.object];
+            if (object) {
+                object.propertyUpdate(data.signals, data.properties);
+            } else {
+                console.warn("Unhandled property update: " + data.object + "::" + data.signal);
+            }
+        }
+        channel.exec({type: QWebChannelMessageTypes.idle});
+    }
+
+    // prevent multiple initialization which might happen with multiple webchannel clients.
+    this.initialized = false;
+    this.handleInit = function(message)
+    {
+        if (channel.initialized) {
+            return;
+        }
+        channel.initialized = true;
+        for (var objectName in message.data) {
+            var data = message.data[objectName];
+            var object = new QObject(objectName, data, channel);
+        }
+        if (initCallback) {
+            initCallback(channel);
+        }
+        channel.exec({type: QWebChannelMessageTypes.idle});
+    }
+
+    this.debug = function(message)
+    {
+        channel.send({type: QWebChannelMessageTypes.debug, data: message});
+    };
+
+    channel.exec({type: QWebChannelMessageTypes.init});
+};
+
+function QObject(name, data, webChannel)
+{
+    this.__id__ = name;
+    webChannel.objects[name] = this;
+
+    // List of callbacks that get invoked upon signal emission
+    this.__objectSignals__ = {};
+
+    // Cache of all properties, updated when a notify signal is emitted
+    this.__propertyCache__ = {};
+
+    var object = this;
+
+    // ----------------------------------------------------------------------
+
+    function unwrapQObject( response )
+    {
+        if (!response
+            || !response["__QObject*__"]
+            || response["id"] === undefined
+            || response["data"] === undefined) {
+            return response;
+        }
+        var objectId = response.id;
+        if (webChannel.objects[objectId])
+            return webChannel.objects[objectId];
+
+        var qObject = new QObject( objectId, response.data, webChannel );
+        qObject.destroyed.connect(function() {
+            if (webChannel.objects[objectId] === qObject) {
+                delete webChannel.objects[objectId];
+                // reset the now deleted QObject to an empty {} object
+                // just assigning {} though would not have the desired effect, but the
+                // below also ensures all external references will see the empty map
+                // NOTE: this detour is necessary to workaround QTBUG-40021
+                var propertyNames = [];
+                for (var propertyName in qObject) {
+                    propertyNames.push(propertyName);
+                }
+                for (var idx in propertyNames) {
+                    delete qObject[propertyNames[idx]];
+                }
+            }
+        });
+        return qObject;
+    }
+
+    function addSignal(signalData, isPropertyNotifySignal)
+    {
+        var signalName = signalData[0];
+        var signalIndex = signalData[1];
+        object[signalName] = {
+            connect: function(callback) {
+                if (typeof(callback) !== "function") {
+                    console.error("Bad callback given to connect to signal " + signalName);
+                    return;
+                }
+
+                object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
+                object.__objectSignals__[signalIndex].push(callback);
+
+                if (!isPropertyNotifySignal) {
+                    // only required for "pure" signals, handled separately for properties in propertyUpdate
+                    webChannel.exec({
+                        type: QWebChannelMessageTypes.connectToSignal,
+                        object: object.__id__,
+                        signal: signalIndex
+                    });
+                }
+            },
+            disconnect: function(callback) {
+                if (typeof(callback) !== "function") {
+                    console.error("Bad callback given to disconnect from signal " + signalName);
+                    return;
+                }
+                object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
+                var idx = object.__objectSignals__[signalIndex].indexOf(callback);
+                if (idx === -1) {
+                    console.error("Cannot find connection of signal " + signalName + " to " + callback.name);
+                    return;
+                }
+                object.__objectSignals__[signalIndex].splice(idx, 1);
+                if (!isPropertyNotifySignal && object.__objectSignals__[signalIndex].length === 0) {
+                    // only required for "pure" signals, handled separately for properties in propertyUpdate
+                    webChannel.exec({
+                        type: QWebChannelMessageTypes.disconnectFromSignal,
+                        object: object.__id__,
+                        signal: signalIndex
+                    });
+                }
+            }
+        };
+    }
+
+    /**
+     * Invokes all callbacks for the given signalname. Also works for property notify callbacks.
+     */
+    function invokeSignalCallbacks(signalName, signalArgs)
+    {
+        var connections = object.__objectSignals__[signalName];
+        if (connections) {
+            connections.forEach(function(callback) {
+                callback.apply(callback, signalArgs);
+            });
+        }
+    }
+
+    this.propertyUpdate = function(signals, propertyMap)
+    {
+        // update property cache
+        for (var propertyIndex in propertyMap) {
+            var propertyValue = propertyMap[propertyIndex];
+            object.__propertyCache__[propertyIndex] = propertyValue;
+        }
+
+        for (var signalName in signals) {
+            // Invoke all callbacks, as signalEmitted() does not. This ensures the
+            // property cache is updated before the callbacks are invoked.
+            invokeSignalCallbacks(signalName, signals[signalName]);
+        }
+    }
+
+    this.signalEmitted = function(signalName, signalArgs)
+    {
+        invokeSignalCallbacks(signalName, signalArgs);
+    }
+
+    function addMethod(methodData)
+    {
+        var methodName = methodData[0];
+        var methodIdx = methodData[1];
+        object[methodName] = function() {
+            var args = [];
+            var callback;
+            for (var i = 0; i < arguments.length; ++i) {
+                if (typeof arguments[i] === "function")
+                    callback = arguments[i];
+                else
+                    args.push(arguments[i]);
+            }
+
+            webChannel.exec({
+                "type": QWebChannelMessageTypes.invokeMethod,
+                "object": object.__id__,
+                "method": methodIdx,
+                "args": args
+            }, function(response) {
+                if (response !== undefined) {
+                    var result = unwrapQObject(response);
+                    if (callback) {
+                        (callback)(result);
+                    }
+                }
+            });
+        };
+    }
+
+    function bindGetterSetter(propertyInfo)
+    {
+        var propertyIndex = propertyInfo[0];
+        var propertyName = propertyInfo[1];
+        var notifySignalData = propertyInfo[2];
+        // initialize property cache with current value
+        object.__propertyCache__[propertyIndex] = propertyInfo[3];
+
+        if (notifySignalData) {
+            if (notifySignalData[0] === 1) {
+                // signal name is optimized away, reconstruct the actual name
+                notifySignalData[0] = propertyName + "Changed";
+            }
+            addSignal(notifySignalData, true);
+        }
+
+        Object.defineProperty(object, propertyName, {
+            get: function () {
+                var propertyValue = object.__propertyCache__[propertyIndex];
+                if (propertyValue === undefined) {
+                    // This shouldn't happen
+                    console.warn("Undefined value in property cache for property \"" + propertyName + "\" in object " + object.__id__);
+                }
+
+                return propertyValue;
+            },
+            set: function(value) {
+                if (value === undefined) {
+                    console.warn("Property setter for " + propertyName + " called with undefined value!");
+                    return;
+                }
+                object.__propertyCache__[propertyIndex] = value;
+                webChannel.exec({
+                    "type": QWebChannelMessageTypes.setProperty,
+                    "object": object.__id__,
+                    "property": propertyIndex,
+                    "value": value
+                });
+            }
+        });
+
+    }
+
+    // ----------------------------------------------------------------------
+
+    data.methods.forEach(addMethod);
+
+    data.properties.forEach(bindGetterSetter);
+
+    data.signals.forEach(function(signal) { addSignal(signal, false); });
+
+    for (var name in data.enums) {
+        object[name] = data.enums[name];
+    }
+}
+
+//required for use with nodejs
+if (typeof module === 'object') {
+    module.exports = {
+        QWebChannel: QWebChannel
+    };
+}
diff --git a/src/qt/websocketclientwrapper.cpp b/src/qt/websocketclientwrapper.cpp
new file mode 100644
index 000000000000..1235439debe4
--- /dev/null
+++ b/src/qt/websocketclientwrapper.cpp
@@ -0,0 +1,22 @@
+#include "websocketclientwrapper.h"
+#include <QtWebSockets/QWebSocketServer>
+#include "websockettransport.h"
+
+QT_BEGIN_NAMESPACE
+
+WebSocketClientWrapper::WebSocketClientWrapper(const QUrl &url, QObject *parent)
+    : QObject(parent)
+    , m_url(url)
+{
+    qWarning() << "Open WebSocket connection: " << m_url;
+    connect(&m_webSocket, &QWebSocket::connected,
+            this, &WebSocketClientWrapper::handleNewConnection);
+    qDebug() << "connecting...";
+    m_webSocket.open(url);
+}
+
+void WebSocketClientWrapper::handleNewConnection()
+{
+    qWarning() << "WebSocket connected: " << m_url;
+    Q_EMIT clientConnected(new WebSocketTransport(&m_webSocket));
+}
diff --git a/src/qt/websocketclientwrapper.h b/src/qt/websocketclientwrapper.h
new file mode 100644
index 000000000000..0fe77cf4e8de
--- /dev/null
+++ b/src/qt/websocketclientwrapper.h
@@ -0,0 +1,31 @@
+#ifndef WEBSOCKETCLIENTWRAPPER_H
+#define WEBSOCKETCLIENTWRAPPER_H
+
+#include <QObject>
+#include <QtWebSockets/QWebSocket>
+
+QT_BEGIN_NAMESPACE
+
+class WebSocketTransport;
+
+class WebSocketClientWrapper : public QObject
+{
+    Q_OBJECT
+
+public:
+    WebSocketClientWrapper(const QUrl &url, QObject *parent = 0);
+
+Q_SIGNALS:
+    void clientConnected(WebSocketTransport* client);
+
+private Q_SLOTS:
+    void handleNewConnection();
+
+private:
+    QUrl m_url;
+    QWebSocket m_webSocket;
+};
+
+QT_END_NAMESPACE
+
+#endif // WEBSOCKETCLIENTWRAPPER_H
diff --git a/src/qt/websockettransport.cpp b/src/qt/websockettransport.cpp
new file mode 100644
index 000000000000..2aac1abe662e
--- /dev/null
+++ b/src/qt/websockettransport.cpp
@@ -0,0 +1,41 @@
+#include "websockettransport.h"
+
+#include <QJsonDocument>
+#include <QJsonObject>
+#include <QDebug>
+
+#include <QtWebSockets/QWebSocket>
+
+#include <string>
+#include <iostream>
+
+using namespace std;
+
+QT_BEGIN_NAMESPACE
+
+WebSocketTransport::WebSocketTransport(QWebSocket *socket)
+: QWebChannelAbstractTransport(socket)
+, m_socket(socket)
+{
+    connect(socket, &QWebSocket::textMessageReceived,
+            this, &WebSocketTransport::textMessageReceived);
+}
+
+WebSocketTransport::~WebSocketTransport()
+{
+
+}
+
+void WebSocketTransport::sendMessage(const QJsonObject &message)
+{
+    QJsonDocument doc(message);
+    m_socket->sendTextMessage(QString::fromUtf8(doc.toJson(QJsonDocument::Compact)));
+}
+
+void WebSocketTransport::textMessageReceived(const QString &messageData)
+{
+    qDebug() << messageData;
+    cout << "Dentro" << endl;
+    cout << messageData << endl;
+
+}
diff --git a/src/qt/websockettransport.h b/src/qt/websockettransport.h
new file mode 100644
index 000000000000..40792ee426b9
--- /dev/null
+++ b/src/qt/websockettransport.h
@@ -0,0 +1,25 @@
+#ifndef WEBSOCKETTRANSPORT_H
+#define WEBSOCKETTRANSPORT_H
+
+#include <QtWebChannel/QWebChannelAbstractTransport>
+#include <QtWebSockets/QWebSocket>
+
+QT_BEGIN_NAMESPACE
+
+class WebSocketTransport : public QWebChannelAbstractTransport
+{
+    Q_OBJECT
+public:
+    explicit WebSocketTransport(QWebSocket *socket);
+    virtual ~WebSocketTransport();
+
+    void sendMessage(const QJsonObject &message) Q_DECL_OVERRIDE;
+
+private Q_SLOTS:
+    void textMessageReceived(const QString &message);
+
+private:
+    QWebSocket *m_socket;
+};
+
+#endif // WEBSOCKETTRANSPORT_H
\ No newline at end of file

From 8933328cc55ea70fda0a168759aab74560ac2f7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:26:40 -0600
Subject: [PATCH 006/225] re location of overview page main structure

---
 src/qt/forms/overviewpage.ui | 562 ++++++++---------------------------
 1 file changed, 120 insertions(+), 442 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 6e35fb8fce9a..a5b60a55b96f 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>960</width>
-    <height>527</height>
+    <height>551</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -19,6 +19,11 @@
   <property name="windowTitle">
    <string>Form</string>
   </property>
+  <property name="styleSheet">
+   <string notr="true">QFrame{
+  margin:10px;
+}</string>
+  </property>
   <layout class="QVBoxLayout" name="topLayout">
    <item>
     <widget class="QLabel" name="labelAlerts">
@@ -40,11 +45,29 @@
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1">
+    <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
      <item>
       <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="sizeConstraint">
+        <enum>QLayout::SetDefaultConstraint</enum>
+       </property>
        <item>
-        <widget class="QFrame" name="frame">
+        <widget class="QFrame" name="frame_Balances">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>450</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true"/>
+         </property>
          <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
@@ -53,49 +76,38 @@
          </property>
          <layout class="QVBoxLayout" name="verticalLayout_4">
           <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_4">
+           <widget class="QLabel" name="labelWalletStatus">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="statusTip">
+             <string>The displayed information may be out of date. Your wallet automatically synchronizes with the $PAC network after a connection is established, but this process has not completed yet.</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">QLabel { color: transparent; }</string>
+            </property>
+            <property name="text">
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout_5">
             <item>
-             <widget class="QLabel" name="label_5">
+             <widget class="QLabel" name="labelBalanceText">
               <property name="text">
-               <string> Balances</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelWalletStatus">
-              <property name="statusTip">
-               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the $PAC network after a connection is established, but this process has not completed yet.</string>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">QLabel { color: transparent; }</string>
+               <string>Available Balance</string>
               </property>
-              <property name="text">
-               <string/>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
             <item>
-             <spacer name="horizontalSpacer_3">
-              <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="QGridLayout" name="gridLayout">
-            <property name="spacing">
-             <number>12</number>
-            </property>
-            <item row="2" column="2">
-             <widget class="QLabel" name="labelWatchPending">
+             <widget class="QLabel" name="labelBalance">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -106,21 +118,21 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Unconfirmed transactions to watch-only addresses</string>
+               <string>Your current spendable balance</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="2" column="1">
-             <widget class="QLabel" name="labelUnconfirmed">
+            <item>
+             <widget class="QLabel" name="labelWatchAvailable">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -131,21 +143,31 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</string>
+               <string>Your current balance in watch-only addresses</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="3" column="2">
-             <widget class="QLabel" name="labelWatchImmature">
+            <item>
+             <widget class="QLabel" name="labelPendingText">
+              <property name="text">
+               <string>Pending</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelUnconfirmed">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -156,54 +178,21 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Mined balance in watch-only addresses that has not yet matured</string>
+               <string>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="4" column="0" colspan="2">
-             <widget class="Line" name="lineSpendableBalance">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-             </widget>
-            </item>
-            <item row="4" column="2">
-             <widget class="Line" name="lineWatchBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>140</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-             </widget>
-            </item>
-            <item row="5" column="0">
-             <widget class="QLabel" name="labelTotalText">
-              <property name="text">
-               <string>Total:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="1">
-             <widget class="QLabel" name="labelImmature">
+            <item>
+             <widget class="QLabel" name="labelWatchPending">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -214,41 +203,31 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Mined balance that has not yet matured</string>
+               <string>Unconfirmed transactions to watch-only addresses</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="2" column="3">
-             <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 row="3" column="0">
+            <item>
              <widget class="QLabel" name="labelImmatureText">
               <property name="text">
-               <string>Immature:</string>
+               <string>Immature</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
-            <item row="5" column="1">
-             <widget class="QLabel" name="labelTotal">
+            <item>
+             <widget class="QLabel" name="labelImmature">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -259,21 +238,21 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Your current total balance</string>
+               <string>Mined balance that has not yet matured</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="5" column="2">
-             <widget class="QLabel" name="labelWatchTotal">
+            <item>
+             <widget class="QLabel" name="labelWatchImmature">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -284,38 +263,31 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Current total balance in watch-only addresses</string>
+               <string>Mined balance in watch-only addresses that has not yet matured</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="0" column="2">
-             <widget class="QLabel" name="labelWatchonly">
+            <item>
+             <widget class="QLabel" name="labelTotalText">
               <property name="text">
-               <string>Watch-only:</string>
+               <string>Total Balance</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="labelBalanceText">
-              <property name="text">
-               <string>Available:</string>
+               <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
-            <item row="1" column="1">
-             <widget class="QLabel" name="labelBalance">
+            <item>
+             <widget class="QLabel" name="labelTotal">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -326,21 +298,21 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Your current spendable balance</string>
+               <string>Your current total balance</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
              </widget>
             </item>
-            <item row="1" column="2">
-             <widget class="QLabel" name="labelWatchAvailable">
+            <item>
+             <widget class="QLabel" name="labelWatchTotal">
               <property name="font">
                <font>
                 <weight>75</weight>
@@ -351,45 +323,32 @@
                <cursorShape>IBeamCursor</cursorShape>
               </property>
               <property name="toolTip">
-               <string>Your current balance in watch-only addresses</string>
+               <string>Current total balance in watch-only addresses</string>
               </property>
               <property name="text">
                <string notr="true">0.000 000 00 BTC</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</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="labelPendingText">
-              <property name="text">
-               <string>Pending:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLabel" name="labelSpendable">
-              <property name="text">
-               <string>Spendable:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-              </property>
-             </widget>
-            </item>
            </layout>
           </item>
          </layout>
         </widget>
        </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="QFrame" name="framePrivateSend">
-         <property name="layoutDirection">
-          <enum>Qt::LeftToRight</enum>
+        <widget class="QFrame" name="frame_RecentTransactions">
+         <property name="styleSheet">
+          <string notr="true"/>
          </property>
          <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
@@ -397,265 +356,23 @@
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <layout class="QVBoxLayout" name="VerticalLayout_PS1">
-          <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_5">
-            <item>
-             <widget class="QLabel" name="labelPrivateSendHeader">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string>PrivatePAC</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelPrivateSendSyncStatus">
-              <property name="toolTip">
-               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">QLabel { color: transparent; }</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_4">
-              <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>
+         <layout class="QVBoxLayout" name="verticalLayout">
           <item>
-           <layout class="QFormLayout" name="privateSendFormLayout">
-            <property name="fieldGrowthPolicy">
-             <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+           <widget class="QLabel" name="labelTransactionsStatus">
+            <property name="toolTip">
+             <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
             </property>
-            <property name="horizontalSpacing">
-             <number>11</number>
+            <property name="styleSheet">
+             <string notr="true">QLabel { color: transparent; }</string>
             </property>
-            <property name="verticalSpacing">
-             <number>12</number>
+            <property name="text">
+             <string notr="true">(out of sync)</string>
             </property>
-            <item row="0" column="0">
-             <widget class="QLabel" name="labelPrivateSendEnabledText">
-              <property name="text">
-               <string>Status:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLabel" name="labelPrivateSendEnabled">
-              <property name="text">
-               <string>Enabled/Disabled</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="labelCompletitionText">
-              <property name="text">
-               <string>Completion:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QProgressBar" name="privateSendProgress">
-              <property name="maximumSize">
-               <size>
-                <width>154</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="value">
-               <number>0</number>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="0">
-             <widget class="QLabel" name="labelAnonymizedText">
-              <property name="text">
-               <string>PrivateSend Balance:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="1">
-             <widget class="QLabel" name="labelAnonymized">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string notr="true">0 $PAC</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="0">
-             <widget class="QLabel" name="labelAmountAndRoundsText">
-              <property name="text">
-               <string>Amount and Rounds:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="1">
-             <widget class="QLabel" name="labelAmountRounds">
-              <property name="text">
-               <string>0 $PAC / 0 Rounds</string>
-              </property>
-             </widget>
-            </item>
-            <item row="4" column="0">
-             <widget class="QLabel" name="labelSubmittedDenomText">
-              <property name="text">
-               <string>Submitted Denom:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="4" column="1">
-             <widget class="QLabel" name="labelSubmittedDenom">
-              <property name="toolTip">
-               <string>The denominations you submitted to the Masternode.&lt;br&gt;To mix, other users must submit the exact same denominations.</string>
-              </property>
-              <property name="text">
-               <string>n/a</string>
-              </property>
-             </widget>
-            </item>
-           </layout>
+            <property name="alignment">
+             <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+            </property>
+           </widget>
           </item>
-          <item>
-           <layout class="QVBoxLayout" name="VerticalLayout_PS">
-            <item>
-             <widget class="QLabel" name="labelPrivateSendLastMessage">
-              <property name="text">
-               <string>(Last Message)</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-              </property>
-              <property name="wordWrap">
-               <bool>true</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="togglePrivateSend">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string>Start/Stop Mixing</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <layout class="QHBoxLayout" name="horizontalLayout_debugbuttons">
-              <item>
-               <widget class="QPushButton" name="privateSendAuto">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="toolTip">
-                 <string>Try to manually submit a PrivateSend request.</string>
-                </property>
-                <property name="text">
-                 <string>Try Mix</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QPushButton" name="privateSendReset">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="toolTip">
-                 <string>Reset the current status of PrivateSend (can interrupt PrivateSend if it's in the process of Mixing, which can cost you money!)</string>
-                </property>
-                <property name="autoFillBackground">
-                 <bool>false</bool>
-                </property>
-                <property name="text">
-                 <string>Reset</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QPushButton" name="privateSendInfo">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="toolTip">
-                 <string>Information about PrivateSend and Mixing</string>
-                </property>
-                <property name="text">
-                 <string>Info</string>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </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>
-      </layout>
-     </item>
-     <item>
-      <layout class="QVBoxLayout" name="verticalLayout_3">
-       <item>
-        <widget class="QFrame" name="frame_2">
-         <property name="frameShape">
-          <enum>QFrame::StyledPanel</enum>
-         </property>
-         <property name="frameShadow">
-          <enum>QFrame::Raised</enum>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout">
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_2">
             <item>
@@ -670,37 +387,11 @@
               <property name="text">
                <string>RECENT TRANSACTIONS</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 Paccoin network after a connection is established, but this process has not completed yet.</string>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">QLabel { color: transparent; }</string>
-              </property>
-              <property name="text">
-               <string notr="true">(out of sync)</string>
-              </property>
               <property name="alignment">
-               <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </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>
            </layout>
           </item>
           <item>
@@ -728,19 +419,6 @@
             </property>
            </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>
         </widget>
        </item>

From afb08ddfffc2aa1cdcf03f6d2288efbb6944278c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:37:30 -0600
Subject: [PATCH 007/225] CSS styles for main menu toolbar and mainwindow,
 choose between themes

- implementing personalized font
- new icons and assets for pac
- toolbar modified
- now the user can change between new pac theme and other css themes.
- modifications to overview page
---
 src/qt/bitcoingui.cpp         |  19 +++--
 src/qt/forms/modaloverlay.ui  |  19 ++++-
 src/qt/forms/optionsdialog.ui |   4 +-
 src/qt/forms/overviewpage.ui  |  15 +++-
 src/qt/guiutil.cpp            |   6 +-
 src/qt/optionsdialog.cpp      |   3 +-
 src/qt/paccoin.qrc            |   5 ++
 src/qt/res/css/pac.css        | 136 ++++++++++++++++++++++++++++++++++
 8 files changed, 189 insertions(+), 18 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index aae1a34a5bfd..02e1b0fc955f 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -194,6 +194,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     // Create status bar
     statusBar();
+    //statusBar()->setObjectName("statusProgressBar");
+    statusBar()->setFixedHeight(33);
 
     // Disable size grip because it looks ugly and nobody needs it
     statusBar()->setSizeGripEnabled(false);
@@ -238,7 +240,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QString curStyle = QApplication::style()->metaObject()->className();
     if(curStyle == "QWindowsStyle" || curStyle == "QWindowsXPStyle")
     {
-        progressBar->setStyleSheet("QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }");
+        //progressBar->setStyleSheet("QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }");
     }
 
     statusBar()->addWidget(progressBarLabel);
@@ -586,14 +588,18 @@ void BitcoinGUI::createToolBars()
 #ifdef ENABLE_WALLET
     if(walletFrame)
     {
-                QLabel* mainIcon = new QLabel();
-        mainIcon->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
-        mainIcon->setPixmap(QPixmap(":icons/bitcoin"));
-        mainIcon->setAlignment(Qt::AlignCenter);
+        QWidget* mainIcon = new QWidget();
+        mainIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        mainIcon->setObjectName("toolbarIcon");
+        mainIcon->setFixedWidth(100);
+        mainIcon->setFixedHeight(100);
 
         QToolBar *toolbar = new QToolBar(tr("Tabs toolbar"));
-        toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+        toolbar->setObjectName("toolBar");
+
+        toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
         addToolBar(Qt::LeftToolBarArea, toolbar);
+        toolbar->setFixedWidth(100);
         toolbar->addWidget(mainIcon);
         toolbar->setOrientation(Qt::Vertical);
         toolbar->addAction(overviewAction);
@@ -619,6 +625,7 @@ void BitcoinGUI::createToolBars()
         layout->setSpacing(0);
         layout->setContentsMargins(QMargins());
         QWidget *containerWidget = new QWidget();
+        containerWidget->setObjectName("containerWidget"); // Label ID as CSS-reference
         containerWidget->setLayout(layout);
         setCentralWidget(containerWidget);
     }
diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui
index 6de1abcac63d..4a7fd09f0d4d 100644
--- a/src/qt/forms/modaloverlay.ui
+++ b/src/qt/forms/modaloverlay.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>640</width>
-    <height>382</height>
+    <height>391</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -32,7 +32,9 @@
    <item>
     <widget class="QWidget" name="bgWidget" native="true">
      <property name="styleSheet">
-      <string notr="true"/>
+      <string notr="true">#bgWidget, #contentWidget{
+background-color: rgba(128,128,128,0.6)
+}</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayoutMain" stretch="0">
       <property name="leftMargin">
@@ -78,6 +80,13 @@
              <property name="leftMargin">
               <number>0</number>
              </property>
+             <item>
+              <widget class="QWidget" name="widget" native="true">
+               <property name="styleSheet">
+                <string notr="true">border-image:</string>
+               </property>
+              </widget>
+             </item>
              <item>
               <widget class="QPushButton" name="warningIcon">
                <property name="enabled">
@@ -87,7 +96,7 @@
                 <string/>
                </property>
                <property name="icon">
-                <iconset>
+                <iconset resource="../paccoin.qrc">
                  <normaloff>:/icons/warning</normaloff>
                  <disabledoff>:/icons/warning</disabledoff>:/icons/warning</iconset>
                </property>
@@ -386,6 +395,8 @@
    <container>1</container>
   </customwidget>
  </customwidgets>
- <resources/>
+ <resources>
+  <include location="../paccoin.qrc"/>
+ </resources>
  <connections/>
 </ui>
diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
index c75538c59284..a2355b569607 100644
--- a/src/qt/forms/optionsdialog.ui
+++ b/src/qt/forms/optionsdialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>576</width>
-    <height>457</height>
+    <height>469</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -20,7 +20,7 @@
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
-      <number>0</number>
+      <number>4</number>
      </property>
      <widget class="QWidget" name="tabMain">
       <attribute name="title">
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index a5b60a55b96f..60c1bbaab870 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>960</width>
-    <height>551</height>
+    <height>604</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -95,9 +95,16 @@
            </widget>
           </item>
           <item>
-           <layout class="QVBoxLayout" name="verticalLayout_5">
+           <layout class="QHBoxLayout" name="horizontalLayout_3">
             <item>
              <widget class="QLabel" name="labelBalanceText">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
               <property name="text">
                <string>Available Balance</string>
               </property>
@@ -106,6 +113,10 @@
               </property>
              </widget>
             </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout_5">
             <item>
              <widget class="QLabel" name="labelBalance">
               <property name="font">
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 325366ab9602..a0caa991b05b 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -907,7 +907,7 @@ QString getThemeName()
     if(!theme.isEmpty()){
         return theme;
     }
-    return QString("light");  
+    return QString("pac");
 }
 
 // Open CSS when configured
@@ -922,8 +922,8 @@ QString loadStyleSheet()
         cssName = QString(":/css/") + theme; 
     }
     else {
-        cssName = QString(":/css/light");  
-        settings.setValue("theme", "light");
+        cssName = QString(":/css/pac");
+        settings.setValue("theme", "pac");
     }
     
     QFile qFile(cssName);      
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index f965a79cea50..fe68684ef8bf 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -92,7 +92,8 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     }
     
     /* Theme selector */
-    ui->theme->addItem(QString("(default)"), QVariant("light"));
+    ui->theme->addItem(QString("pac theme"), QVariant("pac"));
+    ui->theme->addItem(QString("light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light-hires"), QVariant("light-hires"));
     //ui->theme->addItem(QString("PAC-blue"), QVariant("drkblue"));
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 6a1f1f1bc857..563ff32858c1 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -4,6 +4,11 @@
         <file alias="prompticon">res/icons/chevron.png</file>
         <file alias="warning">res/icons/warning.png</file>
     </qresource>
+    <qresource prefix="/fonts">
+        <file alias="typo">res/fonts/ZCOOLKuaiLe-Regular.ttf</file>
+        <file alias="Montserrat-Regular">res/fonts/Montserrat-Regular.otf</file>
+        <file alias="Montserrat-Medium">res/fonts/Montserrat-Medium.otf</file>
+    </qresource>
     <qresource prefix="/icons/drkblue">
         <file alias="address-book">res/icons/drkblue/address-book.png</file>
         <file alias="quit">res/icons/drkblue/quit.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e69de29bb2d1..b932bca42c1c 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -0,0 +1,136 @@
+/*
+ *  Global GUI styles
+ */
+QLabel{
+    font-family: 'Montserrat', sans-serif !important;
+    color: rgb(250,250,250) !important;
+}
+QMainWindow{
+    border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
+}
+
+/* input controls */
+QTextEdit {
+    background: rgb(10, 10, 10);
+    color: rgb(255, 255, 255);
+    border: none;
+    border-radius: 15px;
+    height: 120px !important;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 20px;
+}
+QPlainTextEdit {
+    background: rgb(255, 255, 255);
+    color: rgb(20, 20, 20);
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+} /*textarea*/
+QDoubleSpinBox {
+    background: rgb(255, 255, 255);
+    color: rgb(20, 20, 20);
+    border: 0px solid rgb(61, 61, 61);
+    border-radius: 8px;
+    height: 35px !important;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+} /*textbox with more and less button*/
+QDoubleSpinBox::up-button, QDoubleSpinBox::down-button {
+    width: 17px;
+    height: 17px;
+    border: 0px solid black;
+}
+QDoubleSpinBox::up-button {
+    image: url(:/icons/uparrow) !important;
+    border-top-left-radius:4px;
+    border-top-right-radius:4px;
+}
+QDoubleSpinBox::down-button {
+    image: url(:/icons/downarrow) !important;
+    border-bottom-left-radius:4px;
+    border-bottom-right-radius:4px;
+}
+QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover{
+    background-color:rgba(198,38,146,0.4);
+}
+
+
+
+
+/* ToolBar Menu */
+QToolBar {
+    background-color: #000;
+    border: 0px;
+    padding: 0px;
+    margin: 0px;
+}
+QToolBar > QToolButton {
+    background-color:transparent;
+    border: 0px;
+    min-height: 2.5em;
+    height: 3em;
+    padding: 0em 2em;
+    color: #fff;
+    margin-top: 20px;
+}
+QToolBar > QToolButton:checked {
+    background-color:rgba(150,150,150,0.1);
+}
+
+/* Global Button styles*/
+QPushButton {
+    background: rgb(5,5,5);
+    border: 1px solid rgb(243,232,56);
+    color: rgb(243,232,56);
+    border-radius: 12px;
+    height: 30px;
+    width: 150px;
+    font-family: Arial;
+    font-style: normal;
+    font-size: 12pt;
+    font-weight: bold;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 10px;
+    text-transform:uppercase;
+}
+QPushButton:hover, QPushButton:focus {
+    background: rgb(243,232,56) !important;
+    border: 2px solid rgb(5,5,5) !important;
+    color: rgb(5,5,5);
+}
+QPushButton:disabled {
+    background: rgb(233, 201, 166);
+    border: 0px;
+}
+QPushButton:pressed {
+    background: rgba(243,232,56, 0.3) !important;
+    border: 2px solid rgb(5, 5, 5) !important;
+    color: rgb(243,232,56) !important;
+}
+
+/* Global Progress Bar styles */
+QStatusBar{
+    background-color: rgb(80,80,80) !important;
+}
+
+#toolbarIcon{
+    background: none;
+    margin-left: 0px;
+    margin-top: 0px;
+    margin: 15px !important;
+    border-image: url(:/icons/bitcoin);
+}
+
+QMessageBox {
+    background-color:#0000FF;
+}
+
+/*
+ * Overview Page
+*/
+#frame_RecentTransactions, #frame_Balances{
+    background-color: rgba(50,50,50,0.6);
+    border: 0px !important;
+}
+#frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
+    text-transform:uppercase;
+}

From 1aeca41542f31c6245acc5cf83b66ec1d4922d5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:42:03 -0600
Subject: [PATCH 008/225] Purging useless code and adding font for testing

---
 src/qt/privatepage.cpp | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 6289beed56da..10547651827e 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -117,15 +117,8 @@ void PrivatePage::setBalance(const CAmount& balance, const CAmount& unconfirmedB
     currentWatchImmatureBalance = watchImmatureBalance;
     ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
 
-    // only show immature (newly mined) balance if it's non-zero, so as not to complicate things
-    // for the non-mining users
-    bool showImmature = immatureBalance != 0;
-    bool showWatchOnlyImmature = watchImmatureBalance != 0;
-
     // for symmetry reasons also show immature label when the watch-only one is shown
 
-    updatePrivateSendProgress();
-
     static int cachedTxLocks = 0;
 
     if(cachedTxLocks != nCompleteTXLocks){

From 0025d20e31b3c24237e6adeafa2d984adae9f342 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:42:08 -0600
Subject: [PATCH 009/225] CSS class implementation, styles modified

---
 src/qt/forms/overviewpage.ui       | 75 ++++++++++++++++++++++++--
 src/qt/forms/receivecoinsdialog.ui | 13 +++--
 src/qt/forms/sendcoinsentry.ui     | 84 ++++++++++++++++++++++++++++--
 src/qt/res/css/pac.css             | 54 +++++++++++++++++--
 4 files changed, 208 insertions(+), 18 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 60c1bbaab870..eb3ed9c4b041 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>960</width>
-    <height>604</height>
+    <height>612</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -98,11 +98,17 @@
            <layout class="QHBoxLayout" name="horizontalLayout_3">
             <item>
              <widget class="QLabel" name="labelBalanceText">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <property name="font">
                <font>
                 <pointsize>18</pointsize>
-                <weight>75</weight>
-                <bold>true</bold>
+                <weight>50</weight>
+                <bold>false</bold>
                </font>
               </property>
               <property name="text">
@@ -111,6 +117,9 @@
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
            </layout>
@@ -140,6 +149,9 @@
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
+              <property name="class" stdset="0">
+               <string>pacCoinsLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -169,12 +181,37 @@
             </item>
             <item>
              <widget class="QLabel" name="labelPendingText">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+                <weight>50</weight>
+                <bold>false</bold>
+                <underline>false</underline>
+                <strikeout>false</strikeout>
+                <kerning>true</kerning>
+               </font>
+              </property>
+              <property name="lineWidth">
+               <number>1</number>
+              </property>
+              <property name="midLineWidth">
+               <number>0</number>
+              </property>
               <property name="text">
                <string>Pending</string>
               </property>
+              <property name="scaledContents">
+               <bool>false</bool>
+              </property>
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
+              <property name="margin">
+               <number>-4</number>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -200,6 +237,9 @@
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
+              <property name="class" stdset="0">
+               <string>pacCoinsLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -229,12 +269,20 @@
             </item>
             <item>
              <widget class="QLabel" name="labelImmatureText">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+               </font>
+              </property>
               <property name="text">
                <string>Immature</string>
               </property>
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -260,6 +308,9 @@
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
+              <property name="class" stdset="0">
+               <string>pacCoinsLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -289,12 +340,20 @@
             </item>
             <item>
              <widget class="QLabel" name="labelTotalText">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+               </font>
+              </property>
               <property name="text">
                <string>Total Balance</string>
               </property>
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -320,6 +379,9 @@
               <property name="textInteractionFlags">
                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
               </property>
+              <property name="class" stdset="0">
+               <string>pacCoinsLabel</string>
+              </property>
              </widget>
             </item>
             <item>
@@ -391,8 +453,8 @@
               <property name="font">
                <font>
                 <pointsize>18</pointsize>
-                <weight>75</weight>
-                <bold>true</bold>
+                <weight>50</weight>
+                <bold>false</bold>
                </font>
               </property>
               <property name="text">
@@ -401,6 +463,9 @@
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
            </layout>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index cc8a2caafbd9..40640fbd9d68 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -66,6 +66,9 @@
           <property name="toolTip">
            <string>An optional label to associate with the new receiving address.</string>
           </property>
+          <property name="class" stdset="0">
+           <string>LineEdit</string>
+          </property>
          </widget>
         </item>
         <item row="6" column="2">
@@ -73,6 +76,9 @@
           <property name="toolTip">
            <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
           </property>
+          <property name="class" stdset="0">
+           <string>LineEdit</string>
+          </property>
          </widget>
         </item>
         <item row="2" column="2">
@@ -125,6 +131,9 @@
           <property name="toolTip">
            <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
           </property>
+          <property name="class" stdset="0">
+           <string>LineEdit</string>
+          </property>
          </widget>
         </item>
         <item row="9" column="2">
@@ -331,8 +340,6 @@
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
  </tabstops>
- <resources>
-  <include location="../paccoin.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index 394206befb97..e444dbce7d9c 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>729</width>
-    <height>126</height>
+    <height>144</height>
    </rect>
   </property>
   <property name="focusPolicy">
@@ -16,6 +16,9 @@
   <property name="autoFillBackground">
    <bool>false</bool>
   </property>
+  <property name="currentIndex">
+   <number>0</number>
+  </property>
   <widget class="QFrame" name="SendCoins">
    <property name="toolTip">
     <string>This is a normal payment.</string>
@@ -59,6 +62,9 @@
         <property name="toolTip">
          <string>The Paccoin address to send the payment to</string>
         </property>
+        <property name="class" stdset="0">
+         <string>LineEdit</string>
+        </property>
        </widget>
       </item>
       <item>
@@ -78,6 +84,9 @@
         <property name="shortcut">
          <string>Alt+A</string>
         </property>
+        <property name="class" stdset="0">
+         <string>QuickButton</string>
+        </property>
        </widget>
       </item>
       <item>
@@ -97,6 +106,9 @@
         <property name="shortcut">
          <string>Alt+P</string>
         </property>
+        <property name="class" stdset="0">
+         <string>QuickButton</string>
+        </property>
        </widget>
       </item>
       <item>
@@ -113,6 +125,9 @@
           <height>22</height>
          </size>
         </property>
+        <property name="class" stdset="0">
+         <string>QuickButton</string>
+        </property>
        </widget>
       </item>
      </layout>
@@ -135,6 +150,9 @@
       <property name="toolTip">
        <string>Enter a label for this address to add it to the list of used addresses</string>
       </property>
+      <property name="class" stdset="0">
+       <string>LineEdit</string>
+      </property>
      </widget>
     </item>
     <item row="2" column="0">
@@ -153,7 +171,11 @@
     <item row="2" column="1">
      <layout class="QHBoxLayout" name="horizontalLayoutAmount" stretch="0,1">
       <item>
-       <widget class="BitcoinAmountField" name="payAmount"/>
+       <widget class="BitcoinAmountField" name="payAmount">
+        <property name="class" stdset="0">
+         <string>LineEdit</string>
+        </property>
+       </widget>
       </item>
       <item>
        <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
@@ -335,6 +357,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -472,6 +503,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -609,6 +649,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -842,6 +891,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -988,6 +1046,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1134,6 +1201,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -1249,8 +1325,6 @@
   <tabstop>payAmount_s</tabstop>
   <tabstop>deleteButton_s</tabstop>
  </tabstops>
- <resources>
-  <include location="../paccoin.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b932bca42c1c..ebeff9c10542 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -9,7 +9,48 @@ QMainWindow{
     border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
 }
 
-/* input controls */
+/* Text Entry Fields */
+[class="LineEdit"]{
+    border: 0px;
+    border-radius: 8px;
+    font-size:11px;
+    min-height:25px;
+    outline:0;
+    padding:3px;
+    background-color: rgba(224, 224, 224, 0.1);
+    color: #fff;
+}
+[class="LineEdit"]:focus {
+    font-size:12px;
+}
+[class="LineEdit"]:disabled {
+    background:blue !important;
+    background-color:#f2f2f2;
+}
+
+[class="QuickButton"]{
+    background-color: transparent;
+}
+/* labels */
+QLabel[class="titleLabel"]{
+    color:rgb(255,255,255);
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+}
+QLabel[class="pacCoinsLabel"]{
+    color:rgb(243,232,56);
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15em;/*20px*/
+    font-weight: bold;
+}
+QLabel[class="usdLabel"]{
+    color:rgb(243,232,56);
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15em;
+}
+
+
+/* text input */
 QTextEdit {
     background: rgb(10, 10, 10);
     color: rgb(255, 255, 255);
@@ -19,12 +60,15 @@ QTextEdit {
     font-family: 'Montserrat', sans-serif;
     font-size: 20px;
 }
+/*textarea*/
+
 QPlainTextEdit {
     background: rgb(255, 255, 255);
     color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
-} /*textarea*/
+}
+/*textbox with more and less button*/
 QDoubleSpinBox {
     background: rgb(255, 255, 255);
     color: rgb(20, 20, 20);
@@ -33,19 +77,19 @@ QDoubleSpinBox {
     height: 35px !important;
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
-} /*textbox with more and less button*/
+}
 QDoubleSpinBox::up-button, QDoubleSpinBox::down-button {
     width: 17px;
     height: 17px;
     border: 0px solid black;
 }
 QDoubleSpinBox::up-button {
-    image: url(:/icons/uparrow) !important;
+    /*image: url(:/icons/uparrow) !important;*/
     border-top-left-radius:4px;
     border-top-right-radius:4px;
 }
 QDoubleSpinBox::down-button {
-    image: url(:/icons/downarrow) !important;
+    /*image: url(:/icons/downarrow) !important;*/
     border-bottom-left-radius:4px;
     border-bottom-right-radius:4px;
 }

From af2380468f0c68f360eae9f9790f353793de7f0b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:49:42 -0600
Subject: [PATCH 010/225] CSS margin for pages, sendcoins relocated structure,
 code cleaning

---
 src/qt/forms/sendcoinsdialog.ui | 2259 ++++++++++++++++---------------
 src/qt/forms/sendcoinsentry.ui  |   14 +-
 src/qt/res/css/pac.css          |   63 +-
 src/qt/walletview.cpp           |    5 +
 4 files changed, 1225 insertions(+), 1116 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 4ec296db1b35..66ed920f3c76 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,176 +6,67 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>850</width>
+    <width>851</width>
     <height>584</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Send Coins</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0">
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <property name="windowFilePath">
+   <string/>
+  </property>
+  <property name="class" stdset="0">
+   <string>container</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout" stretch="0">
    <property name="bottomMargin">
     <number>8</number>
    </property>
    <item>
-    <widget class="QFrame" name="frameCoinControl">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>16777215</height>
-      </size>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Sunken</enum>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayoutCoinControl2">
-      <property name="spacing">
-       <number>0</number>
-      </property>
-      <property name="leftMargin">
-       <number>0</number>
-      </property>
-      <property name="topMargin">
-       <number>0</number>
-      </property>
-      <property name="rightMargin">
-       <number>0</number>
-      </property>
-      <property name="bottomMargin">
-       <number>6</number>
-      </property>
-      <item>
-       <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,1">
-        <property name="spacing">
-         <number>0</number>
-        </property>
-        <property name="leftMargin">
-         <number>10</number>
-        </property>
-        <property name="topMargin">
-         <number>10</number>
-        </property>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayoutCoinControl1">
-          <property name="bottomMargin">
-           <number>15</number>
-          </property>
-          <item>
-           <widget class="QLabel" name="labelCoinControlFeatures">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="font">
-             <font>
-              <weight>75</weight>
-              <bold>true</bold>
-             </font>
-            </property>
-            <property name="styleSheet">
-             <string notr="true">font-weight:bold;</string>
-            </property>
-            <property name="text">
-             <string>Coin Control Features</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0">
-          <property name="spacing">
-           <number>8</number>
-          </property>
-          <property name="bottomMargin">
-           <number>10</number>
-          </property>
-          <item>
-           <widget class="QPushButton" name="pushButtonCoinControl">
-            <property name="styleSheet">
-             <string notr="true"/>
-            </property>
-            <property name="text">
-             <string>Inputs...</string>
-            </property>
-            <property name="autoDefault">
-             <bool>false</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="labelCoinControlAutomaticallySelected">
-            <property name="text">
-             <string>automatically selected</string>
-            </property>
-            <property name="margin">
-             <number>5</number>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="labelCoinControlInsuffFunds">
-            <property name="font">
-             <font>
-              <weight>75</weight>
-              <bold>true</bold>
-             </font>
-            </property>
-            <property name="styleSheet">
-             <string notr="true">color:red;font-weight:bold;</string>
-            </property>
-            <property name="text">
-             <string>Insufficient funds!</string>
-            </property>
-            <property name="margin">
-             <number>5</number>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacerCoinControl">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>1</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </item>
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <widget class="QWidget" name="SendCoinsContainer" native="true">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>1200</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <layout class="QVBoxLayout" name="container">
         <item>
-         <widget class="QWidget" name="widgetCoinControl" native="true">
+         <widget class="QFrame" name="frameCoinControl">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
           </property>
-          <property name="minimumSize">
+          <property name="maximumSize">
            <size>
-            <width>0</width>
-            <height>0</height>
+            <width>16777215</width>
+            <height>16777215</height>
            </size>
           </property>
-          <property name="styleSheet">
-           <string notr="true"/>
+          <property name="frameShape">
+           <enum>QFrame::StyledPanel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Sunken</enum>
           </property>
-          <layout class="QHBoxLayout" name="horizontalLayoutCoinControl5">
+          <layout class="QVBoxLayout" name="verticalLayoutCoinControl2">
+           <property name="spacing">
+            <number>0</number>
+           </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
@@ -186,607 +77,604 @@
             <number>0</number>
            </property>
            <property name="bottomMargin">
-            <number>0</number>
+            <number>6</number>
            </property>
            <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutCoinControl3" stretch="0,0,0,1">
+            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,1">
              <property name="spacing">
-              <number>20</number>
-             </property>
-             <property name="topMargin">
               <number>0</number>
              </property>
-             <property name="bottomMargin">
+             <property name="leftMargin">
+              <number>10</number>
+             </property>
+             <property name="topMargin">
               <number>10</number>
              </property>
              <item>
-              <layout class="QFormLayout" name="formLayoutCoinControl1">
-               <property name="horizontalSpacing">
-                <number>10</number>
-               </property>
-               <property name="verticalSpacing">
-                <number>14</number>
-               </property>
-               <property name="leftMargin">
-                <number>10</number>
-               </property>
-               <property name="topMargin">
-                <number>4</number>
-               </property>
-               <property name="rightMargin">
-                <number>6</number>
+              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl1">
+               <property name="bottomMargin">
+                <number>15</number>
                </property>
-               <item row="0" column="0">
-                <widget class="QLabel" name="labelCoinControlQuantityText">
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Quantity:</string>
-                 </property>
-                 <property name="margin">
-                  <number>0</number>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="labelCoinControlQuantity">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
-                 </property>
-                 <property name="text">
-                  <string notr="true">0</string>
-                 </property>
-                 <property name="margin">
-                  <number>0</number>
-                 </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+               <item>
+                <widget class="QLabel" name="labelCoinControlFeatures">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
-                </widget>
-               </item>
-               <item row="1" column="0">
-                <widget class="QLabel" name="labelCoinControlBytesText">
                  <property name="font">
                   <font>
                    <weight>75</weight>
                    <bold>true</bold>
                   </font>
                  </property>
-                 <property name="text">
-                  <string>Bytes:</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="1">
-                <widget class="QLabel" name="labelCoinControlBytes">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
+                 <property name="styleSheet">
+                  <string notr="true">font-weight:bold;</string>
                  </property>
                  <property name="text">
-                  <string notr="true">0</string>
-                 </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                  <string>Coin Control Features</string>
                  </property>
                 </widget>
                </item>
               </layout>
              </item>
              <item>
-              <layout class="QFormLayout" name="formLayoutCoinControl2">
-               <property name="horizontalSpacing">
-                <number>10</number>
-               </property>
-               <property name="verticalSpacing">
-                <number>14</number>
-               </property>
-               <property name="leftMargin">
-                <number>6</number>
-               </property>
-               <property name="topMargin">
-                <number>4</number>
+              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0">
+               <property name="spacing">
+                <number>8</number>
                </property>
-               <property name="rightMargin">
-                <number>6</number>
+               <property name="bottomMargin">
+                <number>10</number>
                </property>
-               <item row="0" column="0">
-                <widget class="QLabel" name="labelCoinControlAmountText">
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
+               <item>
+                <widget class="QPushButton" name="pushButtonCoinControl">
+                 <property name="styleSheet">
+                  <string notr="true"/>
                  </property>
                  <property name="text">
-                  <string>Amount:</string>
+                  <string>Inputs...</string>
                  </property>
-                 <property name="margin">
-                  <number>0</number>
+                 <property name="autoDefault">
+                  <bool>false</bool>
                  </property>
                 </widget>
                </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="labelCoinControlAmount">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
-                 </property>
+               <item>
+                <widget class="QLabel" name="labelCoinControlAutomaticallySelected">
                  <property name="text">
-                  <string notr="true">0.00 PAC</string>
+                  <string>automatically selected</string>
                  </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                 <property name="margin">
+                  <number>5</number>
                  </property>
                 </widget>
                </item>
-               <item row="1" column="0">
-                <widget class="QLabel" name="labelCoinControlLowOutputText">
+               <item>
+                <widget class="QLabel" name="labelCoinControlInsuffFunds">
                  <property name="font">
                   <font>
                    <weight>75</weight>
                    <bold>true</bold>
                   </font>
                  </property>
+                 <property name="styleSheet">
+                  <string notr="true">color:red;font-weight:bold;</string>
+                 </property>
                  <property name="text">
-                  <string>Dust:</string>
+                  <string>Insufficient funds!</string>
+                 </property>
+                 <property name="margin">
+                  <number>5</number>
                  </property>
                 </widget>
                </item>
-               <item row="1" column="1">
-                <widget class="QLabel" name="labelCoinControlLowOutput">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
-                 </property>
-                 <property name="text">
-                  <string notr="true">no</string>
+               <item>
+                <spacer name="horizontalSpacerCoinControl">
+                 <property name="orientation">
+                  <enum>Qt::Horizontal</enum>
                  </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>40</width>
+                   <height>1</height>
+                  </size>
                  </property>
-                </widget>
+                </spacer>
                </item>
               </layout>
              </item>
              <item>
-              <layout class="QFormLayout" name="formLayoutCoinControl3">
-               <property name="horizontalSpacing">
-                <number>10</number>
-               </property>
-               <property name="verticalSpacing">
-                <number>14</number>
-               </property>
-               <property name="leftMargin">
-                <number>6</number>
+              <widget class="QWidget" name="widgetCoinControl" native="true">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
                </property>
-               <property name="topMargin">
-                <number>4</number>
+               <property name="minimumSize">
+                <size>
+                 <width>0</width>
+                 <height>0</height>
+                </size>
                </property>
-               <property name="rightMargin">
-                <number>6</number>
+               <property name="styleSheet">
+                <string notr="true"/>
                </property>
-               <item row="0" column="0">
-                <widget class="QLabel" name="labelCoinControlFeeText">
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Fee:</string>
-                 </property>
-                 <property name="margin">
-                  <number>0</number>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="labelCoinControlFee">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
-                 </property>
-                 <property name="text">
-                  <string notr="true">0.00 PAC</string>
-                 </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                 </property>
-                </widget>
-               </item>
-              </layout>
+               <layout class="QHBoxLayout" name="horizontalLayoutCoinControl5">
+                <property name="leftMargin">
+                 <number>0</number>
+                </property>
+                <property name="topMargin">
+                 <number>0</number>
+                </property>
+                <property name="rightMargin">
+                 <number>0</number>
+                </property>
+                <property name="bottomMargin">
+                 <number>0</number>
+                </property>
+                <item>
+                 <layout class="QHBoxLayout" name="horizontalLayoutCoinControl3" stretch="0,0,0,1">
+                  <property name="spacing">
+                   <number>20</number>
+                  </property>
+                  <property name="topMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="bottomMargin">
+                   <number>10</number>
+                  </property>
+                  <item>
+                   <layout class="QFormLayout" name="formLayoutCoinControl1">
+                    <property name="horizontalSpacing">
+                     <number>10</number>
+                    </property>
+                    <property name="verticalSpacing">
+                     <number>14</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>10</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>4</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>6</number>
+                    </property>
+                    <item row="0" column="0">
+                     <widget class="QLabel" name="labelCoinControlQuantityText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Quantity:</string>
+                      </property>
+                      <property name="margin">
+                       <number>0</number>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="0" column="1">
+                     <widget class="QLabel" name="labelCoinControlQuantity">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0</string>
+                      </property>
+                      <property name="margin">
+                       <number>0</number>
+                      </property>
+                      <property name="textInteractionFlags">
+                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="1" column="0">
+                     <widget class="QLabel" name="labelCoinControlBytesText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Bytes:</string>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="1" column="1">
+                     <widget class="QLabel" name="labelCoinControlBytes">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0</string>
+                      </property>
+                      <property name="textInteractionFlags">
+                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                      </property>
+                     </widget>
+                    </item>
+                   </layout>
+                  </item>
+                  <item>
+                   <layout class="QFormLayout" name="formLayoutCoinControl2">
+                    <property name="horizontalSpacing">
+                     <number>10</number>
+                    </property>
+                    <property name="verticalSpacing">
+                     <number>14</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>6</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>4</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>6</number>
+                    </property>
+                    <item row="0" column="0">
+                     <widget class="QLabel" name="labelCoinControlAmountText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Amount:</string>
+                      </property>
+                      <property name="margin">
+                       <number>0</number>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="0" column="1">
+                     <widget class="QLabel" name="labelCoinControlAmount">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0.00 PAC</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="labelCoinControlLowOutputText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Dust:</string>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="1" column="1">
+                     <widget class="QLabel" name="labelCoinControlLowOutput">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">no</string>
+                      </property>
+                      <property name="textInteractionFlags">
+                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                      </property>
+                     </widget>
+                    </item>
+                   </layout>
+                  </item>
+                  <item>
+                   <layout class="QFormLayout" name="formLayoutCoinControl3">
+                    <property name="horizontalSpacing">
+                     <number>10</number>
+                    </property>
+                    <property name="verticalSpacing">
+                     <number>14</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>6</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>4</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>6</number>
+                    </property>
+                    <item row="0" column="0">
+                     <widget class="QLabel" name="labelCoinControlFeeText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Fee:</string>
+                      </property>
+                      <property name="margin">
+                       <number>0</number>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="0" column="1">
+                     <widget class="QLabel" name="labelCoinControlFee">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0.00 PAC</string>
+                      </property>
+                      <property name="textInteractionFlags">
+                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                      </property>
+                     </widget>
+                    </item>
+                   </layout>
+                  </item>
+                  <item>
+                   <layout class="QFormLayout" name="formLayoutCoinControl4">
+                    <property name="horizontalSpacing">
+                     <number>10</number>
+                    </property>
+                    <property name="verticalSpacing">
+                     <number>14</number>
+                    </property>
+                    <property name="leftMargin">
+                     <number>6</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>4</number>
+                    </property>
+                    <property name="rightMargin">
+                     <number>6</number>
+                    </property>
+                    <item row="0" column="0">
+                     <widget class="QLabel" name="labelCoinControlAfterFeeText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>After Fee:</string>
+                      </property>
+                      <property name="margin">
+                       <number>0</number>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="0" column="1">
+                     <widget class="QLabel" name="labelCoinControlAfterFee">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0.00 PAC</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="labelCoinControlChangeText">
+                      <property name="font">
+                       <font>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Change:</string>
+                      </property>
+                     </widget>
+                    </item>
+                    <item row="1" column="1">
+                     <widget class="QLabel" name="labelCoinControlChange">
+                      <property name="cursor">
+                       <cursorShape>IBeamCursor</cursorShape>
+                      </property>
+                      <property name="contextMenuPolicy">
+                       <enum>Qt::ActionsContextMenu</enum>
+                      </property>
+                      <property name="text">
+                       <string notr="true">0.00 PAC</string>
+                      </property>
+                      <property name="textInteractionFlags">
+                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                      </property>
+                     </widget>
+                    </item>
+                   </layout>
+                  </item>
+                 </layout>
+                </item>
+               </layout>
+              </widget>
              </item>
              <item>
-              <layout class="QFormLayout" name="formLayoutCoinControl4">
-               <property name="horizontalSpacing">
-                <number>10</number>
-               </property>
-               <property name="verticalSpacing">
-                <number>14</number>
+              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl4" stretch="0,0,0">
+               <property name="spacing">
+                <number>12</number>
                </property>
-               <property name="leftMargin">
-                <number>6</number>
+               <property name="sizeConstraint">
+                <enum>QLayout::SetDefaultConstraint</enum>
                </property>
                <property name="topMargin">
-                <number>4</number>
+                <number>5</number>
                </property>
                <property name="rightMargin">
-                <number>6</number>
+                <number>5</number>
                </property>
-               <item row="0" column="0">
-                <widget class="QLabel" name="labelCoinControlAfterFeeText">
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>After Fee:</string>
-                 </property>
-                 <property name="margin">
-                  <number>0</number>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="labelCoinControlAfterFee">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
-                 </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
+               <item>
+                <widget class="QCheckBox" name="checkBoxCoinControlChange">
+                 <property name="toolTip">
+                  <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
                  </property>
                  <property name="text">
-                  <string notr="true">0.00 PAC</string>
-                 </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                  <string>Custom change address</string>
                  </property>
                 </widget>
                </item>
-               <item row="1" column="0">
-                <widget class="QLabel" name="labelCoinControlChangeText">
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
+               <item>
+                <widget class="QValidatedLineEdit" name="lineEditCoinControlChange">
+                 <property name="enabled">
+                  <bool>false</bool>
                  </property>
-                 <property name="text">
-                  <string>Change:</string>
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
                 </widget>
                </item>
-               <item row="1" column="1">
-                <widget class="QLabel" name="labelCoinControlChange">
-                 <property name="cursor">
-                  <cursorShape>IBeamCursor</cursorShape>
+               <item>
+                <widget class="QLabel" name="labelCoinControlChangeLabel">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
-                 <property name="contextMenuPolicy">
-                  <enum>Qt::ActionsContextMenu</enum>
+                 <property name="minimumSize">
+                  <size>
+                   <width>0</width>
+                   <height>0</height>
+                  </size>
                  </property>
                  <property name="text">
-                  <string notr="true">0.00 PAC</string>
+                  <string/>
                  </property>
-                 <property name="textInteractionFlags">
-                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                 <property name="margin">
+                  <number>3</number>
                  </property>
                 </widget>
                </item>
               </layout>
              </item>
+             <item>
+              <spacer name="verticalSpacerCoinControl">
+               <property name="orientation">
+                <enum>Qt::Vertical</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>800</width>
+                 <height>1</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
             </layout>
            </item>
           </layout>
          </widget>
         </item>
         <item>
-         <layout class="QHBoxLayout" name="horizontalLayoutCoinControl4" stretch="0,0,0">
-          <property name="spacing">
-           <number>12</number>
+         <widget class="QScrollArea" name="scrollArea">
+          <property name="widgetResizable">
+           <bool>true</bool>
           </property>
-          <property name="sizeConstraint">
-           <enum>QLayout::SetDefaultConstraint</enum>
-          </property>
-          <property name="topMargin">
-           <number>5</number>
-          </property>
-          <property name="rightMargin">
-           <number>5</number>
-          </property>
-          <item>
-           <widget class="QCheckBox" name="checkBoxCoinControlChange">
-            <property name="toolTip">
-             <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
-            </property>
-            <property name="text">
-             <string>Custom change address</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QValidatedLineEdit" name="lineEditCoinControlChange">
-            <property name="enabled">
-             <bool>false</bool>
+          <widget class="QWidget" name="scrollAreaWidgetContents">
+           <property name="geometry">
+            <rect>
+             <x>0</x>
+             <y>0</y>
+             <width>706</width>
+             <height>83</height>
+            </rect>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0">
+            <property name="leftMargin">
+             <number>0</number>
             </property>
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
+            <property name="topMargin">
+             <number>0</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="labelCoinControlChangeLabel">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
+            <property name="rightMargin">
+             <number>0</number>
             </property>
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="text">
-             <string/>
-            </property>
-            <property name="margin">
-             <number>3</number>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <spacer name="verticalSpacerCoinControl">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>800</width>
-            <height>1</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-     </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>824</width>
-        <height>72</height>
-       </rect>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,1">
-       <property name="leftMargin">
-        <number>0</number>
-       </property>
-       <property name="topMargin">
-        <number>0</number>
-       </property>
-       <property name="rightMargin">
-        <number>0</number>
-       </property>
-       <property name="bottomMargin">
-        <number>0</number>
-       </property>
-       <item>
-        <layout class="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>
-    <widget class="QFrame" name="frameFee">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>16777215</height>
-      </size>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Sunken</enum>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayoutFee1">
-      <property name="spacing">
-       <number>0</number>
-      </property>
-      <property name="leftMargin">
-       <number>0</number>
-      </property>
-      <property name="topMargin">
-       <number>0</number>
-      </property>
-      <property name="rightMargin">
-       <number>0</number>
-      </property>
-      <property name="bottomMargin">
-       <number>0</number>
-      </property>
-      <item>
-       <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0,0">
-        <property name="spacing">
-         <number>0</number>
-        </property>
-        <property name="leftMargin">
-         <number>10</number>
-        </property>
-        <property name="topMargin">
-         <number>0</number>
-        </property>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayoutFee1">
-          <property name="bottomMargin">
-           <number>0</number>
-          </property>
-          <item>
-           <layout class="QVBoxLayout" name="verticalLayoutFee7">
-            <property name="spacing">
-             <number>0</number>
+            <property name="bottomMargin">
+             <number>0</number>
             </property>
             <item>
-             <spacer name="verticalSpacerSmartFee">
-              <property name="orientation">
-               <enum>Qt::Vertical</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>1</width>
-                <height>4</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+             <layout class="QVBoxLayout" name="entries">
               <property name="spacing">
-               <number>10</number>
+               <number>6</number>
               </property>
-              <item>
-               <widget class="QLabel" name="labelFeeHeadline">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <weight>75</weight>
-                  <bold>true</bold>
-                 </font>
-                </property>
-                <property name="styleSheet">
-                 <string notr="true">font-weight:bold;</string>
-                </property>
-                <property name="text">
-                 <string>Transaction Fee:</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QLabel" name="labelFeeMinimized">
-                <property name="text">
-                 <string/>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QPushButton" name="buttonChooseFee">
-                <property name="text">
-                 <string>Choose...</string>
-                </property>
-               </widget>
-              </item>
              </layout>
             </item>
             <item>
-             <spacer name="verticalSpacer_5">
+             <spacer name="verticalSpacer">
               <property name="orientation">
                <enum>Qt::Vertical</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>1</width>
-                <height>1</height>
+                <width>20</width>
+                <height>40</height>
                </size>
               </property>
              </spacer>
             </item>
            </layout>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_4">
-            <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="buttonMinimizeFee">
-            <property name="toolTip">
-             <string>collapse fee-settings</string>
-            </property>
-            <property name="text">
-             <string>Hide</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
+          </widget>
+         </widget>
         </item>
         <item>
-         <widget class="QFrame" name="frameFeeSelection">
-          <layout class="QVBoxLayout" name="verticalLayoutFee12">
+         <widget class="QFrame" name="frameFee">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>16777215</width>
+            <height>16777215</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::StyledPanel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Sunken</enum>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayoutFee1">
            <property name="spacing">
             <number>0</number>
            </property>
@@ -803,105 +691,89 @@
             <number>0</number>
            </property>
            <item>
-            <layout class="QGridLayout" name="gridLayoutFee">
-             <property name="topMargin">
-              <number>10</number>
-             </property>
-             <property name="bottomMargin">
-              <number>4</number>
+            <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0,0">
+             <property name="spacing">
+              <number>0</number>
              </property>
-             <property name="horizontalSpacing">
+             <property name="leftMargin">
               <number>10</number>
              </property>
-             <property name="verticalSpacing">
-              <number>4</number>
+             <property name="topMargin">
+              <number>0</number>
              </property>
-             <item row="1" column="1">
-              <layout class="QVBoxLayout" name="verticalLayoutFee8">
-               <property name="spacing">
-                <number>6</number>
+             <item>
+              <layout class="QHBoxLayout" name="horizontalLayoutFee1">
+               <property name="bottomMargin">
+                <number>0</number>
                </property>
                <item>
-                <layout class="QHBoxLayout" name="horizontalLayoutFee13">
-                 <item>
-                  <widget class="QRadioButton" name="radioCustomPerKilobyte">
-                   <property name="toolTip">
-                    <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                   </property>
-                   <property name="text">
-                    <string>per kilobyte</string>
-                   </property>
-                   <property name="checked">
-                    <bool>true</bool>
-                   </property>
-                   <attribute name="buttonGroup">
-                    <string notr="true">groupCustomFee</string>
-                   </attribute>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QRadioButton" name="radioCustomAtLeast">
-                   <property name="toolTip">
-                    <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                   </property>
-                   <property name="text">
-                    <string>total at least</string>
-                   </property>
-                   <attribute name="buttonGroup">
-                    <string notr="true">groupCustomFee</string>
-                   </attribute>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="BitcoinAmountField" name="customFee"/>
-                 </item>
+                <layout class="QVBoxLayout" name="verticalLayoutFee7">
+                 <property name="spacing">
+                  <number>0</number>
+                 </property>
                  <item>
-                  <spacer name="horizontalSpacer_6">
+                  <spacer name="verticalSpacerSmartFee">
                    <property name="orientation">
-                    <enum>Qt::Horizontal</enum>
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeType">
+                    <enum>QSizePolicy::Fixed</enum>
                    </property>
                    <property name="sizeHint" stdset="0">
                     <size>
                      <width>1</width>
-                     <height>1</height>
+                     <height>4</height>
                     </size>
                    </property>
                   </spacer>
                  </item>
-                </layout>
-               </item>
-               <item>
-                <layout class="QHBoxLayout" name="horizontalLayoutFee8">
-                 <item>
-                  <widget class="QCheckBox" name="checkBoxMinimumFee">
-                   <property name="toolTip">
-                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                   </property>
-                   <property name="text">
-                    <string/>
-                   </property>
-                  </widget>
-                 </item>
                  <item>
-                  <widget class="QLabel" name="labelMinFeeWarning">
-                   <property name="enabled">
-                    <bool>true</bool>
+                  <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+                   <property name="spacing">
+                    <number>10</number>
                    </property>
-                   <property name="toolTip">
-                    <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                   </property>
-                   <property name="text">
-                    <string>(read the tooltip)</string>
-                   </property>
-                   <property name="margin">
-                    <number>5</number>
-                   </property>
-                  </widget>
+                   <item>
+                    <widget class="QLabel" name="labelFeeHeadline">
+                     <property name="sizePolicy">
+                      <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+                       <horstretch>0</horstretch>
+                       <verstretch>0</verstretch>
+                      </sizepolicy>
+                     </property>
+                     <property name="font">
+                      <font>
+                       <weight>75</weight>
+                       <bold>true</bold>
+                      </font>
+                     </property>
+                     <property name="styleSheet">
+                      <string notr="true">font-weight:bold;</string>
+                     </property>
+                     <property name="text">
+                      <string>Transaction Fee:</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="QLabel" name="labelFeeMinimized">
+                     <property name="text">
+                      <string/>
+                     </property>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="QPushButton" name="buttonChooseFee">
+                     <property name="text">
+                      <string>Choose...</string>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
                  </item>
                  <item>
-                  <spacer name="horizontalSpacer_2">
+                  <spacer name="verticalSpacer_5">
                    <property name="orientation">
-                    <enum>Qt::Horizontal</enum>
+                    <enum>Qt::Vertical</enum>
                    </property>
                    <property name="sizeHint" stdset="0">
                     <size>
@@ -913,264 +785,449 @@
                  </item>
                 </layout>
                </item>
-              </layout>
-             </item>
-             <item row="0" column="0">
-              <layout class="QVBoxLayout" name="verticalLayoutFee4" stretch="0,1">
-               <item>
-                <widget class="QRadioButton" name="radioSmartFee">
-                 <property name="text">
-                  <string>Recommended:</string>
-                 </property>
-                 <property name="checked">
-                  <bool>true</bool>
-                 </property>
-                 <attribute name="buttonGroup">
-                  <string notr="true">groupFee</string>
-                 </attribute>
-                </widget>
-               </item>
                <item>
-                <spacer name="verticalSpacer_2">
+                <spacer name="horizontalSpacer_4">
                  <property name="orientation">
-                  <enum>Qt::Vertical</enum>
+                  <enum>Qt::Horizontal</enum>
                  </property>
                  <property name="sizeHint" stdset="0">
                   <size>
-                   <width>1</width>
-                   <height>1</height>
+                   <width>40</width>
+                   <height>20</height>
                   </size>
                  </property>
                 </spacer>
                </item>
-              </layout>
-             </item>
-             <item row="1" column="0">
-              <layout class="QVBoxLayout" name="verticalLayoutFee9" stretch="0,1">
                <item>
-                <widget class="QRadioButton" name="radioCustomFee">
+                <widget class="QPushButton" name="buttonMinimizeFee">
+                 <property name="toolTip">
+                  <string>collapse fee-settings</string>
+                 </property>
                  <property name="text">
-                  <string>Custom:</string>
+                  <string>Hide</string>
                  </property>
-                 <attribute name="buttonGroup">
-                  <string notr="true">groupFee</string>
-                 </attribute>
                 </widget>
                </item>
-               <item>
-                <spacer name="verticalSpacer_6">
-                 <property name="orientation">
-                  <enum>Qt::Vertical</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>1</width>
-                   <height>1</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </item>
-             <item row="0" column="1">
-              <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
-               <property name="spacing">
-                <number>6</number>
-               </property>
-               <property name="topMargin">
-                <number>2</number>
-               </property>
-               <item>
-                <layout class="QHBoxLayout" name="horizontalLayoutFee12">
-                 <item>
-                  <widget class="QLabel" name="labelSmartFee">
-                   <property name="text">
-                    <string/>
-                   </property>
-                   <property name="margin">
-                    <number>2</number>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QLabel" name="labelFeeEstimation">
-                   <property name="text">
-                    <string/>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QLabel" name="labelSmartFee2">
-                   <property name="text">
-                    <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
-                   </property>
-                   <property name="margin">
-                    <number>2</number>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <spacer name="horizontalSpacer_5">
-                   <property name="orientation">
-                    <enum>Qt::Horizontal</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>1</width>
-                     <height>1</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
-                </layout>
-               </item>
-               <item>
-                <layout class="QHBoxLayout" name="horizontalLayoutFee9">
-                 <item>
-                  <layout class="QVBoxLayout" name="verticalLayoutFee6">
-                   <item>
-                    <widget class="QLabel" name="labelSmartFee3">
-                     <property name="text">
-                      <string>Confirmation time:</string>
-                     </property>
-                     <property name="margin">
-                      <number>2</number>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <spacer name="verticalSpacer_3">
-                     <property name="orientation">
-                      <enum>Qt::Vertical</enum>
-                     </property>
-                     <property name="sizeHint" stdset="0">
-                      <size>
-                       <width>1</width>
-                       <height>1</height>
-                      </size>
-                     </property>
-                    </spacer>
-                   </item>
-                  </layout>
-                 </item>
-                 <item>
-                  <layout class="QVBoxLayout" name="verticalLayoutFee5">
-                   <property name="rightMargin">
-                    <number>30</number>
-                   </property>
-                   <item>
-                    <widget class="QSlider" name="sliderSmartFee">
-                     <property name="minimum">
-                      <number>0</number>
-                     </property>
-                     <property name="maximum">
-                      <number>24</number>
-                     </property>
-                     <property name="pageStep">
-                      <number>1</number>
-                     </property>
-                     <property name="value">
-                      <number>0</number>
-                     </property>
-                     <property name="orientation">
-                      <enum>Qt::Horizontal</enum>
-                     </property>
-                     <property name="invertedAppearance">
-                      <bool>false</bool>
-                     </property>
-                     <property name="invertedControls">
-                      <bool>false</bool>
-                     </property>
-                     <property name="tickPosition">
-                      <enum>QSlider::NoTicks</enum>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <layout class="QHBoxLayout" name="horizontalLayoutFee10">
-                     <item>
-                      <widget class="QLabel" name="labelSmartFeeNormal">
-                       <property name="text">
-                        <string>normal</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <spacer name="horizontalSpacer_3">
-                       <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="labelSmartFeeFast">
-                       <property name="text">
-                        <string>fast</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                  </layout>
-                 </item>
-                </layout>
-               </item>
-               <item>
-                <spacer name="verticalSpacer_4">
-                 <property name="orientation">
-                  <enum>Qt::Vertical</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>1</width>
-                   <height>1</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
               </layout>
              </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0,0,0">
-             <property name="spacing">
-              <number>8</number>
-             </property>
-             <property name="bottomMargin">
-              <number>4</number>
-             </property>
              <item>
-              <widget class="QCheckBox" name="checkBoxFreeTx">
-               <property name="text">
-                <string>Send as zero-fee transaction if possible</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLabel" name="labelFreeTx">
-               <property name="text">
-                <string>(confirmation may take longer)</string>
-               </property>
-               <property name="margin">
-                <number>5</number>
-               </property>
+              <widget class="QFrame" name="frameFeeSelection">
+               <layout class="QVBoxLayout" name="verticalLayoutFee12">
+                <property name="spacing">
+                 <number>0</number>
+                </property>
+                <property name="leftMargin">
+                 <number>0</number>
+                </property>
+                <property name="topMargin">
+                 <number>0</number>
+                </property>
+                <property name="rightMargin">
+                 <number>0</number>
+                </property>
+                <property name="bottomMargin">
+                 <number>0</number>
+                </property>
+                <item>
+                 <layout class="QGridLayout" name="gridLayoutFee">
+                  <property name="topMargin">
+                   <number>10</number>
+                  </property>
+                  <property name="bottomMargin">
+                   <number>4</number>
+                  </property>
+                  <property name="horizontalSpacing">
+                   <number>10</number>
+                  </property>
+                  <property name="verticalSpacing">
+                   <number>4</number>
+                  </property>
+                  <item row="1" column="1">
+                   <layout class="QVBoxLayout" name="verticalLayoutFee8">
+                    <property name="spacing">
+                     <number>6</number>
+                    </property>
+                    <item>
+                     <layout class="QHBoxLayout" name="horizontalLayoutFee13">
+                      <item>
+                       <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                        <property name="toolTip">
+                         <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                        </property>
+                        <property name="text">
+                         <string>per kilobyte</string>
+                        </property>
+                        <property name="checked">
+                         <bool>true</bool>
+                        </property>
+                        <attribute name="buttonGroup">
+                         <string notr="true">groupCustomFee</string>
+                        </attribute>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QRadioButton" name="radioCustomAtLeast">
+                        <property name="toolTip">
+                         <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                        </property>
+                        <property name="text">
+                         <string>total at least</string>
+                        </property>
+                        <attribute name="buttonGroup">
+                         <string notr="true">groupCustomFee</string>
+                        </attribute>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="BitcoinAmountField" name="customFee"/>
+                      </item>
+                      <item>
+                       <spacer name="horizontalSpacer_6">
+                        <property name="orientation">
+                         <enum>Qt::Horizontal</enum>
+                        </property>
+                        <property name="sizeHint" stdset="0">
+                         <size>
+                          <width>1</width>
+                          <height>1</height>
+                         </size>
+                        </property>
+                       </spacer>
+                      </item>
+                     </layout>
+                    </item>
+                    <item>
+                     <layout class="QHBoxLayout" name="horizontalLayoutFee8">
+                      <item>
+                       <widget class="QCheckBox" name="checkBoxMinimumFee">
+                        <property name="toolTip">
+                         <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                        </property>
+                        <property name="text">
+                         <string/>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelMinFeeWarning">
+                        <property name="enabled">
+                         <bool>true</bool>
+                        </property>
+                        <property name="toolTip">
+                         <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                        </property>
+                        <property name="text">
+                         <string>(read the tooltip)</string>
+                        </property>
+                        <property name="margin">
+                         <number>5</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <spacer name="horizontalSpacer_2">
+                        <property name="orientation">
+                         <enum>Qt::Horizontal</enum>
+                        </property>
+                        <property name="sizeHint" stdset="0">
+                         <size>
+                          <width>1</width>
+                          <height>1</height>
+                         </size>
+                        </property>
+                       </spacer>
+                      </item>
+                     </layout>
+                    </item>
+                   </layout>
+                  </item>
+                  <item row="0" column="0">
+                   <layout class="QVBoxLayout" name="verticalLayoutFee4" stretch="0,1">
+                    <item>
+                     <widget class="QRadioButton" name="radioSmartFee">
+                      <property name="text">
+                       <string>Recommended:</string>
+                      </property>
+                      <property name="checked">
+                       <bool>true</bool>
+                      </property>
+                      <attribute name="buttonGroup">
+                       <string notr="true">groupFee</string>
+                      </attribute>
+                     </widget>
+                    </item>
+                    <item>
+                     <spacer name="verticalSpacer_2">
+                      <property name="orientation">
+                       <enum>Qt::Vertical</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>1</width>
+                        <height>1</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                   </layout>
+                  </item>
+                  <item row="1" column="0">
+                   <layout class="QVBoxLayout" name="verticalLayoutFee9" stretch="0,1">
+                    <item>
+                     <widget class="QRadioButton" name="radioCustomFee">
+                      <property name="text">
+                       <string>Custom:</string>
+                      </property>
+                      <attribute name="buttonGroup">
+                       <string notr="true">groupFee</string>
+                      </attribute>
+                     </widget>
+                    </item>
+                    <item>
+                     <spacer name="verticalSpacer_6">
+                      <property name="orientation">
+                       <enum>Qt::Vertical</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>1</width>
+                        <height>1</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                   </layout>
+                  </item>
+                  <item row="0" column="1">
+                   <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
+                    <property name="spacing">
+                     <number>6</number>
+                    </property>
+                    <property name="topMargin">
+                     <number>2</number>
+                    </property>
+                    <item>
+                     <layout class="QHBoxLayout" name="horizontalLayoutFee12">
+                      <item>
+                       <widget class="QLabel" name="labelSmartFee">
+                        <property name="text">
+                         <string/>
+                        </property>
+                        <property name="margin">
+                         <number>2</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelFeeEstimation">
+                        <property name="text">
+                         <string/>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelSmartFee2">
+                        <property name="text">
+                         <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
+                        </property>
+                        <property name="margin">
+                         <number>2</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <spacer name="horizontalSpacer_5">
+                        <property name="orientation">
+                         <enum>Qt::Horizontal</enum>
+                        </property>
+                        <property name="sizeHint" stdset="0">
+                         <size>
+                          <width>1</width>
+                          <height>1</height>
+                         </size>
+                        </property>
+                       </spacer>
+                      </item>
+                     </layout>
+                    </item>
+                    <item>
+                     <layout class="QHBoxLayout" name="horizontalLayoutFee9">
+                      <item>
+                       <layout class="QVBoxLayout" name="verticalLayoutFee6">
+                        <item>
+                         <widget class="QLabel" name="labelSmartFee3">
+                          <property name="text">
+                           <string>Confirmation time:</string>
+                          </property>
+                          <property name="margin">
+                           <number>2</number>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <spacer name="verticalSpacer_3">
+                          <property name="orientation">
+                           <enum>Qt::Vertical</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>1</width>
+                            <height>1</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <layout class="QVBoxLayout" name="verticalLayoutFee5">
+                        <property name="rightMargin">
+                         <number>30</number>
+                        </property>
+                        <item>
+                         <widget class="QSlider" name="sliderSmartFee">
+                          <property name="minimum">
+                           <number>0</number>
+                          </property>
+                          <property name="maximum">
+                           <number>24</number>
+                          </property>
+                          <property name="pageStep">
+                           <number>1</number>
+                          </property>
+                          <property name="value">
+                           <number>0</number>
+                          </property>
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="invertedAppearance">
+                           <bool>false</bool>
+                          </property>
+                          <property name="invertedControls">
+                           <bool>false</bool>
+                          </property>
+                          <property name="tickPosition">
+                           <enum>QSlider::NoTicks</enum>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <layout class="QHBoxLayout" name="horizontalLayoutFee10">
+                          <item>
+                           <widget class="QLabel" name="labelSmartFeeNormal">
+                            <property name="text">
+                             <string>normal</string>
+                            </property>
+                           </widget>
+                          </item>
+                          <item>
+                           <spacer name="horizontalSpacer_3">
+                            <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="labelSmartFeeFast">
+                            <property name="text">
+                             <string>fast</string>
+                            </property>
+                           </widget>
+                          </item>
+                         </layout>
+                        </item>
+                       </layout>
+                      </item>
+                     </layout>
+                    </item>
+                    <item>
+                     <spacer name="verticalSpacer_4">
+                      <property name="orientation">
+                       <enum>Qt::Vertical</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>1</width>
+                        <height>1</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                   </layout>
+                  </item>
+                 </layout>
+                </item>
+                <item>
+                 <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0,0,0">
+                  <property name="spacing">
+                   <number>8</number>
+                  </property>
+                  <property name="bottomMargin">
+                   <number>4</number>
+                  </property>
+                  <item>
+                   <widget class="QCheckBox" name="checkBoxFreeTx">
+                    <property name="text">
+                     <string>Send as zero-fee transaction if possible</string>
+                    </property>
+                   </widget>
+                  </item>
+                  <item>
+                   <widget class="QLabel" name="labelFreeTx">
+                    <property name="text">
+                     <string>(confirmation may take longer)</string>
+                    </property>
+                    <property name="margin">
+                     <number>5</number>
+                    </property>
+                   </widget>
+                  </item>
+                  <item>
+                   <spacer name="horizontalSpacerFee5">
+                    <property name="orientation">
+                     <enum>Qt::Horizontal</enum>
+                    </property>
+                    <property name="sizeHint" stdset="0">
+                     <size>
+                      <width>1</width>
+                      <height>1</height>
+                     </size>
+                    </property>
+                   </spacer>
+                  </item>
+                 </layout>
+                </item>
+                <item>
+                 <spacer name="verticalSpacerFee2">
+                  <property name="orientation">
+                   <enum>Qt::Vertical</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>1</width>
+                    <height>1</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+               </layout>
               </widget>
              </item>
              <item>
-              <spacer name="horizontalSpacerFee5">
+              <spacer name="verticalSpacerFee">
                <property name="orientation">
-                <enum>Qt::Horizontal</enum>
+                <enum>Qt::Vertical</enum>
                </property>
                <property name="sizeHint" stdset="0">
                 <size>
-                 <width>1</width>
+                 <width>800</width>
                  <height>1</height>
                 </size>
                </property>
@@ -1178,169 +1235,199 @@
              </item>
             </layout>
            </item>
-           <item>
-            <spacer name="verticalSpacerFee2">
-             <property name="orientation">
-              <enum>Qt::Vertical</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>1</width>
-               <height>1</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
           </layout>
          </widget>
         </item>
         <item>
-         <spacer name="verticalSpacerFee">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>800</width>
-            <height>1</height>
-           </size>
-          </property>
-         </spacer>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QPushButton" name="sendButton">
+            <property name="minimumSize">
+             <size>
+              <width>150</width>
+              <height>0</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Confirm the send action</string>
+            </property>
+            <property name="text">
+             <string>S&amp;end</string>
+            </property>
+            <property name="autoDefault">
+             <bool>false</bool>
+            </property>
+            <property name="default">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QPushButton" name="clearButton">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="toolTip">
+             <string>Clear all fields of the form.</string>
+            </property>
+            <property name="text">
+             <string>Clear &amp;All</string>
+            </property>
+            <property name="autoDefault">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QPushButton" name="addButton">
+            <property name="toolTip">
+             <string>Send to multiple recipients at once</string>
+            </property>
+            <property name="text">
+             <string>Add &amp;Recipient</string>
+            </property>
+            <property name="autoDefault">
+             <bool>false</bool>
+            </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">
+             <number>3</number>
+            </property>
+            <item>
+             <widget class="QCheckBox" name="checkUsePrivateSend">
+              <property name="minimumSize">
+               <size>
+                <width>95</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>PrivatePAC</string>
+              </property>
+              <property name="checked">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="checkUseInstantSend">
+              <property name="enabled">
+               <bool>true</bool>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>85</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>InstantPAC</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="text">
+               <string>Balance:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelBalance">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="cursor">
+               <cursorShape>IBeamCursor</cursorShape>
+              </property>
+              <property name="text">
+               <string notr="true">123.456 PAC</string>
+              </property>
+              <property name="textInteractionFlags">
+               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
         </item>
        </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <widget class="QPushButton" name="sendButton">
-       <property name="minimumSize">
-        <size>
-         <width>150</width>
-         <height>0</height>
-        </size>
-       </property>
-       <property name="toolTip">
-        <string>Confirm the send action</string>
-       </property>
-       <property name="text">
-        <string>S&amp;end</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="clearButton">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="toolTip">
-        <string>Clear all fields of the form.</string>
-       </property>
-       <property name="text">
-        <string>Clear &amp;All</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="addButton">
-       <property name="toolTip">
-        <string>Send to multiple recipients at once</string>
-       </property>
-       <property name="text">
-        <string>Add &amp;Recipient</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
       </widget>
      </item>
      <item>
-      <spacer name="horizontalSpacer">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
+      <layout class="QGridLayout" name="gridLayout">
+       <property name="sizeConstraint">
+        <enum>QLayout::SetDefaultConstraint</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">
-        <number>3</number>
+        <number>6</number>
        </property>
-       <item>
-        <widget class="QCheckBox" name="checkUsePrivateSend">
-         <property name="minimumSize">
-          <size>
-           <width>95</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="text">
-          <string>PrivatePAC</string>
-         </property>
-         <property name="checked">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="checkUseInstantSend">
-         <property name="enabled">
-          <bool>true</bool>
+       <item row="1" column="1">
+        <widget class="QWidget" name="pac_icon" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
          </property>
          <property name="minimumSize">
           <size>
-           <width>85</width>
-           <height>0</height>
+           <width>20</width>
+           <height>20</height>
           </size>
          </property>
-         <property name="text">
-          <string>InstantPAC</string>
+         <property name="styleSheet">
+          <string notr="true">border-image: url(:/icons/bitcoin);
+</string>
          </property>
         </widget>
        </item>
-       <item>
-        <widget class="QLabel" name="label">
+       <item row="1" column="2">
+        <widget class="QLabel" name="lblAvailablePacs">
          <property name="text">
-          <string>Balance:</string>
+          <string>722,450.00</string>
          </property>
         </widget>
        </item>
-       <item>
-        <widget class="QLabel" name="labelBalance">
+       <item row="0" column="2">
+        <widget class="QLabel" name="label_2">
          <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="cursor">
-          <cursorShape>IBeamCursor</cursorShape>
+         <property name="minimumSize">
+          <size>
+           <width>10</width>
+           <height>10</height>
+          </size>
          </property>
          <property name="text">
-          <string notr="true">123.456 PAC</string>
-         </property>
-         <property name="textInteractionFlags">
-          <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+          <string>TextLabel</string>
          </property>
         </widget>
        </item>
@@ -1363,9 +1450,7 @@
    <container>1</container>
   </customwidget>
  </customwidgets>
- <resources>
-  <include location="../paccoin.qrc"/>
- </resources>
+ <resources/>
  <connections/>
  <buttongroups>
   <buttongroup name="groupFee"/>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index e444dbce7d9c..879b18e4e653 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -50,6 +50,9 @@
       <property name="buddy">
        <cstring>payTo</cstring>
       </property>
+      <property name="class" stdset="0">
+       <string>titleLabel</string>
+      </property>
      </widget>
     </item>
     <item row="0" column="1">
@@ -143,6 +146,9 @@
       <property name="buddy">
        <cstring>addAsLabel</cstring>
       </property>
+      <property name="class" stdset="0">
+       <string>titleLabel</string>
+      </property>
      </widget>
     </item>
     <item row="1" column="1">
@@ -166,6 +172,9 @@
       <property name="buddy">
        <cstring>payAmount</cstring>
       </property>
+      <property name="class" stdset="0">
+       <string>titleLabel</string>
+      </property>
      </widget>
     </item>
     <item row="2" column="1">
@@ -173,7 +182,7 @@
       <item>
        <widget class="BitcoinAmountField" name="payAmount">
         <property name="class" stdset="0">
-         <string>LineEdit</string>
+         <string>LineEdit_PacCoins</string>
         </property>
        </widget>
       </item>
@@ -197,6 +206,9 @@
       <property name="alignment">
        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
       </property>
+      <property name="class" stdset="0">
+       <string>titleLabel</string>
+      </property>
      </widget>
     </item>
     <item row="3" column="1">
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index ebeff9c10542..afbe4007b47d 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -8,17 +8,25 @@ QLabel{
 QMainWindow{
     border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
 }
-
-/* Text Entry Fields */
-[class="LineEdit"]{
+QMessageBox {
+    background-color:rgb(20,20,20);
+}
+/* Global Progress Bar styles */
+QStatusBar{
+    background-color: rgb(20,20,20) !important;
+}
+/* Global text inputs */
+[class="LineEdit"], [class="LineEdit_PacCoins"]{
     border: 0px;
-    border-radius: 8px;
+    border-radius: 20px;
     font-size:11px;
-    min-height:25px;
     outline:0;
     padding:3px;
-    background-color: rgba(224, 224, 224, 0.1);
+    background-color: rgb(20, 20, 20);
     color: #fff;
+    height: 40px !important;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
 }
 [class="LineEdit"]:focus {
     font-size:12px;
@@ -30,6 +38,7 @@ QMainWindow{
 
 [class="QuickButton"]{
     background-color: transparent;
+    border: none;
 }
 /* labels */
 QLabel[class="titleLabel"]{
@@ -50,7 +59,7 @@ QLabel[class="usdLabel"]{
 }
 
 
-/* text input */
+/* text input
 QTextEdit {
     background: rgb(10, 10, 10);
     color: rgb(255, 255, 255);
@@ -70,7 +79,7 @@ QPlainTextEdit {
 }
 /*textbox with more and less button*/
 QDoubleSpinBox {
-    background: rgb(255, 255, 255);
+    background: rgb(0, 255, 0);
     color: rgb(20, 20, 20);
     border: 0px solid rgb(61, 61, 61);
     border-radius: 8px;
@@ -120,6 +129,14 @@ QToolBar > QToolButton:checked {
     background-color:rgba(150,150,150,0.1);
 }
 
+#toolbarIcon{
+    background: none;
+    margin-left: 0px;
+    margin-top: 0px;
+    margin: 12px !important;
+    border-image: url(:/icons/bitcoin);
+}
+
 /* Global Button styles*/
 QPushButton {
     background: rgb(5,5,5);
@@ -142,8 +159,8 @@ QPushButton:hover, QPushButton:focus {
     color: rgb(5,5,5);
 }
 QPushButton:disabled {
-    background: rgb(233, 201, 166);
-    border: 0px;
+background: rgb(45,45,45);
+border: 1px solid rgb(263,242,76);
 }
 QPushButton:pressed {
     background: rgba(243,232,56, 0.3) !important;
@@ -151,30 +168,20 @@ QPushButton:pressed {
     color: rgb(243,232,56) !important;
 }
 
-/* Global Progress Bar styles */
-QStatusBar{
-    background-color: rgb(80,80,80) !important;
-}
-
-#toolbarIcon{
-    background: none;
-    margin-left: 0px;
-    margin-top: 0px;
-    margin: 15px !important;
-    border-image: url(:/icons/bitcoin);
-}
-
-QMessageBox {
-    background-color:#0000FF;
-}
-
 /*
  * Overview Page
 */
-#frame_RecentTransactions, #frame_Balances{
+#frame_RecentTransactions, #frame_Balances, [class="container"]{
     background-color: rgba(50,50,50,0.6);
     border: 0px !important;
 }
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
+/*
+ * SendCoins Page
+ */
+#SendCoinsEntry>BitcoinAmountField{
+    background:white;
+    border: 0px;
+}
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 068ffa636379..347a69ab9760 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -77,6 +77,11 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     usedSendingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
     usedReceivingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
 
+    overviewPage->setContentsMargins(50,50,50,50);
+    transactionsPage->setContentsMargins(50,50,50,50);
+    receiveCoinsPage->setContentsMargins(50,50,50,50);
+    sendCoinsPage->setContentsMargins(50,50,50,50);
+
     addWidget(overviewPage);
     addWidget(transactionsPage);
     addWidget(receiveCoinsPage);

From bc4f0c689b46438680a18d741be8e359562fd05a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 15:54:36 -0600
Subject: [PATCH 011/225] CSS sendcoins dialog form modified and bug fixed with
 purging overview

CSS sendcoins dialog form modified
removing a label from overview which is now in private
---
 src/qt/forms/sendcoinsdialog.ui | 433 ++++++++++++++++++++------------
 src/qt/overviewpage.cpp         |   1 -
 src/qt/res/css/pac.css          |  22 ++
 3 files changed, 289 insertions(+), 167 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 66ed920f3c76..b4a8899e1ca1 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>851</width>
+    <width>956</width>
     <height>584</height>
    </rect>
   </property>
@@ -19,9 +19,6 @@
   <property name="windowFilePath">
    <string/>
   </property>
-  <property name="class" stdset="0">
-   <string>container</string>
-  </property>
   <layout class="QVBoxLayout" name="verticalLayout" stretch="0">
    <property name="bottomMargin">
     <number>8</number>
@@ -42,6 +39,9 @@
          <height>16777215</height>
         </size>
        </property>
+       <property name="class" stdset="0">
+        <string>container</string>
+       </property>
        <layout class="QVBoxLayout" name="container">
         <item>
          <widget class="QFrame" name="frameCoinControl">
@@ -613,8 +613,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>706</width>
-             <height>83</height>
+             <width>727</width>
+             <height>92</height>
             </rect>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0">
@@ -706,85 +706,6 @@
                <property name="bottomMargin">
                 <number>0</number>
                </property>
-               <item>
-                <layout class="QVBoxLayout" name="verticalLayoutFee7">
-                 <property name="spacing">
-                  <number>0</number>
-                 </property>
-                 <item>
-                  <spacer name="verticalSpacerSmartFee">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeType">
-                    <enum>QSizePolicy::Fixed</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>1</width>
-                     <height>4</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
-                 <item>
-                  <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
-                   <property name="spacing">
-                    <number>10</number>
-                   </property>
-                   <item>
-                    <widget class="QLabel" name="labelFeeHeadline">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <weight>75</weight>
-                       <bold>true</bold>
-                      </font>
-                     </property>
-                     <property name="styleSheet">
-                      <string notr="true">font-weight:bold;</string>
-                     </property>
-                     <property name="text">
-                      <string>Transaction Fee:</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <widget class="QLabel" name="labelFeeMinimized">
-                     <property name="text">
-                      <string/>
-                     </property>
-                    </widget>
-                   </item>
-                   <item>
-                    <widget class="QPushButton" name="buttonChooseFee">
-                     <property name="text">
-                      <string>Choose...</string>
-                     </property>
-                    </widget>
-                   </item>
-                  </layout>
-                 </item>
-                 <item>
-                  <spacer name="verticalSpacer_5">
-                   <property name="orientation">
-                    <enum>Qt::Vertical</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>1</width>
-                     <height>1</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
-                </layout>
-               </item>
                <item>
                 <spacer name="horizontalSpacer_4">
                  <property name="orientation">
@@ -1240,60 +1161,6 @@
         </item>
         <item>
          <layout class="QHBoxLayout" name="horizontalLayout">
-          <item>
-           <widget class="QPushButton" name="sendButton">
-            <property name="minimumSize">
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="toolTip">
-             <string>Confirm the send action</string>
-            </property>
-            <property name="text">
-             <string>S&amp;end</string>
-            </property>
-            <property name="autoDefault">
-             <bool>false</bool>
-            </property>
-            <property name="default">
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QPushButton" name="clearButton">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="toolTip">
-             <string>Clear all fields of the form.</string>
-            </property>
-            <property name="text">
-             <string>Clear &amp;All</string>
-            </property>
-            <property name="autoDefault">
-             <bool>false</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QPushButton" name="addButton">
-            <property name="toolTip">
-             <string>Send to multiple recipients at once</string>
-            </property>
-            <property name="text">
-             <string>Add &amp;Recipient</string>
-            </property>
-            <property name="autoDefault">
-             <bool>false</bool>
-            </property>
-           </widget>
-          </item>
           <item>
            <spacer name="horizontalSpacer">
             <property name="orientation">
@@ -1378,56 +1245,290 @@
       </widget>
      </item>
      <item>
-      <layout class="QGridLayout" name="gridLayout">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetDefaultConstraint</enum>
-       </property>
-       <property name="spacing">
-        <number>6</number>
-       </property>
-       <item row="1" column="1">
-        <widget class="QWidget" name="pac_icon" native="true">
+      <layout class="QGridLayout" name="gridLayout_2">
+       <item row="6" column="0">
+        <spacer name="verticalSpacer_7">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::MinimumExpanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="0" column="0">
+        <spacer name="verticalSpacer_5">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>15</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="1" column="0">
+        <widget class="QLabel" name="label_2">
          <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
          <property name="minimumSize">
           <size>
-           <width>20</width>
-           <height>20</height>
+           <width>100</width>
+           <height>10</height>
           </size>
          </property>
-         <property name="styleSheet">
-          <string notr="true">border-image: url(:/icons/bitcoin);
-</string>
+         <property name="text">
+          <string>AVAILABLE BALANCE</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
          </property>
         </widget>
        </item>
-       <item row="1" column="2">
-        <widget class="QLabel" name="lblAvailablePacs">
-         <property name="text">
-          <string>722,450.00</string>
+       <item row="2" column="0">
+        <layout class="QHBoxLayout" name="horizontalLayout_5">
+         <property name="spacing">
+          <number>0</number>
          </property>
-        </widget>
+         <item>
+          <spacer name="horizontalSpacer_8">
+           <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="QWidget" name="pac_icon" native="true">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>30</width>
+             <height>30</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border-image: url(:/icons/bitcoin);
+</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_9">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>10</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QLabel" name="label_3">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>70</height>
+            </size>
+           </property>
+           <property name="text">
+            <string>722,450.00</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_7">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::MinimumExpanding</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
        </item>
-       <item row="0" column="2">
-        <widget class="QLabel" name="label_2">
+       <item row="4" column="0">
+        <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+         <property name="spacing">
+          <number>10</number>
+         </property>
+         <item>
+          <widget class="QLabel" name="labelFeeHeadline">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <weight>75</weight>
+             <bold>true</bold>
+            </font>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">font-weight:bold;</string>
+           </property>
+           <property name="text">
+            <string>Transaction Fee:</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="labelFeeMinimized">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="8" column="0">
+        <layout class="QHBoxLayout" name="horizontalLayout_6">
+         <item>
+          <widget class="QPushButton" name="addButton">
+           <property name="toolTip">
+            <string>Send to multiple recipients at once</string>
+           </property>
+           <property name="text">
+            <string>Add &amp;Recipient</string>
+           </property>
+           <property name="autoDefault">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="clearButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="toolTip">
+            <string>Clear all fields of the form.</string>
+           </property>
+           <property name="text">
+            <string>Clear &amp;All</string>
+           </property>
+           <property name="autoDefault">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="3" column="0">
+        <widget class="QLabel" name="label_4">
          <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
          <property name="minimumSize">
           <size>
-           <width>10</width>
-           <height>10</height>
+           <width>0</width>
+           <height>50</height>
+          </size>
+         </property>
+         <property name="text">
+          <string>$ 578.03 USD</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item row="7" column="0">
+        <widget class="QPushButton" name="sendButton">
+         <property name="minimumSize">
+          <size>
+           <width>150</width>
+           <height>0</height>
           </size>
          </property>
+         <property name="toolTip">
+          <string>Confirm the send action</string>
+         </property>
+         <property name="text">
+          <string>S&amp;end</string>
+         </property>
+         <property name="autoDefault">
+          <bool>false</bool>
+         </property>
+         <property name="default">
+          <bool>true</bool>
+         </property>
+         <property name="class" stdset="0">
+          <string>accentButton</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="0">
+        <widget class="QPushButton" name="buttonChooseFee">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
          <property name="text">
-          <string>TextLabel</string>
+          <string>Choose...</string>
+         </property>
+         <property name="class" stdset="0">
+          <string>linkButton</string>
          </property>
         </widget>
        </item>
@@ -1453,7 +1554,7 @@
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupFee"/>
   <buttongroup name="groupCustomFee"/>
+  <buttongroup name="groupFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 7d0c4cebee2a..8d51cd600819 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -187,7 +187,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance, false, BitcoinUnits::separatorAlways));
     ui->labelUnconfirmed->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
     ui->labelImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, immatureBalance, false, BitcoinUnits::separatorAlways));
-    ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
     ui->labelTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance + unconfirmedBalance + immatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchAvailable->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchPending->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index afbe4007b47d..cacee6e32730 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -40,6 +40,28 @@ QStatusBar{
     background-color: transparent;
     border: none;
 }
+[class="linkButton"]{
+    background-color: transparent;
+    border: none;
+    color:rgb(243,232,56);
+}
+[class="accentButton"]{
+    background-color: transparent;
+    border: none;
+    background: rgb(243,232,56);
+    border: 0px;
+    color: rgb(5,5,5);
+    border-radius: 12px;
+    height: 40px;
+    width: 150px;
+    font-family: Arial;
+    font-style: normal;
+    font-size: 12pt;
+    font-weight: bold;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+    text-transform:uppercase;
+}
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);

From 34d2e4396f4966cffa6d633bcb271ef46e0fff8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 16:38:27 -0600
Subject: [PATCH 012/225] Bug fixed

a not found font was being referenced
---
 src/qt/paccoin.qrc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 563ff32858c1..8b3ee021176f 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -5,9 +5,6 @@
         <file alias="warning">res/icons/warning.png</file>
     </qresource>
     <qresource prefix="/fonts">
-        <file alias="typo">res/fonts/ZCOOLKuaiLe-Regular.ttf</file>
-        <file alias="Montserrat-Regular">res/fonts/Montserrat-Regular.otf</file>
-        <file alias="Montserrat-Medium">res/fonts/Montserrat-Medium.otf</file>
     </qresource>
     <qresource prefix="/icons/drkblue">
         <file alias="address-book">res/icons/drkblue/address-book.png</file>

From 6f7f9ed713ea19a2fe138402bf0b30fc54a20611 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 23 Jan 2019 16:45:36 -0600
Subject: [PATCH 013/225] Removing unused code

---
 src/qt/overviewpage.cpp | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 1c69464ea7a9..8b1d00b53799 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -169,27 +169,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
 
     // that's it for litemode
     if(fLiteMode) return;
-
-    // Disable any PS UI for masternode or when autobackup is disabled or failed for whatever reason
-    if(fMasterNode || nWalletBackups <= 0){
-        DisablePrivateSendCompletely();
-        if (nWalletBackups <= 0) {
-            ui->labelPrivateSendEnabled->setToolTip(tr("Automatic backups are disabled, no mixing available!"));
-        }
-    } else {
-        if(!privateSendClient.fEnablePrivateSend){
-            ui->togglePrivateSend->setText(tr("Start Mixing"));
-        } else {
-            ui->togglePrivateSend->setText(tr("Stop Mixing"));
-        }
-        // Disable privateSendClient builtin support for automatic backups while we are in GUI,
-        // we'll handle automatic backups and user warnings in privateSendStatus()
-        privateSendClient.fCreateAutoBackups = false;
-
-        timer = new QTimer(this);
-        connect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
-        timer->start(1000);
-    }
+    
     WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
 }
 

From ed6c78c05f4994407202aa13766cfe9f7abcd051 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 23 Jan 2019 17:29:23 -0600
Subject: [PATCH 014/225] Loading arrows and Fix for earlier versions of QT

---
 src/qt/forms/overviewpage.ui      | 248 ++++++++++++++++++++----------
 src/qt/forms/sendcoinsentry.ui    |  54 -------
 src/qt/overviewpage.cpp           |   3 +
 src/qt/res/icons/bitcoin-32.png   | Bin 0 -> 903 bytes
 src/qt/res/movies/spinner-000.png | Bin 1794 -> 3766 bytes
 src/qt/res/movies/spinner-001.png | Bin 2376 -> 4211 bytes
 src/qt/res/movies/spinner-002.png | Bin 2376 -> 4303 bytes
 src/qt/res/movies/spinner-003.png | Bin 2355 -> 4288 bytes
 src/qt/res/movies/spinner-004.png | Bin 2349 -> 4213 bytes
 src/qt/res/movies/spinner-005.png | Bin 2305 -> 4194 bytes
 src/qt/res/movies/spinner-006.png | Bin 2304 -> 4188 bytes
 src/qt/res/movies/spinner-007.png | Bin 2283 -> 4140 bytes
 src/qt/res/movies/spinner-008.png | Bin 2312 -> 4070 bytes
 src/qt/res/movies/spinner-009.png | Bin 1810 -> 3453 bytes
 src/qt/res/movies/spinner-010.png | Bin 2305 -> 4159 bytes
 src/qt/res/movies/spinner-011.png | Bin 2338 -> 4244 bytes
 src/qt/res/movies/spinner-012.png | Bin 2352 -> 4268 bytes
 src/qt/res/movies/spinner-013.png | Bin 2377 -> 4255 bytes
 src/qt/res/movies/spinner-014.png | Bin 2358 -> 4266 bytes
 src/qt/res/movies/spinner-015.png | Bin 2405 -> 4308 bytes
 src/qt/res/movies/spinner-016.png | Bin 2429 -> 4321 bytes
 src/qt/res/movies/spinner-017.png | Bin 2408 -> 4290 bytes
 src/qt/res/movies/spinner-018.png | Bin 1831 -> 3766 bytes
 src/qt/res/movies/spinner-019.png | Bin 2380 -> 4211 bytes
 src/qt/res/movies/spinner-020.png | Bin 2366 -> 4303 bytes
 src/qt/res/movies/spinner-021.png | Bin 2368 -> 4288 bytes
 src/qt/res/movies/spinner-022.png | Bin 2356 -> 4213 bytes
 src/qt/res/movies/spinner-023.png | Bin 2311 -> 4194 bytes
 src/qt/res/movies/spinner-024.png | Bin 2315 -> 4188 bytes
 src/qt/res/movies/spinner-025.png | Bin 2298 -> 4140 bytes
 src/qt/res/movies/spinner-026.png | Bin 2291 -> 4070 bytes
 src/qt/res/movies/spinner-027.png | Bin 1816 -> 3453 bytes
 src/qt/res/movies/spinner-028.png | Bin 2308 -> 4159 bytes
 src/qt/res/movies/spinner-029.png | Bin 2356 -> 4244 bytes
 src/qt/res/movies/spinner-030.png | Bin 2346 -> 4268 bytes
 src/qt/res/movies/spinner-031.png | Bin 2380 -> 4255 bytes
 src/qt/res/movies/spinner-032.png | Bin 2345 -> 4266 bytes
 src/qt/res/movies/spinner-033.png | Bin 2401 -> 4308 bytes
 src/qt/res/movies/spinner-034.png | Bin 2422 -> 4321 bytes
 src/qt/res/movies/spinner-035.png | Bin 2406 -> 4290 bytes
 src/qt/websockettransport.cpp     |   6 +-
 41 files changed, 175 insertions(+), 136 deletions(-)
 create mode 100644 src/qt/res/icons/bitcoin-32.png

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index eb3ed9c4b041..5ba150a290b3 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>960</width>
-    <height>612</height>
+    <height>662</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -127,32 +127,62 @@
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_5">
             <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>
-              <property name="toolTip">
-               <string>Your current spendable balance</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_4">
+              <item>
+               <widget class="QLabel" name="iconLabelAvailable">
+                <property name="text">
+                 <string/>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </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>
+                <property name="toolTip">
+                 <string>Your current spendable balance</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Fixed</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>122</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
             </item>
             <item>
              <widget class="QLabel" name="labelWatchAvailable">
@@ -215,32 +245,62 @@
              </widget>
             </item>
             <item>
-             <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 spendable balance</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_6">
+              <item>
+               <widget class="QLabel" name="iconLabelPending">
+                <property name="text">
+                 <string/>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <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 spendable balance</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_2">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Fixed</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>122</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
             </item>
             <item>
              <widget class="QLabel" name="labelWatchPending">
@@ -357,32 +417,62 @@
              </widget>
             </item>
             <item>
-             <widget class="QLabel" name="labelTotal">
-              <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 total balance</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_7">
+              <item>
+               <widget class="QLabel" name="iconLabelTotal">
+                <property name="text">
+                 <string/>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelTotal">
+                <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 total balance</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_3">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Maximum</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>122</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
             </item>
             <item>
              <widget class="QLabel" name="labelWatchTotal">
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index 879b18e4e653..83b738727dbe 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -369,15 +369,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -515,15 +506,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -661,15 +643,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -903,15 +876,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -1058,15 +1022,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1213,15 +1168,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 49ce1df176b8..45d3a84ca1f1 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -194,6 +194,9 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     currentWatchOnlyBalance = watchOnlyBalance;
     currentWatchUnconfBalance = watchUnconfBalance;
     currentWatchImmatureBalance = watchImmatureBalance;
+    ui->iconLabelAvailable->setPixmap(QPixmap(":icons/bitcoin-32"));
+    ui->iconLabelPending->setPixmap(QPixmap(":icons/bitcoin-32"));
+    ui->iconLabelTotal->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance, false, BitcoinUnits::separatorAlways));
     ui->labelUnconfirmed->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
     ui->labelImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, immatureBalance, false, BitcoinUnits::separatorAlways));
diff --git a/src/qt/res/icons/bitcoin-32.png b/src/qt/res/icons/bitcoin-32.png
new file mode 100644
index 0000000000000000000000000000000000000000..25d57cb6ee9cd9f9f329a184d576414a83857bbb
GIT binary patch
diff --git a/src/qt/res/movies/spinner-000.png b/src/qt/res/movies/spinner-000.png
index 0dc48d0d8c564f5daf51db3f8f8d4c2b60df1ad7..e09965cd878550f3fdb07cc90b2fb3d8873fa180 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-001.png b/src/qt/res/movies/spinner-001.png
index d167f20541f8a33511136d109a9ff016f6ea338b..da17f0a336ce33f5caad7ac58d844e24afcdad08 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-002.png b/src/qt/res/movies/spinner-002.png
index 4a1f1f8e5660abc5ed3675da7bc26233888a0e75..e7f96b6f9a70ec1c08532baab5193fd8b3ce8044 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-003.png b/src/qt/res/movies/spinner-003.png
index fb1c2cd4adc8e274eeb91605bda52b970f7f96db..6fea7bbb72e2a5b4dc7e0538ae9baf75c97b0f11 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-004.png b/src/qt/res/movies/spinner-004.png
index 4df2132344fb240bf6b4a97e4ea48b3e167d519c..b6ab20a3c205015d9d376b216d7da4eefa58eac9 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-005.png b/src/qt/res/movies/spinner-005.png
index 5d6f41e0dc04e99328c248c45e16ec8f391128bb..b330cedcdd12a9c8cb2129fe422fc2750c466878 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-006.png b/src/qt/res/movies/spinner-006.png
index c1f7d18899b406723aa1320256b4f687bbaa60c8..92193f9f32e545b2efde875df380da4280fcba1b 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-007.png b/src/qt/res/movies/spinner-007.png
index 1e794b26262243c76c05f068c47a3c4d10bff53c..ccb1ba6a50fb28045dcd5a65c245a11c237507ad 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-008.png b/src/qt/res/movies/spinner-008.png
index df12ea87197bc910dfd50c1d118feea665d5bb5f..19119483ea77d6c0c61b7a3738acb1ada6a62f33 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-009.png b/src/qt/res/movies/spinner-009.png
index 18fc3a7d16d21f082aabac4db2b4dcb0fe8e56e6..fa099852624d7f2fa2a47a6e9c9d28ca7f2d39ba 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-010.png b/src/qt/res/movies/spinner-010.png
index a79c845fe828742ad38f8418179b6e2987a968ba..a6e9122ea2bb0ca390cf73df12e2fd7eea3285e1 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-011.png b/src/qt/res/movies/spinner-011.png
index 57baf66895fd37dc05524402200845b504d9646d..ebc3d8f6136f1da7de6a40d9157bff53743c6b1c 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-012.png b/src/qt/res/movies/spinner-012.png
index 9deae7853a77be114675325338015003f0df20d4..42d011f664fc01ac917cba3b1b50dff0d26eafbe 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-013.png b/src/qt/res/movies/spinner-013.png
index 0659d48decf354c0e224c2903526b64bf1757eec..df3af8378e7835446f522ca8d4a84ed2dbdf7afb 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-014.png b/src/qt/res/movies/spinner-014.png
index bc1ef51bdedb23b098fd79db1b5f47bd2b3ff97b..ee658fd14dba46771674de4803258c5ad364abb1 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-015.png b/src/qt/res/movies/spinner-015.png
index 24b57b62c2cd8ca0a3c4b0f261daef7c6d4f6de2..a3f5ca0c45f61142d3ec51021c41575a9c7438d3 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-016.png b/src/qt/res/movies/spinner-016.png
index d622872651aa8276442fd6edf5460ed5d0c7ea56..50f2556c5c2de7e6a35326ed47ed410cc8e2452e 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-017.png b/src/qt/res/movies/spinner-017.png
index f48f688db204ee4cc9b8b68cf02b36fb15ccf0ac..59cf9c81f80e7ed3555268bb54e348128799bf16 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-018.png b/src/qt/res/movies/spinner-018.png
index a2c8f38b1d82090ac38a2a06066b6e1301c74aba..e09965cd878550f3fdb07cc90b2fb3d8873fa180 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-019.png b/src/qt/res/movies/spinner-019.png
index 9d7cc35d8283f9b4d3b9a6be044c67f514ecc191..da17f0a336ce33f5caad7ac58d844e24afcdad08 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-020.png b/src/qt/res/movies/spinner-020.png
index 1a07acc454029a36ac5fdd556e1811bae62c2a27..e7f96b6f9a70ec1c08532baab5193fd8b3ce8044 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-021.png b/src/qt/res/movies/spinner-021.png
index 9cea8f25433a8284bd1e90110ef18a4f952b40cc..6fea7bbb72e2a5b4dc7e0538ae9baf75c97b0f11 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-022.png b/src/qt/res/movies/spinner-022.png
index 60250f6dea8d9a55d72810f13282374d389a461c..b6ab20a3c205015d9d376b216d7da4eefa58eac9 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-023.png b/src/qt/res/movies/spinner-023.png
index fc290a0cf245ab3fbf98a465d4703a4bdfd97506..b330cedcdd12a9c8cb2129fe422fc2750c466878 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-024.png b/src/qt/res/movies/spinner-024.png
index c5dcf1eae90f61ddac48d4f9dd432e820aecc0be..92193f9f32e545b2efde875df380da4280fcba1b 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-025.png b/src/qt/res/movies/spinner-025.png
index 7f3577a4de2c60562ff6d70faef45382588038cc..ccb1ba6a50fb28045dcd5a65c245a11c237507ad 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-026.png b/src/qt/res/movies/spinner-026.png
index 1663ddf44c07535034a7280d005318bd39bf254c..19119483ea77d6c0c61b7a3738acb1ada6a62f33 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-027.png b/src/qt/res/movies/spinner-027.png
index d0e6da4503848d90bd587325535ef4bdbd571fc5..fa099852624d7f2fa2a47a6e9c9d28ca7f2d39ba 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-028.png b/src/qt/res/movies/spinner-028.png
index 2a7aba50e2cfdc275f790b6fffbc989267590c6f..a6e9122ea2bb0ca390cf73df12e2fd7eea3285e1 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-029.png b/src/qt/res/movies/spinner-029.png
index c8ca15c1e1c24156c70573cdc1dc83d37746234d..ebc3d8f6136f1da7de6a40d9157bff53743c6b1c 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-030.png b/src/qt/res/movies/spinner-030.png
index c847c99a93e55b2de39c2f089c0c9edc1f4c6bcf..42d011f664fc01ac917cba3b1b50dff0d26eafbe 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-031.png b/src/qt/res/movies/spinner-031.png
index 403443144ebe1f99e8ba286f5a906bf4ce2e8ea4..df3af8378e7835446f522ca8d4a84ed2dbdf7afb 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-032.png b/src/qt/res/movies/spinner-032.png
index f9db080567c3f8101f3b541c7e1b5b0a5599d8e8..ee658fd14dba46771674de4803258c5ad364abb1 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-033.png b/src/qt/res/movies/spinner-033.png
index 43f57719e7fc607fc0152da01246c9f95f80905d..a3f5ca0c45f61142d3ec51021c41575a9c7438d3 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-034.png b/src/qt/res/movies/spinner-034.png
index c26656ff17a5afb2a3051b075737f8f2bb062dab..50f2556c5c2de7e6a35326ed47ed410cc8e2452e 100644
GIT binary patch
diff --git a/src/qt/res/movies/spinner-035.png b/src/qt/res/movies/spinner-035.png
index e471f950a3e75bcaf83e38a85303360d718bbbed..59cf9c81f80e7ed3555268bb54e348128799bf16 100644
GIT binary patch
diff --git a/src/qt/websockettransport.cpp b/src/qt/websockettransport.cpp
index 2aac1abe662e..a276df1e09cd 100644
--- a/src/qt/websockettransport.cpp
+++ b/src/qt/websockettransport.cpp
@@ -34,8 +34,8 @@ void WebSocketTransport::sendMessage(const QJsonObject &message)
 
 void WebSocketTransport::textMessageReceived(const QString &messageData)
 {
+    cout << "Message in..." << endl;
+    cout << messageData.toStdString() << endl;
     qDebug() << messageData;
-    cout << "Dentro" << endl;
-    cout << messageData << endl;
-
+    cout << "Message out..." << endl;
 }

From dc7356a65ec0dfcb2631f16704f06370e3ded4bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 17:45:58 -0600
Subject: [PATCH 015/225] CSS sendcoins dialog and entry modified

---
 src/qt/forms/sendcoinsdialog.ui | 613 +++++++++++++++++---------------
 src/qt/forms/sendcoinsentry.ui  |   8 +
 src/qt/res/css/pac.css          |  82 +++--
 3 files changed, 385 insertions(+), 318 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index b4a8899e1ca1..96ee082390c5 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>956</width>
+    <width>1157</width>
     <height>584</height>
    </rect>
   </property>
@@ -25,6 +25,9 @@
    </property>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_3">
+      <property name="spacing">
+      <number>0</number>
+     </property>
      <item>
       <widget class="QWidget" name="SendCoinsContainer" native="true">
        <property name="sizePolicy">
@@ -613,10 +616,13 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>727</width>
+             <width>811</width>
              <height>92</height>
             </rect>
            </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
            <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0">
             <property name="leftMargin">
              <number>0</number>
@@ -1245,294 +1251,321 @@
       </widget>
      </item>
      <item>
-      <layout class="QGridLayout" name="gridLayout_2">
-       <item row="6" column="0">
-        <spacer name="verticalSpacer_7">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::MinimumExpanding</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="0" column="0">
-        <spacer name="verticalSpacer_5">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::Fixed</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>15</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLabel" name="label_2">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>100</width>
-           <height>10</height>
-          </size>
-         </property>
-         <property name="text">
-          <string>AVAILABLE BALANCE</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignCenter</set>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayout_5">
-         <property name="spacing">
-          <number>0</number>
-         </property>
-         <item>
-          <spacer name="horizontalSpacer_8">
-           <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="QWidget" name="pac_icon" native="true">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>30</width>
-             <height>30</height>
-            </size>
-           </property>
-           <property name="styleSheet">
-            <string notr="true">border-image: url(:/icons/bitcoin);
+      <widget class="QWidget" name="verticalWidget" native="true">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="class" stdset="0">
+        <string>container</string>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <item>
+         <layout class="QGridLayout" name="gridLayout_2">
+          <item row="6" column="0">
+           <spacer name="verticalSpacer_7">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::MinimumExpanding</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>40</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="0" column="0">
+           <spacer name="verticalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>15</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>100</width>
+              <height>10</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>AVAILABLE BALANCE</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_5">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <item>
+             <spacer name="horizontalSpacer_8">
+              <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="QWidget" name="pac_icon" native="true">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>30</width>
+                <height>30</height>
+               </size>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">border-image: url(:/icons/bitcoin);
 </string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer_9">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType">
-            <enum>QSizePolicy::Fixed</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>10</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QLabel" name="label_3">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>0</width>
-             <height>70</height>
-            </size>
-           </property>
-           <property name="text">
-            <string>722,450.00</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer_7">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType">
-            <enum>QSizePolicy::MinimumExpanding</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item row="4" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
-         <property name="spacing">
-          <number>10</number>
-         </property>
-         <item>
-          <widget class="QLabel" name="labelFeeHeadline">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="font">
-            <font>
-             <weight>75</weight>
-             <bold>true</bold>
-            </font>
-           </property>
-           <property name="styleSheet">
-            <string notr="true">font-weight:bold;</string>
-           </property>
-           <property name="text">
-            <string>Transaction Fee:</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="labelFeeMinimized">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="text">
-            <string/>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item row="8" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayout_6">
-         <item>
-          <widget class="QPushButton" name="addButton">
-           <property name="toolTip">
-            <string>Send to multiple recipients at once</string>
-           </property>
-           <property name="text">
-            <string>Add &amp;Recipient</string>
-           </property>
-           <property name="autoDefault">
-            <bool>false</bool>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="clearButton">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="toolTip">
-            <string>Clear all fields of the form.</string>
-           </property>
-           <property name="text">
-            <string>Clear &amp;All</string>
-           </property>
-           <property name="autoDefault">
-            <bool>false</bool>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item row="3" column="0">
-        <widget class="QLabel" name="label_4">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>0</width>
-           <height>50</height>
-          </size>
-         </property>
-         <property name="text">
-          <string>$ 578.03 USD</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignCenter</set>
-         </property>
-        </widget>
-       </item>
-       <item row="7" column="0">
-        <widget class="QPushButton" name="sendButton">
-         <property name="minimumSize">
-          <size>
-           <width>150</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="toolTip">
-          <string>Confirm the send action</string>
-         </property>
-         <property name="text">
-          <string>S&amp;end</string>
-         </property>
-         <property name="autoDefault">
-          <bool>false</bool>
-         </property>
-         <property name="default">
-          <bool>true</bool>
-         </property>
-         <property name="class" stdset="0">
-          <string>accentButton</string>
-         </property>
-        </widget>
-       </item>
-       <item row="5" column="0">
-        <widget class="QPushButton" name="buttonChooseFee">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Choose...</string>
-         </property>
-         <property name="class" stdset="0">
-          <string>linkButton</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_9">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>10</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_3">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>70</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>722,450.00</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>pacCoinsLabel</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_7">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item row="4" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+            <property name="spacing">
+             <number>10</number>
+            </property>
+            <item>
+             <widget class="QLabel" name="labelFeeHeadline">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">font-weight:bold;</string>
+              </property>
+              <property name="text">
+               <string>Transaction Fee:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelFeeMinimized">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="8" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_6">
+            <item>
+             <widget class="QPushButton" name="addButton">
+              <property name="toolTip">
+               <string>Send to multiple recipients at once</string>
+              </property>
+              <property name="text">
+               <string>Add &amp;Recipient</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="clearButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="toolTip">
+               <string>Clear all fields of the form.</string>
+              </property>
+              <property name="text">
+               <string>Clear &amp;All</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>50</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>$ 578.03 USD</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="class" stdset="0">
+             <string>usdLabel</string>
+            </property>
+           </widget>
+          </item>
+          <item row="7" column="0">
+           <widget class="QPushButton" name="sendButton">
+            <property name="minimumSize">
+             <size>
+              <width>150</width>
+              <height>0</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Confirm the send action</string>
+            </property>
+            <property name="text">
+             <string>S&amp;end</string>
+            </property>
+            <property name="autoDefault">
+             <bool>false</bool>
+            </property>
+            <property name="default">
+             <bool>true</bool>
+            </property>
+            <property name="class" stdset="0">
+             <string>accentButton</string>
+            </property>
+           </widget>
+          </item>
+          <item row="5" column="0">
+           <widget class="QPushButton" name="buttonChooseFee">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>Choose...</string>
+            </property>
+            <property name="class" stdset="0">
+             <string>linkButton</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+       </layout>
+      </widget>
      </item>
     </layout>
    </item>
@@ -1557,4 +1590,4 @@
   <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
  </buttongroups>
-</ui>
+</ui>
\ No newline at end of file
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index 83b738727dbe..af364dd7fc79 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -16,6 +16,11 @@
   <property name="autoFillBackground">
    <bool>false</bool>
   </property>
+  <property name="styleSheet">
+   <string notr="true">#SendCoins, #SendCoins{
+  background:transparent;
+}</string>
+  </property>
   <property name="currentIndex">
    <number>0</number>
   </property>
@@ -23,6 +28,9 @@
    <property name="toolTip">
     <string>This is a normal payment.</string>
    </property>
+  <property name="styleSheet">
+    <string notr="true"/>
+   </property>
    <property name="frameShape">
     <enum>QFrame::NoFrame</enum>
    </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index cacee6e32730..e918a8ca8427 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -40,28 +40,6 @@ QStatusBar{
     background-color: transparent;
     border: none;
 }
-[class="linkButton"]{
-    background-color: transparent;
-    border: none;
-    color:rgb(243,232,56);
-}
-[class="accentButton"]{
-    background-color: transparent;
-    border: none;
-    background: rgb(243,232,56);
-    border: 0px;
-    color: rgb(5,5,5);
-    border-radius: 12px;
-    height: 40px;
-    width: 150px;
-    font-family: Arial;
-    font-style: normal;
-    font-size: 12pt;
-    font-weight: bold;
-    font-family: 'Montserrat', sans-serif;
-    font-size: 15px;
-    text-transform:uppercase;
-}
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
@@ -75,7 +53,7 @@ QLabel[class="pacCoinsLabel"]{
     font-weight: bold;
 }
 QLabel[class="usdLabel"]{
-    color:rgb(243,232,56);
+    color:rgb(255,255,255);
     font-family: 'Montserrat', sans-serif;
     font-size: 15em;
 }
@@ -169,7 +147,6 @@ QPushButton {
     width: 150px;
     font-family: Arial;
     font-style: normal;
-    font-size: 12pt;
     font-weight: bold;
     font-family: 'Montserrat', sans-serif;
     font-size: 10px;
@@ -189,6 +166,44 @@ QPushButton:pressed {
     border: 2px solid rgb(5, 5, 5) !important;
     color: rgb(243,232,56) !important;
 }
+[class="linkButton"]{
+    background-color: transparent;
+    border: none;
+    color:rgb(243,232,56);
+    text-decoration: underline;
+}
+[class="linkButton"]:hover, [class="linkButton"]:focus {
+    background: rgb(243,232,56) !important;
+    border: 2px solid rgb(5,5,5) !important;
+    color: rgb(5,5,5) !important;
+}
+[class="linkButton"]:disabled {
+    background: rgb(45,45,45) !important;
+    border: 1px solid rgb(263,242,76) !important;
+}
+[class="linkButton"]:pressed {
+    background: rgba(243,232,56, 0.3) !important;
+    border: 2px solid rgb(5, 5, 5) !important;
+    color: rgb(243,232,56) !important;
+}
+
+[class="accentButton"]{
+    border: none;
+    background: rgb(243,232,56);
+    color: rgb(5,5,5);
+    border-radius: 25px;
+    height: 50px;
+    font-style: normal;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+    text-transform:uppercase;
+}
+QCheckBox {
+    color: rgb(255, 255, 255);
+}
+QRadioButton {
+    color: rgb(255, 255, 255);
+}
 
 /*
  * Overview Page
@@ -203,7 +218,18 @@ QPushButton:pressed {
 /*
  * SendCoins Page
  */
-#SendCoinsEntry>BitcoinAmountField{
-    background:white;
-    border: 0px;
-}
+ #SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
+     background:red !important;
+     border: 0px !important;
+ }
+ #frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
+     border: 0px !important;
+ }
+ #frameCoinControl{
+     background: rgba(255,255,255,0.3);
+     border-radius: 8px !important;
+ }
+ #scrollArea, #scrollAreaWidgetContents{
+     background-color:rgba(0,0,0,0) !important;
+ }
+

From 844c9b922b66b49bcba3aeedea6526c654842571 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Wed, 23 Jan 2019 22:02:29 -0600
Subject: [PATCH 016/225] CSS sendcoinsdialog, sendcoinsentry, receivecoins and
 QDialog styles

backgrounds dark color and transparencies
---
 src/qt/forms/helpmessagedialog.ui  |   6 +-
 src/qt/forms/receivecoinsdialog.ui |   5 +
 src/qt/forms/sendcoinsdialog.ui    |   4 +-
 src/qt/forms/sendcoinsentry.ui     | 217 ++++++++++++++++-------------
 src/qt/res/css/pac.css             |   4 +-
 5 files changed, 134 insertions(+), 102 deletions(-)

diff --git a/src/qt/forms/helpmessagedialog.ui b/src/qt/forms/helpmessagedialog.ui
index 437eb5101848..1a0ce78a129e 100755
--- a/src/qt/forms/helpmessagedialog.ui
+++ b/src/qt/forms/helpmessagedialog.ui
@@ -76,7 +76,7 @@
         <bool>false</bool>
        </property>
        <property name="pixmap">
-        <pixmap resource="../paccoin.qrc">:/images/drkblue/about</pixmap>
+        <pixmap resource="../paccoin.qrc">:/images/pac/about</pixmap>
        </property>
        <property name="scaledContents">
         <bool>false</bool>
@@ -113,8 +113,8 @@
          <rect>
           <x>0</x>
           <y>0</y>
-          <width>630</width>
-          <height>201</height>
+          <width>642</width>
+          <height>214</height>
          </rect>
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_2">
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 40640fbd9d68..0a68671985ce 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -10,6 +10,11 @@
     <height>414</height>
    </rect>
   </property>
+  <property name="styleSheet">
+   <string notr="true">#ReceiveCoinsDialog{
+  background:transparent !important;
+}</string>
+  </property>
   <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,1">
    <item>
     <widget class="QFrame" name="frame2">
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 96ee082390c5..ef8a81aff6cc 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -14,7 +14,9 @@
    <string>Send Coins</string>
   </property>
   <property name="styleSheet">
-   <string notr="true"/>
+   <string notr="true">#SendCoinsDialog{
+  background:transparent;
+}</string>
   </property>
   <property name="windowFilePath">
    <string/>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index af364dd7fc79..57e3d5ea1791 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -28,7 +28,7 @@
    <property name="toolTip">
     <string>This is a normal payment.</string>
    </property>
-  <property name="styleSheet">
+   <property name="styleSheet">
     <string notr="true"/>
    </property>
    <property name="frameShape">
@@ -47,37 +47,105 @@
     <property name="verticalSpacing">
      <number>8</number>
     </property>
-    <item row="0" column="0">
-     <widget class="QLabel" name="payToLabel">
+    <item row="5" column="1">
+     <layout class="QHBoxLayout" name="horizontalLayoutAmount" stretch="1">
+      <item>
+       <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
+        <property name="toolTip">
+         <string>The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Paccoin than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
+        </property>
+        <property name="text">
+         <string>S&amp;ubtract fee from amount</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+    <item row="6" column="1">
+     <widget class="QLabel" name="messageLabel">
       <property name="text">
-       <string>Pay &amp;To:</string>
+       <string>Message:</string>
       </property>
       <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="buddy">
-       <cstring>payTo</cstring>
+       <set>Qt::AlignCenter</set>
       </property>
       <property name="class" stdset="0">
        <string>titleLabel</string>
       </property>
      </widget>
     </item>
-    <item row="0" column="1">
-     <layout class="QHBoxLayout" name="payToLayout">
-      <property name="spacing">
-       <number>0</number>
-      </property>
+    <item row="3" column="1">
+     <layout class="QHBoxLayout" name="inputsContainer">
       <item>
-       <widget class="QValidatedLineEdit" name="payTo">
+       <widget class="BitcoinAmountField" name="payAmount">
+        <property name="class" stdset="0">
+         <string>LineEdit_PacCoins</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLineEdit" name="addAsLabel">
         <property name="toolTip">
-         <string>The Paccoin address to send the payment to</string>
+         <string>Enter a label for this address to add it to the list of used addresses</string>
         </property>
         <property name="class" stdset="0">
          <string>LineEdit</string>
         </property>
        </widget>
       </item>
+     </layout>
+    </item>
+    <item row="7" column="1">
+     <widget class="QLabel" name="messageTextLabel">
+      <property name="toolTip">
+       <string>A message that was attached to the paccoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Paccoin network.</string>
+      </property>
+      <property name="textFormat">
+       <enum>Qt::PlainText</enum>
+      </property>
+     </widget>
+    </item>
+    <item row="8" column="0" colspan="2">
+     <widget class="Line" name="line">
+      <property name="orientation">
+       <enum>Qt::Horizontal</enum>
+      </property>
+     </widget>
+    </item>
+    <item row="0" column="1">
+     <layout class="QHBoxLayout" name="PayToHeader">
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeType">
+         <enum>QSizePolicy::Fixed</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>100</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QLabel" name="payToLabel">
+        <property name="text">
+         <string>Pay &amp;To:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>payTo</cstring>
+        </property>
+        <property name="class" stdset="0">
+         <string>titleLabel</string>
+        </property>
+       </widget>
+      </item>
       <item>
        <widget class="QToolButton" name="addressBookButton">
         <property name="toolTip">
@@ -143,99 +211,59 @@
       </item>
      </layout>
     </item>
-    <item row="1" column="0">
-     <widget class="QLabel" name="labellLabel">
-      <property name="text">
-       <string>&amp;Label:</string>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="buddy">
-       <cstring>addAsLabel</cstring>
-      </property>
-      <property name="class" stdset="0">
-       <string>titleLabel</string>
-      </property>
-     </widget>
-    </item>
     <item row="1" column="1">
-     <widget class="QLineEdit" name="addAsLabel">
-      <property name="toolTip">
-       <string>Enter a label for this address to add it to the list of used addresses</string>
-      </property>
-      <property name="class" stdset="0">
-       <string>LineEdit</string>
-      </property>
-     </widget>
-    </item>
-    <item row="2" column="0">
-     <widget class="QLabel" name="amountLabel">
-      <property name="text">
-       <string>A&amp;mount:</string>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="buddy">
-       <cstring>payAmount</cstring>
-      </property>
-      <property name="class" stdset="0">
-       <string>titleLabel</string>
+     <layout class="QHBoxLayout" name="payToLayout">
+      <property name="spacing">
+       <number>0</number>
       </property>
-     </widget>
+      <item>
+       <widget class="QValidatedLineEdit" name="payTo">
+        <property name="toolTip">
+         <string>The Paccoin address to send the payment to</string>
+        </property>
+        <property name="class" stdset="0">
+         <string>LineEdit</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
     </item>
     <item row="2" column="1">
-     <layout class="QHBoxLayout" name="horizontalLayoutAmount" stretch="0,1">
+     <layout class="QHBoxLayout" name="labelAmounTitles">
       <item>
-       <widget class="BitcoinAmountField" name="payAmount">
+       <widget class="QLabel" name="amountLabel">
+        <property name="text">
+         <string>A&amp;mount:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>payAmount</cstring>
+        </property>
         <property name="class" stdset="0">
-         <string>LineEdit_PacCoins</string>
+         <string>titleLabel</string>
         </property>
        </widget>
       </item>
       <item>
-       <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
-        <property name="toolTip">
-         <string>The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Paccoin than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
-        </property>
+       <widget class="QLabel" name="labellLabel">
         <property name="text">
-         <string>S&amp;ubtract fee from amount</string>
+         <string>&amp;Label:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>addAsLabel</cstring>
+        </property>
+        <property name="class" stdset="0">
+         <string>titleLabel</string>
         </property>
        </widget>
       </item>
      </layout>
     </item>
-    <item row="3" column="0">
-     <widget class="QLabel" name="messageLabel">
-      <property name="text">
-       <string>Message:</string>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="class" stdset="0">
-       <string>titleLabel</string>
-      </property>
-     </widget>
-    </item>
-    <item row="3" column="1">
-     <widget class="QLabel" name="messageTextLabel">
-      <property name="toolTip">
-       <string>A message that was attached to the paccoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Paccoin network.</string>
-      </property>
-      <property name="textFormat">
-       <enum>Qt::PlainText</enum>
-      </property>
-     </widget>
-    </item>
-    <item row="4" column="0" colspan="2">
-     <widget class="Line" name="line">
-      <property name="orientation">
-       <enum>Qt::Horizontal</enum>
-      </property>
-     </widget>
-    </item>
    </layout>
   </widget>
   <widget class="QFrame" name="SendCoins_UnauthenticatedPaymentRequest">
@@ -1281,11 +1309,6 @@
  </customwidgets>
  <tabstops>
   <tabstop>payTo</tabstop>
-  <tabstop>addressBookButton</tabstop>
-  <tabstop>pasteButton</tabstop>
-  <tabstop>deleteButton</tabstop>
-  <tabstop>addAsLabel</tabstop>
-  <tabstop>payAmount</tabstop>
   <tabstop>payAmount_is</tabstop>
   <tabstop>deleteButton_is</tabstop>
   <tabstop>payAmount_s</tabstop>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e918a8ca8427..5cf77c856970 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -10,10 +10,12 @@ QMainWindow{
 }
 QMessageBox {
     background-color:rgb(20,20,20);
+}QDialog{
+background-color:rgb(30,30,30);
 }
 /* Global Progress Bar styles */
 QStatusBar{
-    background-color: rgb(20,20,20) !important;
+background-color: rgb(10,10,10) !important;
 }
 /* Global text inputs */
 [class="LineEdit"], [class="LineEdit_PacCoins"]{

From 1f335b23fba67a8e1c6582ceda11c6790c906f98 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 09:59:15 -0600
Subject: [PATCH 017/225] Styles changed for overview and statubar

Unit display color on status bar
Overview page: layout and USD labels
---
 src/qt/bitcoingui.cpp        |   2 +-
 src/qt/forms/overviewpage.ui | 367 ++++++++++++++++++++++-------------
 src/qt/res/css/pac.css       |   9 +-
 3 files changed, 237 insertions(+), 141 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 02e1b0fc955f..1c115293b10e 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -1537,7 +1537,7 @@ UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *pl
     }
     setMinimumSize(max_width, 0);
     setAlignment(Qt::AlignRight | Qt::AlignVCenter);
-    setStyleSheet(QString("QLabel { color : %1 }").arg(platformStyle->SingleColor().name()));
+    setStyleSheet(QString("QLabel { color : #fff }").arg(platformStyle->SingleColor().name()));
 }
 
 /** So that it responds to button clicks */
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 5ba150a290b3..76db9e9959ff 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -130,6 +130,18 @@
              <layout class="QHBoxLayout" name="horizontalLayout_4">
               <item>
                <widget class="QLabel" name="iconLabelAvailable">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>110</width>
+                  <height>0</height>
+                 </size>
+                </property>
                 <property name="text">
                  <string/>
                 </property>
@@ -156,7 +168,7 @@
                  <string notr="true">0.000 000 00 BTC</string>
                 </property>
                 <property name="alignment">
-                 <set>Qt::AlignCenter</set>
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
                 </property>
                 <property name="textInteractionFlags">
                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
@@ -185,29 +197,46 @@
              </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelWatchAvailable">
-              <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 in watch-only addresses</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_8">
+              <item>
+               <widget class="QLabel" name="labelBalanceUSD">
+                <property name="text">
+                 <string>$ 0.00 USD</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>usdLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelWatchAvailable">
+                <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 in watch-only addresses</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
             <item>
              <widget class="QLabel" name="labelPendingText">
@@ -248,6 +277,12 @@
              <layout class="QHBoxLayout" name="horizontalLayout_6">
               <item>
                <widget class="QLabel" name="iconLabelPending">
+                <property name="minimumSize">
+                 <size>
+                  <width>110</width>
+                  <height>0</height>
+                 </size>
+                </property>
                 <property name="text">
                  <string/>
                 </property>
@@ -274,7 +309,7 @@
                  <string notr="true">0.000 000 00 BTC</string>
                 </property>
                 <property name="alignment">
-                 <set>Qt::AlignCenter</set>
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
                 </property>
                 <property name="textInteractionFlags">
                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
@@ -303,100 +338,137 @@
              </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelWatchPending">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="toolTip">
-               <string>Unconfirmed transactions to watch-only addresses</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelImmatureText">
-              <property name="font">
-               <font>
-                <pointsize>18</pointsize>
-               </font>
-              </property>
-              <property name="text">
-               <string>Immature</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_9">
+              <item>
+               <widget class="QLabel" name="labelUnconfirmedUSD">
+                <property name="text">
+                 <string>$ 0.00 USD</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>usdLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelWatchPending">
+                <property name="font">
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="cursor">
+                 <cursorShape>IBeamCursor</cursorShape>
+                </property>
+                <property name="toolTip">
+                 <string>Unconfirmed transactions to watch-only addresses</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelImmature">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="toolTip">
-               <string>Mined balance that has not yet matured</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_11">
+              <item>
+               <widget class="QLabel" name="labelImmatureText">
+                <property name="font">
+                 <font>
+                  <pointsize>18</pointsize>
+                 </font>
+                </property>
+                <property name="text">
+                 <string>Immature</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelWatchImmature">
+                <property name="font">
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="cursor">
+                 <cursorShape>IBeamCursor</cursorShape>
+                </property>
+                <property name="toolTip">
+                 <string>Mined balance in watch-only addresses that has not yet matured</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelImmature">
+                <property name="font">
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="cursor">
+                 <cursorShape>IBeamCursor</cursorShape>
+                </property>
+                <property name="toolTip">
+                 <string>Mined balance that has not yet matured</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelWatchImmature">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="toolTip">
-               <string>Mined balance in watch-only addresses that has not yet matured</string>
+             <spacer name="verticalSpacer">
+              <property name="orientation">
+               <enum>Qt::Vertical</enum>
               </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
+              <property name="sizeType">
+               <enum>QSizePolicy::Expanding</enum>
               </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>40</height>
+               </size>
               </property>
-             </widget>
+             </spacer>
             </item>
             <item>
              <widget class="QLabel" name="labelTotalText">
@@ -420,6 +492,12 @@
              <layout class="QHBoxLayout" name="horizontalLayout_7">
               <item>
                <widget class="QLabel" name="iconLabelTotal">
+                <property name="minimumSize">
+                 <size>
+                  <width>110</width>
+                  <height>0</height>
+                 </size>
+                </property>
                 <property name="text">
                  <string/>
                 </property>
@@ -446,7 +524,7 @@
                  <string notr="true">0.000 000 00 BTC</string>
                 </property>
                 <property name="alignment">
-                 <set>Qt::AlignCenter</set>
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
                 </property>
                 <property name="textInteractionFlags">
                  <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
@@ -475,29 +553,46 @@
              </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelWatchTotal">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="toolTip">
-               <string>Current total balance in watch-only addresses</string>
-              </property>
-              <property name="text">
-               <string notr="true">0.000 000 00 BTC</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_10">
+              <item>
+               <widget class="QLabel" name="labelTotalUSD">
+                <property name="text">
+                 <string>$ 0.00 USD</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>usdLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelWatchTotal">
+                <property name="font">
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="cursor">
+                 <cursorShape>IBeamCursor</cursorShape>
+                </property>
+                <property name="toolTip">
+                 <string>Current total balance in watch-only addresses</string>
+                </property>
+                <property name="text">
+                 <string notr="true">0.000 000 00 BTC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
            </layout>
           </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 5cf77c856970..8e8c8bbf03c8 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -46,18 +46,19 @@ background-color: rgb(10,10,10) !important;
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
     font-family: 'Montserrat', sans-serif;
-    font-size: 15px;
+    font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
     color:rgb(243,232,56);
     font-family: 'Montserrat', sans-serif;
-    font-size: 15em;/*20px*/
-    font-weight: bold;
+    font-size: 30px;/*20px*/
+    font-weight: 100;
 }
 QLabel[class="usdLabel"]{
     color:rgb(255,255,255);
     font-family: 'Montserrat', sans-serif;
-    font-size: 15em;
+    font-size: 20px;
+    font-weight: 100;
 }
 
 

From 0b826356bce706bfa307bc041ebbc81b86dc0282 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 10:01:49 -0600
Subject: [PATCH 018/225] Private view layout and some style

---
 src/qt/forms/privatepage.ui | 540 ++++++++++++++++++++++++------------
 src/qt/res/css/pac.css      |  16 ++
 2 files changed, 380 insertions(+), 176 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index dcfa92b770e9..9660e806b014 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -43,7 +43,20 @@
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout" stretch="1">
+    <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0">
+     <item>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>140</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
      <item>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
@@ -59,20 +72,7 @@
          </property>
          <layout class="QVBoxLayout" name="VerticalLayout_PS1">
           <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_5">
-            <item>
-             <widget class="QLabel" name="labelPrivateSendHeader">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string>PrivatePAC</string>
-              </property>
-             </widget>
-            </item>
+           <layout class="QVBoxLayout" name="verticalLayout_3">
             <item>
              <widget class="QLabel" name="labelPrivateSendSyncStatus">
               <property name="toolTip">
@@ -90,221 +90,409 @@
              </widget>
             </item>
             <item>
-             <spacer name="horizontalSpacer_4">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
+             <widget class="QLabel" name="labelPrivateSendHeader">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+                <weight>50</weight>
+                <bold>false</bold>
+               </font>
               </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
+              <property name="text">
+               <string>PRIVATE</string>
               </property>
-             </spacer>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
+             </widget>
             </item>
            </layout>
           </item>
           <item>
-           <layout class="QFormLayout" name="privateSendFormLayout">
-            <property name="fieldGrowthPolicy">
-             <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-            </property>
-            <property name="horizontalSpacing">
-             <number>11</number>
+           <spacer name="verticalSpacer_2">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
             </property>
-            <property name="verticalSpacing">
-             <number>12</number>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>40</height>
+             </size>
             </property>
-            <item row="0" column="0">
-             <widget class="QLabel" name="labelPrivateSendEnabledText">
-              <property name="text">
-               <string>Status:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLabel" name="labelPrivateSendEnabled">
-              <property name="text">
-               <string>Enabled/Disabled</string>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="0">
-             <widget class="QLabel" name="labelCompletitionText">
-              <property name="text">
-               <string>Completion:</string>
+           </spacer>
+          </item>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout_2">
+            <item>
+             <spacer name="horizontalSpacer_5">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QProgressBar" name="privateSendProgress">
-              <property name="maximumSize">
+              <property name="sizeHint" stdset="0">
                <size>
-                <width>154</width>
-                <height>16777215</height>
+                <width>40</width>
+                <height>20</height>
                </size>
               </property>
-              <property name="value">
-               <number>0</number>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="0">
-             <widget class="QLabel" name="labelAnonymizedText">
-              <property name="text">
-               <string>PrivateSend Balance:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="1">
-             <widget class="QLabel" name="labelAnonymized">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string notr="true">0 $PAC</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="0">
-             <widget class="QLabel" name="labelAmountAndRoundsText">
-              <property name="text">
-               <string>Amount and Rounds:</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="1">
-             <widget class="QLabel" name="labelAmountRounds">
-              <property name="text">
-               <string>0 $PAC / 0 Rounds</string>
-              </property>
-             </widget>
+             </spacer>
             </item>
-            <item row="4" column="0">
-             <widget class="QLabel" name="labelSubmittedDenomText">
-              <property name="text">
-               <string>Submitted Denom:</string>
-              </property>
-             </widget>
+            <item>
+             <layout class="QVBoxLayout" name="verticalLayout">
+              <item>
+               <widget class="QLabel" name="labelAnonymizedText">
+                <property name="text">
+                 <string>PrivateSend Balance:</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelAnonymized">
+                <property name="font">
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text">
+                 <string notr="true">0 $PAC</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="verticalSpacer_4">
+                <property name="orientation">
+                 <enum>Qt::Vertical</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Preferred</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>20</width>
+                  <height>40</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelAmountAndRoundsText">
+                <property name="text">
+                 <string>Amount and Rounds:</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelAmountRounds">
+                <property name="text">
+                 <string>0 $PAC / 0 Rounds</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="verticalSpacer_5">
+                <property name="orientation">
+                 <enum>Qt::Vertical</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Preferred</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>20</width>
+                  <height>40</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelPrivateSendEnabledText">
+                <property name="text">
+                 <string>Status:</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelPrivateSendEnabled">
+                <property name="text">
+                 <string>Enabled/Disabled</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>pacCoinsLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <layout class="QHBoxLayout" name="horizontalLayout_4">
+                <item>
+                 <widget class="QLabel" name="labelCompletitionText">
+                  <property name="text">
+                   <string>Completion:</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QProgressBar" name="privateSendProgress">
+                  <property name="maximumSize">
+                   <size>
+                    <width>154</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
+                  <property name="value">
+                   <number>0</number>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <layout class="QHBoxLayout" name="horizontalLayout_6">
+                <item>
+                 <widget class="QLabel" name="labelSubmittedDenomText">
+                  <property name="text">
+                   <string>Submitted Denom:</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="labelSubmittedDenom">
+                  <property name="toolTip">
+                   <string>The denominations you submitted to the Masternode.&lt;br&gt;To mix, other users must submit the exact same denominations.</string>
+                  </property>
+                  <property name="text">
+                   <string>n/a</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+             </layout>
             </item>
-            <item row="4" column="1">
-             <widget class="QLabel" name="labelSubmittedDenom">
-              <property name="toolTip">
-               <string>The denominations you submitted to the Masternode.&lt;br&gt;To mix, other users must submit the exact same denominations.</string>
+            <item>
+             <spacer name="horizontalSpacer_3">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-              <property name="text">
-               <string>n/a</string>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
               </property>
-             </widget>
+             </spacer>
             </item>
            </layout>
           </item>
           <item>
-           <layout class="QVBoxLayout" name="VerticalLayout_PS">
+           <spacer name="verticalSpacer_3">
+            <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>
+           <layout class="QHBoxLayout" name="horizontalLayout_7">
             <item>
-             <widget class="QLabel" name="labelPrivateSendLastMessage">
-              <property name="text">
-               <string>(Last Message)</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-              </property>
-              <property name="wordWrap">
-               <bool>true</bool>
+             <spacer name="horizontalSpacer_6">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="togglePrivateSend">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
               </property>
-              <property name="text">
-               <string>Start/Stop Mixing</string>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>100</width>
+                <height>20</height>
+               </size>
               </property>
-             </widget>
+             </spacer>
             </item>
             <item>
-             <layout class="QHBoxLayout" name="horizontalLayout_debugbuttons">
+             <layout class="QVBoxLayout" name="VerticalLayout_PS">
               <item>
-               <widget class="QPushButton" name="privateSendAuto">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
+               <widget class="QLabel" name="labelPrivateSendLastMessage">
+                <property name="text">
+                 <string>(Last Message)</string>
                 </property>
-                <property name="toolTip">
-                 <string>Try to manually submit a PrivateSend request.</string>
+                <property name="alignment">
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
                 </property>
-                <property name="text">
-                 <string>Try Mix</string>
+                <property name="wordWrap">
+                 <bool>true</bool>
                 </property>
                </widget>
               </item>
               <item>
-               <widget class="QPushButton" name="privateSendReset">
+               <widget class="QPushButton" name="togglePrivateSend">
                 <property name="sizePolicy">
                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
                   <horstretch>0</horstretch>
                   <verstretch>0</verstretch>
                  </sizepolicy>
                 </property>
-                <property name="toolTip">
-                 <string>Reset the current status of PrivateSend (can interrupt PrivateSend if it's in the process of Mixing, which can cost you money!)</string>
-                </property>
-                <property name="autoFillBackground">
-                 <bool>false</bool>
-                </property>
                 <property name="text">
-                 <string>Reset</string>
+                 <string>Start/Stop Mixing</string>
                 </property>
                </widget>
               </item>
               <item>
-               <widget class="QPushButton" name="privateSendInfo">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="toolTip">
-                 <string>Information about PrivateSend and Mixing</string>
-                </property>
-                <property name="text">
-                 <string>Info</string>
-                </property>
-               </widget>
+               <layout class="QHBoxLayout" name="horizontalLayout_debugbuttons">
+                <item>
+                 <widget class="QPushButton" name="privateSendAuto">
+                  <property name="sizePolicy">
+                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                   </sizepolicy>
+                  </property>
+                  <property name="toolTip">
+                   <string>Try to manually submit a PrivateSend request.</string>
+                  </property>
+                  <property name="text">
+                   <string>Try Mix</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QPushButton" name="privateSendReset">
+                  <property name="sizePolicy">
+                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                   </sizepolicy>
+                  </property>
+                  <property name="toolTip">
+                   <string>Reset the current status of PrivateSend (can interrupt PrivateSend if it's in the process of Mixing, which can cost you money!)</string>
+                  </property>
+                  <property name="autoFillBackground">
+                   <bool>false</bool>
+                  </property>
+                  <property name="text">
+                   <string>Reset</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QPushButton" name="privateSendInfo">
+                  <property name="sizePolicy">
+                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                   </sizepolicy>
+                  </property>
+                  <property name="toolTip">
+                   <string>Information about PrivateSend and Mixing</string>
+                  </property>
+                  <property name="text">
+                   <string>Info</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
               </item>
              </layout>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_4">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>100</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </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>
        </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>
      </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>140</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
     </layout>
    </item>
   </layout>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 8e8c8bbf03c8..2e805bd8afe3 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -236,3 +236,19 @@ QRadioButton {
      background-color:rgba(0,0,0,0) !important;
  }
 
+/*
+ * Private Page
+ */
+#framePrivateSend{
+    background-color: rgba(50,50,50,0.6);
+    border: 0px !important;
+}
+#labelPrivateSendHeader{
+    font-size: 25px;
+}
+#labelAnonymized{
+    font-size: 30px;
+}
+#labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
+    font-weight: 100;
+}

From 047e30a49e3218cd3019b816e9e7b29109619168 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 10:12:46 -0600
Subject: [PATCH 019/225] Header section for socket message ui, testing

Still testing ui
overview css class implemented
---
 src/qt/bitcoingui.cpp        | 32 ++++++++++++++++++++++++++++++--
 src/qt/forms/overviewpage.ui |  6 ++++++
 src/qt/res/css/pac.css       | 16 ++++++++++++----
 src/qt/walletview.cpp        |  8 ++++----
 4 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 1c115293b10e..78b695f00471 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -619,9 +619,37 @@ void BitcoinGUI::createToolBars()
         /** Create additional container for toolbar and walletFrame and make it the central widget.
             This is a workaround mostly for toolbar styling on Mac OS but should work fine for every other OSes too.
         */
+        QFrame *headerFrame = new QFrame;
+        headerFrame->setFixedHeight(100);
+        headerFrame->setStyleSheet("    background-color: rgba(50,50,50,0.6); border: 0px !important;");
+
+        QWidget* img = new QWidget();
+        img->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        img->setObjectName("test");
+
+        QLabel *message = new QLabel(this);
+        message->setText("Socket Message will be displayed here.");
+        message->setAlignment(Qt::AlignCenter);
+        message->setStyleSheet("color:red;");
+        message->setStyleSheet("color:white; font-size:30px;");
+
+        QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
+        headerFrameLayout->setContentsMargins(0,0,0,0);
+        headerFrameLayout->setContentsMargins(0,0,0,0);
+        headerFrameLayout->addWidget(message);
+        headerFrameLayout->addWidget(img);
+        headerFrame->setLayout(headerFrameLayout);
+
+        QVBoxLayout *verticalLayout = new QVBoxLayout;
+        verticalLayout->addWidget(headerFrame);
+        verticalLayout->addWidget(walletFrame);
+        verticalLayout->setSpacing(0);
+        verticalLayout->setContentsMargins(QMargins());
+
+        QWidget* container = new QWidget();
+        container->setLayout(verticalLayout);
         QHBoxLayout *layout = new QHBoxLayout;
-        layout->addWidget(toolbar);
-        layout->addWidget(walletFrame);
+        layout->addWidget(container);
         layout->setSpacing(0);
         layout->setContentsMargins(QMargins());
         QWidget *containerWidget = new QWidget();
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 76db9e9959ff..b036675b42cb 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -74,6 +74,9 @@
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
+         <property name="class" stdset="0">
+          <string>container</string>
+         </property>
          <layout class="QVBoxLayout" name="verticalLayout_4">
           <item>
            <widget class="QLabel" name="labelWalletStatus">
@@ -614,6 +617,9 @@
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
+         <property name="class" stdset="0">
+          <string>container</string>
+         </property>
          <layout class="QVBoxLayout" name="verticalLayout">
           <item>
            <widget class="QLabel" name="labelTransactionsStatus">
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 2e805bd8afe3..9da31117776c 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -17,6 +17,10 @@ background-color:rgb(30,30,30);
 QStatusBar{
 background-color: rgb(10,10,10) !important;
 }
+[class="container"]{
+    background-color: rgba(50,50,50,0.6);
+    border: 0px !important;
+}
 /* Global text inputs */
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
     border: 0px;
@@ -139,6 +143,14 @@ QToolBar > QToolButton:checked {
     margin: 12px !important;
     border-image: url(:/icons/bitcoin);
 }
+#test{
+    background: green !important;
+}
+#toptoolBar{
+    background: cyan;
+    width:1000px;
+    height:100px;
+}
 
 /* Global Button styles*/
 QPushButton {
@@ -211,10 +223,6 @@ QRadioButton {
 /*
  * Overview Page
 */
-#frame_RecentTransactions, #frame_Balances, [class="container"]{
-    background-color: rgba(50,50,50,0.6);
-    border: 0px !important;
-}
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 347a69ab9760..87d4dcea2a89 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -77,10 +77,10 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     usedSendingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
     usedReceivingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
 
-    overviewPage->setContentsMargins(50,50,50,50);
-    transactionsPage->setContentsMargins(50,50,50,50);
-    receiveCoinsPage->setContentsMargins(50,50,50,50);
-    sendCoinsPage->setContentsMargins(50,50,50,50);
+    overviewPage->setContentsMargins(50,10,50,10);
+    transactionsPage->setContentsMargins(50,10,50,10);
+    receiveCoinsPage->setContentsMargins(50,10,50,10);
+    sendCoinsPage->setContentsMargins(50,10,50,10);
 
     addWidget(overviewPage);
     addWidget(transactionsPage);

From da64fb7ee2d26bb83b4f333f18b1f9da2c8ff0b4 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 10:21:41 -0600
Subject: [PATCH 020/225] Info icon on Private and Overview

---
 src/qt/forms/overviewpage.ui | 29 ++++++++++++++++++++
 src/qt/forms/privatepage.ui  | 51 ++++++++++++++++++++++++++----------
 src/qt/overviewpage.cpp      |  1 +
 src/qt/privatepage.cpp       |  1 +
 4 files changed, 68 insertions(+), 14 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index b036675b42cb..da5ca52bf6fc 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -557,6 +557,22 @@
             </item>
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_10">
+              <item>
+                <spacer name="horizontalSpacer_4">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Fixed</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>50</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
               <item>
                <widget class="QLabel" name="labelTotalUSD">
                 <property name="text">
@@ -595,6 +611,19 @@
                 </property>
                </widget>
               </item>
+              <item>
+               <widget class="QLabel" name="iconLabelOverviewInfo">
+                <property name="maximumSize">
+                 <size>
+                  <width>50</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string/>
+                </property>
+               </widget>
+              </item>
              </layout>
             </item>
            </layout>
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 9660e806b014..9c9d16b6000a 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -74,20 +74,43 @@
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_3">
             <item>
-             <widget class="QLabel" name="labelPrivateSendSyncStatus">
-              <property name="toolTip">
-               <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">QLabel { color: transparent; }</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>
+                          <layout class="QHBoxLayout" name="horizontalLayout_5">
+              <item>
+               <widget class="QLabel" name="labelPrivateSendSyncStatus">
+                <property name="toolTip">
+                 <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
+                </property>
+                <property name="styleSheet">
+                 <string notr="true">QLabel { color: transparent; }</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>
+               <widget class="QLabel" name="iconLabelPrivateInfo">
+                <property name="minimumSize">
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>35</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string/>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
             <item>
              <widget class="QLabel" name="labelPrivateSendHeader">
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 45d3a84ca1f1..eeec89feb3cc 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -199,6 +199,7 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->iconLabelTotal->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance, false, BitcoinUnits::separatorAlways));
     ui->labelUnconfirmed->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
+    ui->iconLabelOverviewInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, immatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance + unconfirmedBalance + immatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchAvailable->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 10547651827e..b56bbe8e2ad5 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -115,6 +115,7 @@ void PrivatePage::setBalance(const CAmount& balance, const CAmount& unconfirmedB
     currentWatchOnlyBalance = watchOnlyBalance;
     currentWatchUnconfBalance = watchUnconfBalance;
     currentWatchImmatureBalance = watchImmatureBalance;
+    ui->iconLabelPrivateInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
 
     // for symmetry reasons also show immature label when the watch-only one is shown

From 32eca95d613130c81f83465801e8cb3743465a5d Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 10:23:52 -0600
Subject: [PATCH 021/225] Combo box style

---
 src/qt/res/css/pac.css | 63 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 9da31117776c..19b7aa1afee1 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -84,6 +84,69 @@ QPlainTextEdit {
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
 }
+/* Dropdown Menus */
+QComboBox {
+    border-radius: 20px;
+    background-color: rgb(20, 20, 20);
+    font-family: 'Montserrat', sans-serif;
+    font-size: 15px;
+    text-align: center;
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    min-height:40px;
+    color:#fff;
+}
+
+QComboBox:checked {
+    background-color: rgba(219, 219, 219,0.5);
+}
+
+QComboBox:editable {
+    background-color: rgba(219, 219, 219,0.5);
+    color:#616161;
+    border:0px;
+}
+
+QComboBox::drop-down {
+    width:25px;
+    border:0px;
+}
+
+QComboBox::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+
+QComboBox QListView {
+    background-color:  rgb(20, 20, 20);
+    border:1px solid transparent;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+
+QComboBox QAbstractItemView::item { margin:4px; }
+
+QComboBox::item {
+    color:#fff;
+}
+
+QComboBox::item:alternate {
+    background:rgb(20, 20, 20);
+}
+
+QComboBox::item:selected {
+    border:0px solid transparent;
+    background-color:  rgb(40, 40, 40);
+}
+
+QComboBox::indicator {
+    background-color:transparent;
+    selection-background-color:transparent;
+    color:transparent;
+    selection-color:transparent;
+}
+
+
 /*textbox with more and less button*/
 QDoubleSpinBox {
     background: rgb(0, 255, 0);

From 9815a9062bbcc2ba49ba409e90390b803696f70a Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 10:29:37 -0600
Subject: [PATCH 022/225] Styles of combo box and gitignore updated

Combo box not invading the tables, and disable mode
---
 .gitignore             |  5 +++++
 src/qt/res/css/pac.css | 34 +++++++++++++++++++---------------
 2 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/.gitignore b/.gitignore
index e3ab153fe5c0..22e46ade8c0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -142,3 +142,8 @@ paccoin-qt.creator.user
 paccoin-qt.files
 paccoin-qt.includes
 contrib/dash-qt.pro.user
+src/qt/paccoin-qt.config
+src/qt/paccoin-qt.file
+src/qt/paccoin-qt.includes
+src/qt/paccoin-qt.creator
+src/qt/paccoin-qt.creator.user
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 19b7aa1afee1..dde9ee7483a8 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -64,8 +64,6 @@ QLabel[class="usdLabel"]{
     font-size: 20px;
     font-weight: 100;
 }
-
-
 /* text input
 QTextEdit {
     background: rgb(10, 10, 10);
@@ -77,15 +75,14 @@ QTextEdit {
     font-size: 20px;
 }
 /*textarea*/
-
 QPlainTextEdit {
     background: rgb(255, 255, 255);
     color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
 }
-/* Dropdown Menus */
-QComboBox {
+/* Dropdown Menus  not for the tables */
+QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox {
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
@@ -97,26 +94,31 @@ QComboBox {
     color:#fff;
 }
 
-QComboBox:checked {
+QDialog#SendCoinsDialog QComboBox:disabled, QDialog#ReceiveCoinsDialog QComboBox:disabled{
+    background-color: rgb(61,61,61);
+    color: #efefef;
+}
+
+QDialog#SendCoinsDialog QComboBox:checked, QDialog#ReceiveCoinsDialog QComboBox:checked{
     background-color: rgba(219, 219, 219,0.5);
 }
 
-QComboBox:editable {
+QDialog#SendCoinsDialog QComboBox:editable, QDialog#ReceiveCoinsDialog QComboBox:editable {
     background-color: rgba(219, 219, 219,0.5);
     color:#616161;
     border:0px;
 }
 
-QComboBox::drop-down {
+QDialog#SendCoinsDialog QComboBox::drop-down, QDialog#ReceiveCoinsDialog QComboBox::drop-down {
     width:25px;
     border:0px;
 }
 
-QComboBox::down-arrow {
+QDialog#SendCoinsDialog QComboBox::down-arrow, QDialog#ReceiveCoinsDialog QComboBox::down-arrow {
     border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
 
-QComboBox QListView {
+QDialog#SendCoinsDialog QComboBox QListView, QDialog#ReceiveCoinsDialog QComboBox QListView {
     background-color:  rgb(20, 20, 20);
     border:1px solid transparent;
     border-radius: 5px;
@@ -124,22 +126,24 @@ QComboBox QListView {
     padding-left:1px;
 }
 
-QComboBox QAbstractItemView::item { margin:4px; }
+QDialog#SendCoinsDialog QComboBox QAbstractItemView::item, QDialog#ReceiveCoinsDialog QComboBox QAbstractItemView::item {
+    margin:4px;
+}
 
-QComboBox::item {
+QDialog#SendCoinsDialog QComboBox::item, QDialog#ReceiveCoinsDialog QComboBox::item {
     color:#fff;
 }
 
-QComboBox::item:alternate {
+QDialog#SendCoinsDialog QComboBox::item:alternate, QDialog#ReceiveCoinsDialog QComboBox::item:alternate {
     background:rgb(20, 20, 20);
 }
 
-QComboBox::item:selected {
+QDialog#SendCoinsDialog QComboBox::item:selected, QDialog#ReceiveCoinsDialog QComboBox::item:selected {
     border:0px solid transparent;
     background-color:  rgb(40, 40, 40);
 }
 
-QComboBox::indicator {
+QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboBox::indicator {
     background-color:transparent;
     selection-background-color:transparent;
     color:transparent;

From 151dd6edb4fcdb08aac4dcd8e27ce254ab13ccc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 10:51:54 -0600
Subject: [PATCH 023/225] Header bar for socket message and testing ui for
 button

---
 src/qt/bitcoingui.cpp   | 57 ++++++++++++++++++++++++++---------------
 src/qt/bitcoingui.h     |  5 +++-
 src/qt/overviewpage.cpp |  2 +-
 src/qt/res/css/pac.css  |  7 ++---
 src/qt/walletview.cpp   |  8 +++---
 5 files changed, 50 insertions(+), 29 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 78b695f00471..d02d95cd8cdf 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -56,6 +56,8 @@
 #include <QToolBar>
 #include <QVBoxLayout>
 #include <QDebug>
+#include <QRegion>
+#include <QPushButton>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -619,26 +621,7 @@ void BitcoinGUI::createToolBars()
         /** Create additional container for toolbar and walletFrame and make it the central widget.
             This is a workaround mostly for toolbar styling on Mac OS but should work fine for every other OSes too.
         */
-        QFrame *headerFrame = new QFrame;
-        headerFrame->setFixedHeight(100);
-        headerFrame->setStyleSheet("    background-color: rgba(50,50,50,0.6); border: 0px !important;");
-
-        QWidget* img = new QWidget();
-        img->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-        img->setObjectName("test");
-
-        QLabel *message = new QLabel(this);
-        message->setText("Socket Message will be displayed here.");
-        message->setAlignment(Qt::AlignCenter);
-        message->setStyleSheet("color:red;");
-        message->setStyleSheet("color:white; font-size:30px;");
-
-        QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
-        headerFrameLayout->setContentsMargins(0,0,0,0);
-        headerFrameLayout->setContentsMargins(0,0,0,0);
-        headerFrameLayout->addWidget(message);
-        headerFrameLayout->addWidget(img);
-        headerFrame->setLayout(headerFrameLayout);
+        createHeaderBar();
 
         QVBoxLayout *verticalLayout = new QVBoxLayout;
         verticalLayout->addWidget(headerFrame);
@@ -659,6 +642,40 @@ void BitcoinGUI::createToolBars()
     }
 #endif // ENABLE_WALLET
 }
+void BitcoinGUI::createHeaderBar()
+{
+    headerFrame = new QFrame;
+    headerFrame->setFixedHeight(100);
+    headerFrame->setObjectName("headerFrameLayout");
+    headerFrame->setStyleSheet("QFrame {background: rgba(50,50,50,0.6);} #headerFrameLayout{background:transparent !important;}");
+    headerFrame->setContentsMargins(40,20,40,0);
+
+
+    QPushButton* btnChangeImage = new QPushButton();
+    btnChangeImage->setText("Test Text");
+    btnChangeImage->setFixedHeight(50);
+    btnChangeImage->setFixedWidth(50);
+    QRect rect(0,0,48,48);
+    QRegion region(rect, QRegion::Ellipse);
+    btnChangeImage->setMask(region);
+
+    QWidget* img = new QWidget();
+    img->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    img->setStyleSheet("QWidget { background-color: yellow !important; width:100px !important;  height:100px !important;}");
+
+    QLabel *message = new QLabel(this);
+    message->setText("Socket Message will be displayed here.");
+    message->setAlignment(Qt::AlignCenter);
+    message->setStyleSheet("QLabel { color:white; font-size:25px;}");
+
+    QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
+    headerFrameLayout->setContentsMargins(0,0,0,0);
+    headerFrameLayout->setContentsMargins(0,0,0,0);
+    headerFrameLayout->addWidget(message);
+    headerFrameLayout->addWidget(img);
+    headerFrameLayout->addWidget(btnChangeImage);
+    headerFrame->setLayout(headerFrameLayout);
+}
 
 void BitcoinGUI::setClientModel(ClientModel *clientModel)
 {
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 23f75f8dc1cc..53a046171677 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -138,6 +138,8 @@ class BitcoinGUI : public QMainWindow
     HelpMessageDialog *helpMessageDialog;
     ModalOverlay *modalOverlay;
 
+    QFrame *headerFrame;
+
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
     int spinnerFrame;
@@ -154,7 +156,8 @@ class BitcoinGUI : public QMainWindow
     void createTrayIcon(const NetworkStyle *networkStyle);
     /** Create system tray menu (or setup the dock menu) */
     void createIconMenu(QMenu *pmenu);
-
+    /** Create the top header bar where the message and profile picture will be located*/
+    void createHeaderBar();
     /** Enable or disable all wallet-related actions */
     void setWalletActionsEnabled(bool enabled);
 
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index eeec89feb3cc..ce65ba9d78ec 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -165,7 +165,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     // that's it for litemode
     if(fLiteMode) return;
     
-    WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
+    //WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index dde9ee7483a8..a1ac7098340f 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -211,7 +211,8 @@ QToolBar > QToolButton:checked {
     border-image: url(:/icons/bitcoin);
 }
 #test{
-    background: green !important;
+    background-color: rgba(255,0,0,0.6);
+    border:1px green !important;
 }
 #toptoolBar{
     background: cyan;
@@ -296,10 +297,10 @@ QRadioButton {
 /*
  * SendCoins Page
  */
- #SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
+ /*#SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
      background:red !important;
      border: 0px !important;
- }
+ }*/
  #frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
      border: 0px !important;
  }
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 87d4dcea2a89..5e2a7b7427bb 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -77,10 +77,10 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     usedSendingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
     usedReceivingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
 
-    overviewPage->setContentsMargins(50,10,50,10);
-    transactionsPage->setContentsMargins(50,10,50,10);
-    receiveCoinsPage->setContentsMargins(50,10,50,10);
-    sendCoinsPage->setContentsMargins(50,10,50,10);
+    overviewPage->setContentsMargins(30,10,30,10);
+    transactionsPage->setContentsMargins(30,10,30,10);
+    receiveCoinsPage->setContentsMargins(30,10,30,10);
+    sendCoinsPage->setContentsMargins(30,10,30,10);
 
     addWidget(overviewPage);
     addWidget(transactionsPage);

From d9a1afb15c9b2301f1eabb7a9758900143e3239b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 11:09:37 -0600
Subject: [PATCH 024/225] CSS header profile picture, still testing

---
 src/qt/bitcoingui.cpp  | 25 ++++++++++---------------
 src/qt/paccoin.qrc     |  4 ++++
 src/qt/res/css/pac.css | 12 ++++++++++--
 src/qt/walletview.cpp  |  8 ++++----
 4 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index d02d95cd8cdf..b1485d40837c 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -648,31 +648,26 @@ void BitcoinGUI::createHeaderBar()
     headerFrame->setFixedHeight(100);
     headerFrame->setObjectName("headerFrameLayout");
     headerFrame->setStyleSheet("QFrame {background: rgba(50,50,50,0.6);} #headerFrameLayout{background:transparent !important;}");
-    headerFrame->setContentsMargins(40,20,40,0);
+    headerFrame->setContentsMargins(40,20,40,10);
 
 
     QPushButton* btnChangeImage = new QPushButton();
-    btnChangeImage->setText("Test Text");
-    btnChangeImage->setFixedHeight(50);
-    btnChangeImage->setFixedWidth(50);
-    QRect rect(0,0,48,48);
+    btnChangeImage->setObjectName("btnChangeImage");
+    btnChangeImage->setFixedHeight(80);
+    btnChangeImage->setFixedWidth(80);
+    QRect rect(0,0,80,80);
     QRegion region(rect, QRegion::Ellipse);
     btnChangeImage->setMask(region);
 
-    QWidget* img = new QWidget();
-    img->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-    img->setStyleSheet("QWidget { background-color: yellow !important; width:100px !important;  height:100px !important;}");
-
-    QLabel *message = new QLabel(this);
-    message->setText("Socket Message will be displayed here.");
-    message->setAlignment(Qt::AlignCenter);
-    message->setStyleSheet("QLabel { color:white; font-size:25px;}");
+    QLabel *messageLabel = new QLabel(this);
+    messageLabel->setText("Socket Message will be displayed here.");
+    messageLabel->setAlignment(Qt::AlignCenter);
+    messageLabel->setStyleSheet("QLabel { color:white; font-size:25px;}");
 
     QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
     headerFrameLayout->setContentsMargins(0,0,0,0);
     headerFrameLayout->setContentsMargins(0,0,0,0);
-    headerFrameLayout->addWidget(message);
-    headerFrameLayout->addWidget(img);
+    headerFrameLayout->addWidget(messageLabel);
     headerFrameLayout->addWidget(btnChangeImage);
     headerFrame->setLayout(headerFrameLayout);
 }
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 8b3ee021176f..78b2842517aa 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -3,6 +3,7 @@
         <file alias="bitcoin">res/icons/bitcoin.png</file>
         <file alias="prompticon">res/icons/chevron.png</file>
         <file alias="warning">res/icons/warning.png</file>
+        <file alias="bitcoin-32">res/icons/bitcoin-32.png</file>
     </qresource>
     <qresource prefix="/fonts">
     </qresource>
@@ -360,6 +361,9 @@
         <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.jpg</file>
         <file alias="splash">res/images/pac/splash.png</file>
         <file alias="splash_testnet">res/images/pac/splash_testnet.png</file>
+        <file alias="hover_profile">res/images/pac/hover_profile.png</file>
+        <file alias="profile_bkg">res/images/pac/profile_bkg.png</file>
+        <file alias="profile">res/images/pac/profile.jpg</file>
     </qresource>
     <qresource prefix="/images/trad">
         <file alias="about">res/images/trad/about.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index a1ac7098340f..c8b06c7711d0 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -11,12 +11,20 @@ QMainWindow{
 QMessageBox {
     background-color:rgb(20,20,20);
 }QDialog{
-background-color:rgb(30,30,30);
+    background-color:rgb(30,30,30);
 }
 /* Global Progress Bar styles */
 QStatusBar{
-background-color: rgb(10,10,10) !important;
+    background-color: rgb(10,10,10) !important;
 }
+#btnChangeImage{
+    border: 2px solid pink !important;
+    border-image: url(:/images/pac/profile) !important;
+}
+#btnChangeImage:hover {
+    border-image: url(:/images/pac/hover_profile) !important;
+}
+
 [class="container"]{
     background-color: rgba(50,50,50,0.6);
     border: 0px !important;
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 5e2a7b7427bb..fdd3dbd39fc3 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -77,10 +77,10 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     usedSendingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this);
     usedReceivingAddressesPage = new AddressBookPage(platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this);
 
-    overviewPage->setContentsMargins(30,10,30,10);
-    transactionsPage->setContentsMargins(30,10,30,10);
-    receiveCoinsPage->setContentsMargins(30,10,30,10);
-    sendCoinsPage->setContentsMargins(30,10,30,10);
+    overviewPage->setContentsMargins(30,0,30,10);
+    transactionsPage->setContentsMargins(30,0,30,10);
+    receiveCoinsPage->setContentsMargins(30,0,30,10);
+    sendCoinsPage->setContentsMargins(30,0,30,10);
 
     addWidget(overviewPage);
     addWidget(transactionsPage);

From 375c1868ca9557bbac32dc69283e5cc89de69bdc Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 11:16:47 -0600
Subject: [PATCH 025/225] SpinBox style and Table style

---
 src/qt/forms/receivecoinsdialog.ui |   2 +-
 src/qt/proposallist.cpp            |   2 +-
 src/qt/receivecoinsdialog.cpp      |   2 +-
 src/qt/res/css/pac.css             | 243 +++++++++++++++++++++++------
 src/qt/transactionview.cpp         |   2 +-
 5 files changed, 199 insertions(+), 52 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 0a68671985ce..363f6d55485d 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>1440</width>
-    <height>414</height>
+    <height>435</height>
    </rect>
   </property>
   <property name="styleSheet">
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index fc8de0232bf9..f5fb3418cd36 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -213,7 +213,7 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
 
     proposalList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     proposalList->setModel(proposalProxyModel);
-    proposalList->setAlternatingRowColors(true);
+    proposalList->setAlternatingRowColors(false);
     proposalList->setSelectionBehavior(QAbstractItemView::SelectRows);
     proposalList->setSortingEnabled(true);
     proposalList->sortByColumn(ProposalTableModel::StartDate, Qt::DescendingOrder);
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 21c57c376ffa..f5239d7ab0f9 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -82,7 +82,7 @@ void ReceiveCoinsDialog::setModel(WalletModel *model)
         tableView->verticalHeader()->hide();
         tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         tableView->setModel(model->getRecentRequestsTableModel());
-        tableView->setAlternatingRowColors(true);
+        tableView->setAlternatingRowColors(false);
         tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
         tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
         tableView->setColumnWidth(RecentRequestsTableModel::Date, DATE_COLUMN_WIDTH);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index a1ac7098340f..341fb650c0d2 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -10,12 +10,13 @@ QMainWindow{
 }
 QMessageBox {
     background-color:rgb(20,20,20);
-}QDialog{
-background-color:rgb(30,30,30);
+}
+QDialog{
+    background-color:rgb(30,30,30);
 }
 /* Global Progress Bar styles */
 QStatusBar{
-background-color: rgb(10,10,10) !important;
+    background-color: rgb(10,10,10) !important;
 }
 [class="container"]{
     background-color: rgba(50,50,50,0.6);
@@ -41,7 +42,6 @@ background-color: rgb(10,10,10) !important;
     background:blue !important;
     background-color:#f2f2f2;
 }
-
 [class="QuickButton"]{
     background-color: transparent;
     border: none;
@@ -64,6 +64,7 @@ QLabel[class="usdLabel"]{
     font-size: 20px;
     font-weight: 100;
 }
+
 /* text input
 QTextEdit {
     background: rgb(10, 10, 10);
@@ -73,16 +74,17 @@ QTextEdit {
     height: 120px !important;
     font-family: 'Montserrat', sans-serif;
     font-size: 20px;
-}
+}*/
+
 /*textarea*/
 QPlainTextEdit {
-    background: rgb(255, 255, 255);
+    background: rgb(255, 0, 0);
     color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
 }
 /* Dropdown Menus  not for the tables */
-QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox {
+QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
@@ -150,36 +152,181 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
     selection-color:transparent;
 }
 
-
-/*textbox with more and less button*/
-QDoubleSpinBox {
-    background: rgb(0, 255, 0);
-    color: rgb(20, 20, 20);
-    border: 0px solid rgb(61, 61, 61);
-    border-radius: 8px;
-    height: 35px !important;
+/* GLOBAL SPINBOX */
+QAbstractSpinBox {
+    border-radius: 20px;
+    background-color: rgb(20, 20, 20);
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
+    text-align: center;
+    border:0px;
+    min-height:40px;
+    color:#fff;
+    padding: 3px 5px 3px 5px;
+}
+
+QAbstractSpinBox::up-button {
+    subcontrol-origin: border;
+    subcontrol-position: top right;
+    width:21px;
+    background-color: transparent;
+    border:0px;
+    padding-right:1px;
+    padding-left:5px;
+    padding-top:2px;
+}
+
+QAbstractSpinBox::up-arrow {
+    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+}
+
+QAbstractSpinBox::down-button {
+    subcontrol-origin: border;
+    subcontrol-position: bottom right;
+    width:21px;
+    background-color: transparent;
+    border:0px;
+    padding-right:1px;
+    padding-left:5px;
+    padding-bottom:2px;
+}
+
+QAbstractSpinBox::down-arrow {
+    image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
+}
+/* GLOBAL TABLES*/
+QHeaderView { /* Top of the table Header */
+    background-color: rgba(224, 224, 224, 0.1);
+}
+
+QHeaderView::section { /* Top of the table Header Sections */
+    qproperty-alignment:center;
+    background-color: rgba(224, 224, 224, 0.1);
+    color:#fff;
+    min-height:25px;
+    font-weight:bold;
+    font-size:11px;
+    outline:0;
+    border:0px solid #fff;
+    padding-left:5px;
+    padding-right:5px;
+    padding-top:2px;
+    padding-bottom:2px;
+}
+
+QHeaderView::section:last {
+    /*border-right: 0px;*/
+}
+
+.QScrollArea {
+    background:transparent;
+    border:2px solid transparent;
+}
+
+.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+    background-color: rgba(224, 224, 224, 0.1);
+    /*alternate-background-color: yellow;*/
+    border:3px solid transparent;
+}
+
+QTableView::item { /* Table Item */
+    background-color: rgba(224, 224, 224, 0.1);
+    font-size:12px;
+}
+
+QTableView::item:selected { /* Table Item Selected */
+    background-color: rgb(255, 251, 158);
+    color:#000;
+}
+
+.QTableWidget{
+    background-color: rgba(224, 224, 224, 0.1); 
+}
+
+QScrollBar { /* Scroll Bar */
+
+}
+
+QScrollBar:vertical { /* Vertical Scroll Bar Attributes */
+    border:0;
+    background:#333333;
+    width:18px;
+    margin: 18px 0px 18px 0px;
+}
+
+QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */
+    border:0;
+    background:#333333;
+    height:18px;
+    margin: 0px 18px 0px 18px;
+}
+
+
+QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */
+    background:#999999;
+    min-height:10px;
+}
+
+QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */
+    background:#999999;
+    min-width:10px;
+}
+
+QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */
+    background:#3d3d3d;
+}
+
+QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */
+    background-color:#050505;
+    border: 1px solid #050505;
+    width:16px;
+    height:16px;
+}
+
+QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed {
+    background-color:#e0e004;
+}
+
+QScrollBar::sub-line:vertical { /* Vertical - top button position */
+    subcontrol-position:top;
+    subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:vertical { /* Vertical - bottom button position */
+    subcontrol-position:bottom;
+    subcontrol-origin: margin;
 }
-QDoubleSpinBox::up-button, QDoubleSpinBox::down-button {
-    width: 17px;
-    height: 17px;
-    border: 0px solid black;
+
+QScrollBar::sub-line:horizontal { /* Vertical - left button position */
+    subcontrol-position:left;
+    subcontrol-origin: margin;
 }
-QDoubleSpinBox::up-button {
-    /*image: url(:/icons/uparrow) !important;*/
-    border-top-left-radius:4px;
-    border-top-right-radius:4px;
+
+QScrollBar::add-line:horizontal { /* Vertical - right button position */
+    subcontrol-position:right;
+    subcontrol-origin: margin;
 }
-QDoubleSpinBox::down-button {
-    /*image: url(:/icons/downarrow) !important;*/
-    border-bottom-left-radius:4px;
-    border-bottom-right-radius:4px;
+
+QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */
+    width:10px;
+    height:10px;
 }
-QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover{
-    background-color:rgba(198,38,146,0.4);
+
+QScrollBar:up-arrow {
+    background-image: url(':/images/pac/drkblue_upArrow_small');
+}
+
+QScrollBar:down-arrow {
+    background-image: url(':/images/pac/drkblue_downArrow_small');
+}
+
+QScrollBar:left-arrow {
+    background-image: url(':/images/pac/drkblue_leftArrow_small');
 }
 
+QScrollBar:right-arrow {
+    background-image: url(':/images/pac/drkblue_rightArrow_small');
+}
 
 
 
@@ -220,6 +367,7 @@ QToolBar > QToolButton:checked {
     height:100px;
 }
 
+
 /* Global Button styles*/
 QPushButton {
     background: rgb(5,5,5);
@@ -241,8 +389,8 @@ QPushButton:hover, QPushButton:focus {
     color: rgb(5,5,5);
 }
 QPushButton:disabled {
-background: rgb(45,45,45);
-border: 1px solid rgb(263,242,76);
+    background: rgb(45,45,45);
+    border: 1px solid rgb(263,242,76);
 }
 QPushButton:pressed {
     background: rgba(243,232,56, 0.3) !important;
@@ -287,33 +435,32 @@ QCheckBox {
 QRadioButton {
     color: rgb(255, 255, 255);
 }
-
 /*
  * Overview Page
 */
+
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
 /*
  * SendCoins Page
  */
- /*#SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
-     background:red !important;
-     border: 0px !important;
- }*/
- #frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
-     border: 0px !important;
- }
- #frameCoinControl{
-     background: rgba(255,255,255,0.3);
-     border-radius: 8px !important;
- }
- #scrollArea, #scrollAreaWidgetContents{
-     background-color:rgba(0,0,0,0) !important;
- }
-
+/*#SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
+    background:red !important;
+    border: 0px !important;
+}*/
+#frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
+    border: 0px !important;
+}
+#frameCoinControl{
+    background: rgba(255,255,255,0.3);
+    border-radius: 8px !important;
+}
+#scrollArea, #scrollAreaWidgetContents{
+    background-color:rgba(0,0,0,0) !important;
+}
 /*
- * Private Page
+ * SendCoins Page
  */
 #framePrivateSend{
     background-color: rgba(50,50,50,0.6);
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 61a4d4c97c44..48e87cfcb341 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -215,7 +215,7 @@ void TransactionView::setModel(WalletModel *model)
 
         transactionView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         transactionView->setModel(transactionProxyModel);
-        transactionView->setAlternatingRowColors(true);
+        transactionView->setAlternatingRowColors(false);
         transactionView->setSelectionBehavior(QAbstractItemView::SelectRows);
         transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection);
         transactionView->setSortingEnabled(true);

From 62c70c8b265e4c0cf25c20fe3d921d9149318fa3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 11:25:08 -0600
Subject: [PATCH 026/225] CSS recent transactions and dynamic text colors
 depending on theme

If pac theme is set the white color will be the default for text. other wise it will be a dark text
---
 src/qt/guiconstants.h   | 14 +++++++++++---
 src/qt/guiutil.cpp      | 22 ++++++++++++++++++++--
 src/qt/guiutil.h        |  6 ++++++
 src/qt/overviewpage.cpp | 26 +++++++++++++++++---------
 4 files changed, 54 insertions(+), 14 deletions(-)

diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
index ca635ace6c63..5d9281ce7678 100644
--- a/src/qt/guiconstants.h
+++ b/src/qt/guiconstants.h
@@ -1,7 +1,9 @@
 // Copyright (c) 2011-2015 The Bitcoin Core developers
 // Copyright (c) 2014-2017 The Dash Core developers
+// Copyright (c) 2014-2019 The PACCommunity developers
 // Distributed under the MIT software license, see the accompanying
 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#include <QColor>
 
 #ifndef BITCOIN_QT_GUICONSTANTS_H
 #define BITCOIN_QT_GUICONSTANTS_H
@@ -23,17 +25,23 @@ static const bool DEFAULT_SPLASHSCREEN = true;
 /* 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(223,31,56)
 /* Transaction list -- bare address (without label) */
 #define COLOR_BAREADDRESS QColor(140, 140, 140)
-/* Transaction list -- TX status decoration - open until date */
+/* Transaction list c TX status decoration - open until date */
 #define COLOR_TX_STATUS_OPENUNTILDATE QColor(64, 64, 255)
 /* Transaction list -- TX status decoration - offline */
 #define COLOR_TX_STATUS_OFFLINE QColor(192, 192, 192)
 /* Transaction list -- TX status decoration - danger, tx needs attention */
 #define COLOR_TX_STATUS_DANGER QColor(200, 100, 100)
+/* Transaction list -- TX status decoration - positive tansactions color */
+#define COLOR_POSITIVE QColor(46,222,95)
 /* Transaction list -- TX status decoration - default color */
-#define COLOR_BLACK QColor(0, 0, 0)
+#define COLOR_BLACK QColor(20,20,20)
+#define COLOR_WHITE QColor(255,255,255)
+
+extern QColor COLOR_TEXT = QColor(128,128,128);
+
 
 /* Tooltips longer than this (in characters) are converted into rich text,
    so that they can be word-wrapped.
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index a0caa991b05b..8e8d0d7461e5 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -17,6 +17,9 @@
 #include "script/script.h"
 #include "script/standard.h"
 #include "util.h"
+#include "guiconstants.h"
+#include <iostream>
+#include <string>
 
 #ifdef WIN32
 #ifdef _WIN32_WINNT
@@ -88,6 +91,14 @@ QString dateTimeStr(const QDateTime &date)
 {
     return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + date.toString("hh:mm");
 }
+QString timeStr(const QDateTime &date)
+{
+    return date.toString("hh:mm");
+}
+QString dateStr(const QDateTime &date)
+{
+    return date.date().toString(Qt::SystemLocaleShortDate);
+}
 
 QString dateTimeStr(qint64 nTime)
 {
@@ -909,6 +920,13 @@ QString getThemeName()
     }
     return QString("pac");
 }
+void setGUITextColor(){
+    QString theme = getThemeName();
+    if( theme.toStdString().compare("pac") == 0 )
+        COLOR_TEXT = QColor(255,255,255);
+    else
+        COLOR_TEXT = QColor(20,20,20);
+}
 
 // Open CSS when configured
 QString loadStyleSheet()
@@ -919,7 +937,7 @@ QString loadStyleSheet()
     QString theme = settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        cssName = QString(":/css/") + theme; 
+        cssName = QString(":/css/") + theme;
     }
     else {
         cssName = QString(":/css/pac");
@@ -930,7 +948,7 @@ QString loadStyleSheet()
     if (qFile.open(QFile::ReadOnly)) {
         styleSheet = QLatin1String(qFile.readAll());
     }
-        
+    setGUITextColor();
     return styleSheet;
 }
 
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index 1c600c1b2355..60110beabeb5 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -15,6 +15,7 @@
 #include <QString>
 #include <QTableView>
 #include <QLabel>
+#include <QColor>
 
 #include <boost/filesystem.hpp>
 
@@ -36,6 +37,8 @@ namespace GUIUtil
 {
     // Create human-readable string from date
     QString dateTimeStr(const QDateTime &datetime);
+    QString timeStr(const QDateTime &datetime);
+    QString dateStr(const QDateTime &datetime);
     QString dateTimeStr(qint64 nTime);
 
     // Return a monospace font
@@ -194,6 +197,9 @@ namespace GUIUtil
     /** Restore window size and position */
     void restoreWindowGeometry(const QString& strSetting, const QSize &defaultSizeIn, QWidget *parent);
 
+    /** Returns the current color for the body text according to the theme*/
+    void setGUITextColor();
+
     /** Load global CSS theme */
     QString loadStyleSheet();
 
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index ce65ba9d78ec..b0bcf1e4632b 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -58,6 +58,12 @@ class TxViewDelegate : public QAbstractItemDelegate
     {
         painter->save();
 
+        QFont montserratFontRegular("Montserrat",11, 1, false);
+        QFont montserratFontLarge("typo",18, 1, false);
+        montserratFontLarge.setBold(false);
+        QFont defaultFont = painter->font();
+        painter->setFont(montserratFontRegular);
+
         QIcon icon = qvariant_cast<QIcon>(index.data(TransactionTableModel::RawDecorationRole));
         QRect mainRect = option.rect;
         mainRect.moveLeft(ICON_OFFSET);
@@ -66,7 +72,7 @@ class TxViewDelegate : public QAbstractItemDelegate
         int ypad = 6;
         int halfheight = (mainRect.height() - 2*ypad)/2;
         QRect amountRect(mainRect.left() + xspace, mainRect.top()+ypad, mainRect.width() - xspace - ICON_OFFSET, halfheight);
-        QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace, halfheight);
+        QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace - ICON_OFFSET, halfheight);
         icon = platformStyle->SingleColorIcon(icon);
         icon.paint(painter, decorationRect);
 
@@ -75,16 +81,16 @@ class TxViewDelegate : public QAbstractItemDelegate
         qint64 amount = index.data(TransactionTableModel::AmountRole).toLongLong();
         bool confirmed = index.data(TransactionTableModel::ConfirmedRole).toBool();
         QVariant value = index.data(Qt::ForegroundRole);
-        QColor foreground = option.palette.color(QPalette::Text);
+        QColor foreground = option.palette.color(QPalette::BrightText);
         if(value.canConvert<QBrush>())
         {
             QBrush brush = qvariant_cast<QBrush>(value);
             foreground = brush.color();
         }
 
-        painter->setPen(foreground);
+        painter->setPen(COLOR_TEXT);
         QRect boundingRect;
-        painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, address, &boundingRect);
+        painter->drawText(addressRect, Qt::AlignRight|Qt::AlignVCenter, address, &boundingRect);
 
         if (index.data(TransactionTableModel::WatchonlyRole).toBool())
         {
@@ -103,7 +109,8 @@ class TxViewDelegate : public QAbstractItemDelegate
         }
         else
         {
-            foreground = option.palette.color(QPalette::Text);
+            foreground = COLOR_POSITIVE;
+            //foreground = option.palette.color(QPalette::Text);
         }
         painter->setPen(foreground);
         QString amountText = BitcoinUnits::floorWithUnit(unit, amount, true, BitcoinUnits::separatorAlways);
@@ -111,11 +118,12 @@ class TxViewDelegate : public QAbstractItemDelegate
         {
             amountText = QString("[") + amountText + QString("]");
         }
+        painter->setFont(montserratFontLarge);
         painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
-
-        painter->setPen(option.palette.color(QPalette::Text));
-        painter->drawText(amountRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::dateTimeStr(date));
-
+        painter->setPen(COLOR_TEXT);
+        painter->setFont(montserratFontRegular);
+        painter->drawText(amountRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::dateStr(date));
+        painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::timeStr(date));
         painter->restore();
     }
 

From 9f8cd88c2d5cf371fd3c7e40f84c8d2ff579c973 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 12:22:00 -0600
Subject: [PATCH 027/225] Transaction bar at top of the tables

---
 src/qt/proposallist.cpp    |   2 +-
 src/qt/res/css/pac.css     | 156 ++++++++++++++++++++++---------------
 src/qt/transactionview.cpp |   7 +-
 3 files changed, 98 insertions(+), 67 deletions(-)

diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index f5fb3418cd36..d30d1e75c4e0 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -48,7 +48,7 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     setContentsMargins(0,0,0,0);
 
     hlayout = new ColumnAlignedLayout();
-    hlayout->setContentsMargins(0,0,0,0);
+    hlayout->setContentsMargins(0,0,0,8);
     hlayout->setSpacing(0);
 
     proposalWidget = new QLineEdit(this);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 3409ef0feb69..1e9be6e29a39 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -1,37 +1,35 @@
 /*
  *  Global GUI styles
  */
+
 QLabel{
     font-family: 'Montserrat', sans-serif !important;
     color: rgb(250,250,250) !important;
 }
+
 QMainWindow{
     border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
 }
+
 QMessageBox {
     background-color:rgb(20,20,20);
-}QDialog{
-    background-color:rgb(30,30,30);
 }
+
 QDialog{
     background-color:rgb(30,30,30);
 }
+
+
 /* Global Progress Bar styles */
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
-#btnChangeImage{
-    border: 2px solid pink !important;
-    border-image: url(:/images/pac/profile) !important;
-}
-#btnChangeImage:hover {
-    border-image: url(:/images/pac/hover_profile) !important;
-}
-
 [class="container"]{
     background-color: rgba(50,50,50,0.6);
     border: 0px !important;
 }
+
+
 /* Global text inputs */
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
     border: 0px;
@@ -56,6 +54,8 @@ QStatusBar{
     background-color: transparent;
     border: none;
 }
+
+
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
@@ -75,6 +75,7 @@ QLabel[class="usdLabel"]{
     font-weight: 100;
 }
 
+
 /* text input
 QTextEdit {
     background: rgb(10, 10, 10);
@@ -86,6 +87,7 @@ QTextEdit {
     font-size: 20px;
 }*/
 
+
 /*textarea*/
 QPlainTextEdit {
     background: rgb(255, 0, 0);
@@ -93,6 +95,8 @@ QPlainTextEdit {
     font-family: 'Montserrat', sans-serif;
     font-size: 15px;
 }
+
+
 /* Dropdown Menus  not for the tables */
 QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
@@ -105,31 +109,25 @@ QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox {
     min-height:40px;
     color:#fff;
 }
-
 QDialog#SendCoinsDialog QComboBox:disabled, QDialog#ReceiveCoinsDialog QComboBox:disabled{
     background-color: rgb(61,61,61);
     color: #efefef;
 }
-
 QDialog#SendCoinsDialog QComboBox:checked, QDialog#ReceiveCoinsDialog QComboBox:checked{
     background-color: rgba(219, 219, 219,0.5);
 }
-
 QDialog#SendCoinsDialog QComboBox:editable, QDialog#ReceiveCoinsDialog QComboBox:editable {
     background-color: rgba(219, 219, 219,0.5);
     color:#616161;
     border:0px;
 }
-
 QDialog#SendCoinsDialog QComboBox::drop-down, QDialog#ReceiveCoinsDialog QComboBox::drop-down {
     width:25px;
     border:0px;
 }
-
 QDialog#SendCoinsDialog QComboBox::down-arrow, QDialog#ReceiveCoinsDialog QComboBox::down-arrow {
     border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
-
 QDialog#SendCoinsDialog QComboBox QListView, QDialog#ReceiveCoinsDialog QComboBox QListView {
     background-color:  rgb(20, 20, 20);
     border:1px solid transparent;
@@ -137,24 +135,19 @@ QDialog#SendCoinsDialog QComboBox QListView, QDialog#ReceiveCoinsDialog QComboBo
     padding-right:1px;
     padding-left:1px;
 }
-
 QDialog#SendCoinsDialog QComboBox QAbstractItemView::item, QDialog#ReceiveCoinsDialog QComboBox QAbstractItemView::item {
     margin:4px;
 }
-
 QDialog#SendCoinsDialog QComboBox::item, QDialog#ReceiveCoinsDialog QComboBox::item {
     color:#fff;
 }
-
 QDialog#SendCoinsDialog QComboBox::item:alternate, QDialog#ReceiveCoinsDialog QComboBox::item:alternate {
     background:rgb(20, 20, 20);
 }
-
 QDialog#SendCoinsDialog QComboBox::item:selected, QDialog#ReceiveCoinsDialog QComboBox::item:selected {
     border:0px solid transparent;
     background-color:  rgb(40, 40, 40);
 }
-
 QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboBox::indicator {
     background-color:transparent;
     selection-background-color:transparent;
@@ -162,6 +155,7 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
     selection-color:transparent;
 }
 
+
 /* GLOBAL SPINBOX */
 QAbstractSpinBox {
     border-radius: 20px;
@@ -174,7 +168,6 @@ QAbstractSpinBox {
     color:#fff;
     padding: 3px 5px 3px 5px;
 }
-
 QAbstractSpinBox::up-button {
     subcontrol-origin: border;
     subcontrol-position: top right;
@@ -185,11 +178,9 @@ QAbstractSpinBox::up-button {
     padding-left:5px;
     padding-top:2px;
 }
-
 QAbstractSpinBox::up-arrow {
     image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
 }
-
 QAbstractSpinBox::down-button {
     subcontrol-origin: border;
     subcontrol-position: bottom right;
@@ -200,15 +191,15 @@ QAbstractSpinBox::down-button {
     padding-left:5px;
     padding-bottom:2px;
 }
-
 QAbstractSpinBox::down-arrow {
     image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
 }
+
+
 /* GLOBAL TABLES*/
 QHeaderView { /* Top of the table Header */
     background-color: rgba(224, 224, 224, 0.1);
 }
-
 QHeaderView::section { /* Top of the table Header Sections */
     qproperty-alignment:center;
     background-color: rgba(224, 224, 224, 0.1);
@@ -223,123 +214,92 @@ QHeaderView::section { /* Top of the table Header Sections */
     padding-top:2px;
     padding-bottom:2px;
 }
-
-QHeaderView::section:last {
-    /*border-right: 0px;*/
-}
-
 .QScrollArea {
     background:transparent;
     border:2px solid transparent;
 }
-
 .QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(224, 224, 224, 0.1);
     /*alternate-background-color: yellow;*/
-    border:3px solid transparent;
 }
-
 QTableView::item { /* Table Item */
-    background-color: rgba(224, 224, 224, 0.1);
     font-size:12px;
 }
-
 QTableView::item:selected { /* Table Item Selected */
-    background-color: rgb(255, 251, 158);
+    background-color: rgb(255, 255, 0);
     color:#000;
 }
-
 .QTableWidget{
     background-color: rgba(224, 224, 224, 0.1); 
 }
-
 QScrollBar { /* Scroll Bar */
-
 }
-
 QScrollBar:vertical { /* Vertical Scroll Bar Attributes */
-    border:0;
+    border:0px;
     background:#333333;
     width:18px;
     margin: 18px 0px 18px 0px;
 }
-
 QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */
-    border:0;
+    border:0px;
     background:#333333;
     height:18px;
     margin: 0px 18px 0px 18px;
 }
-
-
 QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */
     background:#999999;
     min-height:10px;
 }
-
 QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */
     background:#999999;
     min-width:10px;
 }
-
 QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */
     background:#3d3d3d;
 }
-
 QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */
     background-color:#050505;
     border: 1px solid #050505;
     width:16px;
     height:16px;
 }
-
 QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed {
     background-color:#e0e004;
 }
-
 QScrollBar::sub-line:vertical { /* Vertical - top button position */
     subcontrol-position:top;
     subcontrol-origin: margin;
 }
-
 QScrollBar::add-line:vertical { /* Vertical - bottom button position */
     subcontrol-position:bottom;
     subcontrol-origin: margin;
 }
-
 QScrollBar::sub-line:horizontal { /* Vertical - left button position */
     subcontrol-position:left;
     subcontrol-origin: margin;
 }
-
 QScrollBar::add-line:horizontal { /* Vertical - right button position */
     subcontrol-position:right;
     subcontrol-origin: margin;
 }
-
 QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */
     width:10px;
     height:10px;
 }
-
 QScrollBar:up-arrow {
     background-image: url(':/images/pac/drkblue_upArrow_small');
 }
-
 QScrollBar:down-arrow {
     background-image: url(':/images/pac/drkblue_downArrow_small');
 }
-
 QScrollBar:left-arrow {
     background-image: url(':/images/pac/drkblue_leftArrow_small');
 }
-
 QScrollBar:right-arrow {
     background-image: url(':/images/pac/drkblue_rightArrow_small');
 }
 
 
-
 /* ToolBar Menu */
 QToolBar {
     background-color: #000;
@@ -359,7 +319,6 @@ QToolBar > QToolButton {
 QToolBar > QToolButton:checked {
     background-color:rgba(150,150,150,0.1);
 }
-
 #toolbarIcon{
     background: none;
     margin-left: 0px;
@@ -427,7 +386,6 @@ QPushButton:pressed {
     border: 2px solid rgb(5, 5, 5) !important;
     color: rgb(243,232,56) !important;
 }
-
 [class="accentButton"]{
     border: none;
     background: rgb(243,232,56);
@@ -445,13 +403,16 @@ QCheckBox {
 QRadioButton {
     color: rgb(255, 255, 255);
 }
+
+
 /*
  * Overview Page
 */
-
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
+
+
 /*
  * SendCoins Page
  */
@@ -469,8 +430,41 @@ QRadioButton {
 #scrollArea, #scrollAreaWidgetContents{
     background-color:rgba(0,0,0,0) !important;
 }
+
 /*
- * SendCoins Page
+ * Transactions Page
+ */
+QLineEdit#addressWidget, QLineEdit#tAmountWidget{
+    background-color: rgba(224, 224, 224, 0.2);
+    color:#fff;
+    border:0px;
+    min-height: 30px !important;
+}
+
+QComboBox#watchOnlyWidget, QComboBox#dateWidget, QComboBox#typeWidget {
+    background-color: rgba(224, 224, 224, 0.2);
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    color:#fff;
+    min-height: 24px !important;
+}
+#watchOnlyWidget::down-arrow, #dateWidget::down-arrow, #typeWidget::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+#watchOnlyWidget::drop-down, #dateWidget::drop-down, #typeWidget::drop-down {
+    width:25px;
+    border:3px red;
+}
+QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#typeWidget QListView {
+    background-color:  rgb(20, 20, 20);
+    border:0px;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+
+/*
+ * Private Page
  */
 #framePrivateSend{
     background-color: rgba(50,50,50,0.6);
@@ -485,3 +479,37 @@ QRadioButton {
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
     font-weight: 100;
 }
+
+
+/*
+ * Proposal Page
+ */
+/* Over the table */
+QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Example of setObjectName for widgets without name */
+    background-color: rgba(224, 224, 224, 0.2);
+    color:#fff;
+    border:0px;
+    min-height: 30px !important;
+}
+QComboBox#startDateWidget, QComboBox#endDateWidget{
+    background-color: rgba(224, 224, 224, 0.2);
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    color:#fff;
+    min-height: 24px !important;
+}
+#startDateWidget::down-arrow, #endDateWidget::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+#startDateWidget::drop-down, #endDateWidget::drop-down {
+    width:25px;
+    border:3px red;
+}
+QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
+    background-color:  rgb(20, 20, 20);
+    border:0px;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 48e87cfcb341..ca3a2b52c925 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -48,7 +48,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     setContentsMargins(0,0,0,0);
 
     QHBoxLayout *hlayout = new QHBoxLayout();
-    hlayout->setContentsMargins(0,0,0,0);
+    hlayout->setContentsMargins(0,0,0,8);
     if (platformStyle->getUseExtraSpacing()) {
         hlayout->setSpacing(0);
         hlayout->addSpacing(6);
@@ -58,6 +58,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     }
     QString theme = GUIUtil::getThemeName();
     watchOnlyWidget = new QComboBox(this);
+    watchOnlyWidget->setObjectName("watchOnlyWidget");
     watchOnlyWidget->setFixedWidth(24);
     watchOnlyWidget->addItem("", TransactionFilterProxy::WatchOnlyFilter_All);
     watchOnlyWidget->addItem(QIcon(":/icons/" + theme + "/eye_plus"), "", TransactionFilterProxy::WatchOnlyFilter_Yes);
@@ -65,6 +66,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     hlayout->addWidget(watchOnlyWidget);
 
     dateWidget = new QComboBox(this);
+    dateWidget->setObjectName("dateWidget");
     if (platformStyle->getUseExtraSpacing()) {
         dateWidget->setFixedWidth(120);
     } else {
@@ -81,6 +83,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     hlayout->addWidget(dateWidget);
 
     typeWidget = new QComboBox(this);
+    typeWidget->setObjectName("typeWidget");
     if (platformStyle->getUseExtraSpacing()) {
         typeWidget->setFixedWidth(TYPE_COLUMN_WIDTH);
     } else {
@@ -122,7 +125,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
         amountWidget->setFixedWidth(125);
     }  
     amountWidget->setValidator(new QDoubleValidator(0, 1e20, 8, this));
-    amountWidget->setObjectName("amountWidget");
+    amountWidget->setObjectName("tAmountWidget");
     hlayout->addWidget(amountWidget);
 
     QVBoxLayout *vlayout = new QVBoxLayout(this);

From 0f1b16267fb3bef3d01a2438b5a2896022ca7474 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 12:22:44 -0600
Subject: [PATCH 028/225] Personalized fonts and CSS

Personalized fonts added and text colors for tables and lists
---
 src/qt/bitcoingui.cpp            | 9 ++++++++-
 src/qt/res/css/pac.css           | 3 +--
 src/qt/transactiontablemodel.cpp | 6 ++----
 src/qt/transactiontablemodel.h   | 2 ++
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index b1485d40837c..5291ecbc4330 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -58,6 +58,7 @@
 #include <QDebug>
 #include <QRegion>
 #include <QPushButton>
+#include <QFontDatabase>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -128,6 +129,12 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     platformStyle(platformStyle)
 {
     /* Open CSS when configured */
+    GUIUtil::setGUITextColor();
+    QFontDatabase::addApplicationFont(":/fonts/Montserrat-Medium");
+    QFontDatabase::addApplicationFont(":/fonts/LC50Book");
+    QFontDatabase::addApplicationFont(":/fonts/Montserrat-Regular");
+    QFontDatabase::addApplicationFont(":/fonts/typo");
+
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
     GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this);
@@ -660,7 +667,7 @@ void BitcoinGUI::createHeaderBar()
     btnChangeImage->setMask(region);
 
     QLabel *messageLabel = new QLabel(this);
-    messageLabel->setText("Socket Message will be displayed here.");
+    messageLabel->setText("LATEST NEWS: $PAC launches new desktop wallet, featuring new merchant-focused featu...");
     messageLabel->setAlignment(Qt::AlignCenter);
     messageLabel->setStyleSheet("QLabel { color:white; font-size:25px;}");
 
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 1e9be6e29a39..a343533a7d25 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -4,7 +4,7 @@
 
 QLabel{
     font-family: 'Montserrat', sans-serif !important;
-    color: rgb(250,250,250) !important;
+    color: rgb(100,10,10) !important;
 }
 
 QMainWindow{
@@ -59,7 +59,6 @@ QStatusBar{
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
-    font-family: 'Montserrat', sans-serif;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp
index d4c3364fd9b1..468f27c09548 100644
--- a/src/qt/transactiontablemodel.cpp
+++ b/src/qt/transactiontablemodel.cpp
@@ -243,6 +243,7 @@ TransactionTableModel::TransactionTableModel(const PlatformStyle *platformStyle,
         fProcessingQueuedTransactions(false),
         platformStyle(platformStyle)
 {
+    theme = GUIUtil::getThemeName();
     columns << QString() << QString() << tr("Date") << tr("Type") << tr("Address / Label") << BitcoinUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit());
     priv->refreshWallet();
 
@@ -401,7 +402,6 @@ QString TransactionTableModel::formatTxType(const TransactionRecord *wtx) const
 
 QVariant TransactionTableModel::txAddressDecoration(const TransactionRecord *wtx) const
 {
-    QString theme = GUIUtil::getThemeName();
     switch(wtx->type)
     {
     case TransactionRecord::Generated:
@@ -486,7 +486,6 @@ QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool
 
 QVariant TransactionTableModel::txStatusDecoration(const TransactionRecord *wtx) const
 {
-    QString theme = GUIUtil::getThemeName();
     switch(wtx->status.status)
     {
     case TransactionStatus::OpenUntilBlock:
@@ -520,13 +519,12 @@ QVariant TransactionTableModel::txStatusDecoration(const TransactionRecord *wtx)
     case TransactionStatus::NotAccepted:
         return QIcon(":/icons/" + theme + "/transaction_0");
     default:
-        return COLOR_BLACK;
+        return COLOR_TEXT;
     }
 }
 
 QVariant TransactionTableModel::txWatchonlyDecoration(const TransactionRecord *wtx) const
 {
-    QString theme = GUIUtil::getThemeName();
     if (wtx->involvesWatchAddress)
         return QIcon(":/icons/" + theme + "/eye");
     else
diff --git a/src/qt/transactiontablemodel.h b/src/qt/transactiontablemodel.h
index 6932646e1e50..5196aad5daa8 100644
--- a/src/qt/transactiontablemodel.h
+++ b/src/qt/transactiontablemodel.h
@@ -92,6 +92,8 @@ class TransactionTableModel : public QAbstractTableModel
     void subscribeToCoreSignals();
     void unsubscribeFromCoreSignals();
 
+    QString theme;
+
     QString lookupAddress(const std::string &address, bool tooltip) const;
     QVariant addressColor(const TransactionRecord *wtx) const;
     QString formatTxStatus(const TransactionRecord *wtx) const;

From fa81c36df46c292e35785037023c8ded29704419 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 12:29:43 -0600
Subject: [PATCH 029/225] Private (background, button style), Send coins page
 (alignment).

---
 src/qt/forms/sendcoinsdialog.ui |  12 +--
 src/qt/forms/sendcoinsentry.ui  | 155 +++++++++++++++-----------------
 src/qt/res/css/pac.css          |  79 ++++++++++++++--
 3 files changed, 152 insertions(+), 94 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index ef8a81aff6cc..1cfd6ff46836 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1157</width>
-    <height>584</height>
+    <width>1163</width>
+    <height>607</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -27,7 +27,7 @@
    </property>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_3">
-      <property name="spacing">
+     <property name="spacing">
       <number>0</number>
      </property>
      <item>
@@ -85,7 +85,7 @@
             <number>6</number>
            </property>
            <item>
-            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,1">
+            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,0">
              <property name="spacing">
               <number>0</number>
              </property>
@@ -619,7 +619,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>92</height>
+             <height>69</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -1592,4 +1592,4 @@
   <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
  </buttongroups>
-</ui>
\ No newline at end of file
+</ui>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index 57e3d5ea1791..e114c41872f7 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>729</width>
-    <height>144</height>
+    <height>219</height>
    </rect>
   </property>
   <property name="focusPolicy">
@@ -47,46 +47,51 @@
     <property name="verticalSpacing">
      <number>8</number>
     </property>
-    <item row="5" column="1">
-     <layout class="QHBoxLayout" name="horizontalLayoutAmount" stretch="1">
+    <item row="2" column="0">
+     <layout class="QHBoxLayout" name="labelAmounTitles">
       <item>
-       <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
-        <property name="toolTip">
-         <string>The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Paccoin than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
-        </property>
+       <widget class="QLabel" name="amountLabel">
         <property name="text">
-         <string>S&amp;ubtract fee from amount</string>
+         <string>A&amp;mount:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>payAmount</cstring>
+        </property>
+        <property name="class" stdset="0">
+         <string>titleLabel</string>
         </property>
        </widget>
       </item>
-     </layout>
-    </item>
-    <item row="6" column="1">
-     <widget class="QLabel" name="messageLabel">
-      <property name="text">
-       <string>Message:</string>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignCenter</set>
-      </property>
-      <property name="class" stdset="0">
-       <string>titleLabel</string>
-      </property>
-     </widget>
-    </item>
-    <item row="3" column="1">
-     <layout class="QHBoxLayout" name="inputsContainer">
       <item>
-       <widget class="BitcoinAmountField" name="payAmount">
+       <widget class="QLabel" name="labellLabel">
+        <property name="text">
+         <string>&amp;Label:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>addAsLabel</cstring>
+        </property>
         <property name="class" stdset="0">
-         <string>LineEdit_PacCoins</string>
+         <string>titleLabel</string>
         </property>
        </widget>
       </item>
+     </layout>
+    </item>
+    <item row="1" column="0">
+     <layout class="QHBoxLayout" name="payToLayout">
+      <property name="spacing">
+       <number>0</number>
+      </property>
       <item>
-       <widget class="QLineEdit" name="addAsLabel">
+       <widget class="QValidatedLineEdit" name="payTo">
         <property name="toolTip">
-         <string>Enter a label for this address to add it to the list of used addresses</string>
+         <string>The Paccoin address to send the payment to</string>
         </property>
         <property name="class" stdset="0">
          <string>LineEdit</string>
@@ -95,24 +100,7 @@
       </item>
      </layout>
     </item>
-    <item row="7" column="1">
-     <widget class="QLabel" name="messageTextLabel">
-      <property name="toolTip">
-       <string>A message that was attached to the paccoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Paccoin network.</string>
-      </property>
-      <property name="textFormat">
-       <enum>Qt::PlainText</enum>
-      </property>
-     </widget>
-    </item>
-    <item row="8" column="0" colspan="2">
-     <widget class="Line" name="line">
-      <property name="orientation">
-       <enum>Qt::Horizontal</enum>
-      </property>
-     </widget>
-    </item>
-    <item row="0" column="1">
+    <item row="0" column="0">
      <layout class="QHBoxLayout" name="PayToHeader">
       <item>
        <spacer name="horizontalSpacer">
@@ -211,54 +199,59 @@
       </item>
      </layout>
     </item>
-    <item row="1" column="1">
-     <layout class="QHBoxLayout" name="payToLayout">
-      <property name="spacing">
-       <number>0</number>
+    <item row="6" column="0">
+     <widget class="QLabel" name="messageLabel">
+      <property name="text">
+       <string>Message:</string>
+      </property>
+      <property name="alignment">
+       <set>Qt::AlignCenter</set>
+      </property>
+      <property name="class" stdset="0">
+       <string>titleLabel</string>
       </property>
+     </widget>
+    </item>
+    <item row="3" column="0">
+     <layout class="QHBoxLayout" name="inputsContainer">
       <item>
-       <widget class="QValidatedLineEdit" name="payTo">
-        <property name="toolTip">
-         <string>The Paccoin address to send the payment to</string>
-        </property>
+       <widget class="BitcoinAmountField" name="payAmount">
         <property name="class" stdset="0">
-         <string>LineEdit</string>
+         <string>LineEdit_PacCoins</string>
         </property>
        </widget>
       </item>
-     </layout>
-    </item>
-    <item row="2" column="1">
-     <layout class="QHBoxLayout" name="labelAmounTitles">
       <item>
-       <widget class="QLabel" name="amountLabel">
-        <property name="text">
-         <string>A&amp;mount:</string>
-        </property>
-        <property name="alignment">
-         <set>Qt::AlignCenter</set>
-        </property>
-        <property name="buddy">
-         <cstring>payAmount</cstring>
+       <widget class="QLineEdit" name="addAsLabel">
+        <property name="toolTip">
+         <string>Enter a label for this address to add it to the list of used addresses</string>
         </property>
         <property name="class" stdset="0">
-         <string>titleLabel</string>
+         <string>LineEdit</string>
         </property>
        </widget>
       </item>
+     </layout>
+    </item>
+    <item row="7" column="0">
+     <widget class="QLabel" name="messageTextLabel">
+      <property name="toolTip">
+       <string>A message that was attached to the paccoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Paccoin network.</string>
+      </property>
+      <property name="textFormat">
+       <enum>Qt::PlainText</enum>
+      </property>
+     </widget>
+    </item>
+    <item row="5" column="0">
+     <layout class="QHBoxLayout" name="horizontalLayoutAmount" stretch="1">
       <item>
-       <widget class="QLabel" name="labellLabel">
-        <property name="text">
-         <string>&amp;Label:</string>
-        </property>
-        <property name="alignment">
-         <set>Qt::AlignCenter</set>
-        </property>
-        <property name="buddy">
-         <cstring>addAsLabel</cstring>
+       <widget class="QCheckBox" name="checkboxSubtractFeeFromAmount">
+        <property name="toolTip">
+         <string>The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Paccoin than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
         </property>
-        <property name="class" stdset="0">
-         <string>titleLabel</string>
+        <property name="text">
+         <string>S&amp;ubtract fee from amount</string>
         </property>
        </widget>
       </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 1e9be6e29a39..1efe59a7c882 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,8 +3,8 @@
  */
 
 QLabel{
-    font-family: 'Montserrat', sans-serif !important;
-    color: rgb(250,250,250) !important;
+    font-family: 'ZCOOL KuaiLe', cursive !important;
+    color: rgb(255,255,255) !important;
 }
 
 QMainWindow{
@@ -24,6 +24,15 @@ QDialog{
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
+
+#btnChangeImage{
+    border: 2px solid pink !important;
+    border-image: url(:/images/pac/profile) !important;
+}
+#btnChangeImage:hover {
+    border-image: url(:/images/pac/hover_profile) !important;
+}
+
 [class="container"]{
     background-color: rgba(50,50,50,0.6);
     border: 0px !important;
@@ -220,10 +229,12 @@ QHeaderView::section { /* Top of the table Header Sections */
 }
 .QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(224, 224, 224, 0.1);
+    color: white !important;
     /*alternate-background-color: yellow;*/
 }
 QTableView::item { /* Table Item */
     font-size:12px;
+    color: white !important;
 }
 QTableView::item:selected { /* Table Item Selected */
     background-color: rgb(255, 255, 0);
@@ -378,8 +389,8 @@ QPushButton:pressed {
     color: rgb(5,5,5) !important;
 }
 [class="linkButton"]:disabled {
-    background: rgb(45,45,45) !important;
-    border: 1px solid rgb(263,242,76) !important;
+    color:rgb(243,232,56);
+    text-decoration: underline;
 }
 [class="linkButton"]:pressed {
     background: rgba(243,232,56, 0.3) !important;
@@ -405,6 +416,34 @@ QRadioButton {
 }
 
 
+/* GLOBAL CHECKBOX */
+
+QCheckBox::indicator:unchecked {
+    image:url(':/images/pac/unchecked');
+}
+QCheckBox::indicator:unchecked:hover {
+    image:url(':/images/pac/unchecked');
+}
+QCheckBox::indicator:unchecked:pressed {
+    image:url(':/images/pac/checked');
+}
+QCheckBox::indicator:checked {
+    image:url(':/images/pac/checked');
+}
+QCheckBox::indicator:checked:hover {
+    image:url(':/images/pac/checked');
+}
+QCheckBox::indicator:checked:pressed {
+    image:url(':/images/pac/unchecked');
+}
+QCheckBox::indicator:indeterminate:hover {
+    image:url(':/images/pac/unchecked');
+}
+QCheckBox::indicator:indeterminate:pressed {
+    image:url(':/images/pac/checked');
+}
+
+
 /*
  * Overview Page
 */
@@ -427,6 +466,9 @@ QRadioButton {
     background: rgba(255,255,255,0.3);
     border-radius: 8px !important;
 }
+#frameFee{
+    border: 0px;
+}
 #scrollArea, #scrollAreaWidgetContents{
     background-color:rgba(0,0,0,0) !important;
 }
@@ -467,7 +509,8 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
  * Private Page
  */
 #framePrivateSend{
-    background-color: rgba(50,50,50,0.6);
+    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(28, 28, 28, 0.3), stop: 1 rgba(89, 89, 89, 0.3));
+    /*background-color: rgba(50,50,50,0.6);*/
     border: 0px !important;
 }
 #labelPrivateSendHeader{
@@ -479,8 +522,30 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
     font-weight: 100;
 }
-
-
+#togglePrivateSend{
+    background: rgb(48,48,48);
+    border: 0px;
+    color: #fff;
+    border-radius: 12px;
+    height: 30px;
+    /*font-family: Arial;*/
+    font-weight: bold;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 10px;
+    text-transform:uppercase;
+}
+#togglePrivateSend:hover, #togglePrivateSend:focus {
+    background: #444444 !important;
+}
+#togglePrivateSend:disabled {
+    background: #444444 !important;
+    color: #c6c6c6;
+}
+#togglePrivateSend:pressed {
+    background: rgba(243,232,56, 0.3) !important;
+    border: 2px solid rgb(5, 5, 5) !important;
+    color: rgb(243,232,56) !important;
+}
 /*
  * Proposal Page
  */

From f57d864dd4e9e89d9b650f68aa8fdfdebb7c4e54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 12:36:17 -0600
Subject: [PATCH 030/225] CSS receivecoinsdialog positions and styles modified

also tableview text color is now set as white
---
 src/qt/forms/receivecoinsdialog.ui | 630 ++++++++++++++++-------------
 src/qt/overviewpage.cpp            |   4 +-
 src/qt/res/css/pac.css             |  10 +-
 3 files changed, 355 insertions(+), 289 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 363f6d55485d..0f548657586a 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,211 +6,380 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1440</width>
-    <height>435</height>
+    <width>929</width>
+    <height>490</height>
    </rect>
   </property>
   <property name="styleSheet">
    <string notr="true">#ReceiveCoinsDialog{
   background:transparent !important;
+}
+QFrame{
+  border:none;
 }</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,1">
+  <property name="class" stdset="0">
+   <string>container</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0">
    <item>
-    <widget class="QFrame" name="frame2">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Sunken</enum>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_3">
-      <item>
-       <layout class="QGridLayout" name="gridLayout">
-        <item row="7" column="2">
-         <widget class="QCheckBox" name="reuseAddress">
-          <property name="toolTip">
-           <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
-          </property>
-          <property name="text">
-           <string>R&amp;euse an existing receiving address (not recommended)</string>
-          </property>
-         </widget>
-        </item>
-        <item row="7" column="0">
-         <widget class="QLabel" name="label_4">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item row="6" column="0">
-         <widget class="QLabel" name="label_3">
-          <property name="toolTip">
-           <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
-          </property>
-          <property name="text">
-           <string>&amp;Message:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-          <property name="buddy">
-           <cstring>reqMessage</cstring>
-          </property>
-         </widget>
-        </item>
-        <item row="4" column="2">
-         <widget class="QLineEdit" name="reqLabel">
-          <property name="toolTip">
-           <string>An optional label to associate with the new receiving address.</string>
-          </property>
-          <property name="class" stdset="0">
-           <string>LineEdit</string>
-          </property>
-         </widget>
-        </item>
-        <item row="6" column="2">
-         <widget class="QLineEdit" name="reqMessage">
-          <property name="toolTip">
-           <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
-          </property>
-          <property name="class" stdset="0">
-           <string>LineEdit</string>
-          </property>
-         </widget>
-        </item>
-        <item row="2" column="2">
-         <widget class="QLabel" name="label_5">
-          <property name="text">
-           <string>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</string>
-          </property>
-         </widget>
-        </item>
-        <item row="4" column="0">
-         <widget class="QLabel" name="label_2">
-          <property name="toolTip">
-           <string>An optional label to associate with the new receiving address.</string>
-          </property>
-          <property name="text">
-           <string>&amp;Label:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-          <property name="buddy">
-           <cstring>reqLabel</cstring>
-          </property>
-         </widget>
-        </item>
-        <item row="5" column="0">
-         <widget class="QLabel" name="label">
-          <property name="toolTip">
-           <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-          </property>
-          <property name="text">
-           <string>&amp;Amount:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-          <property name="buddy">
-           <cstring>reqAmount</cstring>
-          </property>
-         </widget>
-        </item>
-        <item row="5" column="2">
-         <widget class="BitcoinAmountField" name="reqAmount">
-          <property name="minimumSize">
-           <size>
-            <width>80</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="toolTip">
-           <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-          </property>
-          <property name="class" stdset="0">
-           <string>LineEdit</string>
-          </property>
-         </widget>
-        </item>
-        <item row="9" column="2">
-         <layout class="QHBoxLayout" name="horizontalLayout">
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <layout class="QGridLayout" name="gridLayout_2">
+       <item row="1" column="0">
+        <widget class="QFrame" name="frame">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>600</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true"/>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::StyledPanel</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Raised</enum>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_2">
           <item>
-           <widget class="QPushButton" name="receiveButton">
-            <property name="minimumSize">
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="text">
-             <string>&amp;Request payment</string>
-            </property>
-           </widget>
+           <layout class="QHBoxLayout" name="horizontalLayout_2">
+            <item>
+             <widget class="QLabel" name="label_6">
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="text">
+               <string>Requested payments history</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="showRequestButton">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="toolTip">
+               <string>Show the selected request (does the same as double clicking an entry)</string>
+              </property>
+              <property name="text">
+               <string>Show</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="removeRequestButton">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="toolTip">
+               <string>Remove the selected entries from the list</string>
+              </property>
+              <property name="text">
+               <string>Remove</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</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>
+           </layout>
           </item>
           <item>
-           <widget class="QPushButton" name="clearButton">
+           <widget class="QTableView" name="recentRequestsView">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+             <sizepolicy hsizetype="Expanding" vsizetype="Maximum">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="toolTip">
-             <string>Clear all fields of the form.</string>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>100</height>
+             </size>
             </property>
-            <property name="text">
-             <string>Clear</string>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>150</height>
+             </size>
+            </property>
+            <property name="contextMenuPolicy">
+             <enum>Qt::CustomContextMenu</enum>
             </property>
-            <property name="autoDefault">
+            <property name="tabKeyNavigation">
              <bool>false</bool>
             </property>
+            <property name="sortingEnabled">
+             <bool>true</bool>
+            </property>
            </widget>
           </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="0">
+        <widget class="QFrame" name="frame2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>600</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::StyledPanel</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Sunken</enum>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_3">
           <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>
+           <layout class="QGridLayout" name="gridLayout">
+            <item row="6" column="2">
+             <widget class="BitcoinAmountField" name="reqAmount">
+              <property name="minimumSize">
+               <size>
+                <width>80</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>LineEdit</string>
+              </property>
+             </widget>
+            </item>
+            <item row="3" column="2">
+             <widget class="QLabel" name="label_2">
+              <property name="toolTip">
+               <string>An optional label to associate with the new receiving address.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Label:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="buddy">
+               <cstring>reqLabel</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="7" column="2">
+             <widget class="QLabel" name="label_3">
+              <property name="toolTip">
+               <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Message:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="buddy">
+               <cstring>reqMessage</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="2" column="2">
+             <widget class="QLabel" name="label_5">
+              <property name="text">
+               <string>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</string>
+              </property>
+             </widget>
+            </item>
+            <item row="5" column="2">
+             <widget class="QLabel" name="label">
+              <property name="toolTip">
+               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Amount:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="buddy">
+               <cstring>reqAmount</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="10" column="0">
+             <widget class="QLabel" name="label_4">
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+            <item row="8" column="2">
+             <widget class="QLineEdit" name="reqMessage">
+              <property name="toolTip">
+               <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>LineEdit</string>
+              </property>
+             </widget>
+            </item>
+            <item row="4" column="2">
+             <widget class="QLineEdit" name="reqLabel">
+              <property name="toolTip">
+               <string>An optional label to associate with the new receiving address.</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>LineEdit</string>
+              </property>
+             </widget>
+            </item>
+            <item row="12" column="0">
+             <widget class="QLabel" name="label_7">
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+            <item row="9" column="2">
+             <layout class="QHBoxLayout" name="horizontalLayout_4">
+              <item>
+               <widget class="QCheckBox" name="reuseAddress">
+                <property name="toolTip">
+                 <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
+                </property>
+                <property name="text">
+                 <string>R&amp;euse an existing receiving address (not recommended)</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkUseInstantSend">
+                <property name="text">
+                 <string>Request InstantPAC</string>
+                </property>
+                <property name="checked">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
           </item>
          </layout>
-        </item>
-        <item row="9" column="0">
-         <widget class="QLabel" name="label_7">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item row="8" column="2">
-         <widget class="QCheckBox" name="checkUseInstantSend">
-          <property name="text">
-           <string>Request InstantPAC</string>
-          </property>
-          <property name="checked">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_4">
+       <property name="spacing">
+        <number>6</number>
+       </property>
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::MinimumExpanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <item>
+          <widget class="QPushButton" name="receiveButton">
+           <property name="minimumSize">
+            <size>
+             <width>150</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string>&amp;Request payment</string>
+           </property>
+           <property name="class" stdset="0">
+            <string>accentButton</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QPushButton" name="clearButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="toolTip">
+          <string>Clear all fields of the form.</string>
+         </property>
+         <property name="text">
+          <string>Clear</string>
+         </property>
+         <property name="autoDefault">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
    </item>
    <item>
     <spacer name="verticalSpacer_2">
@@ -225,105 +394,6 @@
      </property>
     </spacer>
    </item>
-   <item>
-    <widget class="QFrame" name="frame">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Raised</enum>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_2">
-      <item>
-       <widget class="QLabel" name="label_6">
-        <property name="font">
-         <font>
-          <weight>75</weight>
-          <bold>true</bold>
-         </font>
-        </property>
-        <property name="text">
-         <string>Requested payments history</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QTableView" name="recentRequestsView">
-        <property name="minimumSize">
-         <size>
-          <width>0</width>
-          <height>0</height>
-         </size>
-        </property>
-        <property name="contextMenuPolicy">
-         <enum>Qt::CustomContextMenu</enum>
-        </property>
-        <property name="tabKeyNavigation">
-         <bool>false</bool>
-        </property>
-        <property name="sortingEnabled">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <item>
-         <widget class="QPushButton" name="showRequestButton">
-          <property name="enabled">
-           <bool>false</bool>
-          </property>
-          <property name="toolTip">
-           <string>Show the selected request (does the same as double clicking an entry)</string>
-          </property>
-          <property name="text">
-           <string>Show</string>
-          </property>
-          <property name="autoDefault">
-           <bool>false</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="removeRequestButton">
-          <property name="enabled">
-           <bool>false</bool>
-          </property>
-          <property name="toolTip">
-           <string>Remove the selected entries from the list</string>
-          </property>
-          <property name="text">
-           <string>Remove</string>
-          </property>
-          <property name="autoDefault">
-           <bool>false</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>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
   </layout>
  </widget>
  <customwidgets>
@@ -338,9 +408,7 @@
   <tabstop>reqLabel</tabstop>
   <tabstop>reqAmount</tabstop>
   <tabstop>reqMessage</tabstop>
-  <tabstop>reuseAddress</tabstop>
   <tabstop>receiveButton</tabstop>
-  <tabstop>clearButton</tabstop>
   <tabstop>recentRequestsView</tabstop>
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index b0bcf1e4632b..e56ac0fad36e 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -59,8 +59,6 @@ class TxViewDelegate : public QAbstractItemDelegate
         painter->save();
 
         QFont montserratFontRegular("Montserrat",11, 1, false);
-        QFont montserratFontLarge("typo",18, 1, false);
-        montserratFontLarge.setBold(false);
         QFont defaultFont = painter->font();
         painter->setFont(montserratFontRegular);
 
@@ -118,7 +116,7 @@ class TxViewDelegate : public QAbstractItemDelegate
         {
             amountText = QString("[") + amountText + QString("]");
         }
-        painter->setFont(montserratFontLarge);
+        painter->setFont(montserratFontRegular);
         painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
         painter->setPen(COLOR_TEXT);
         painter->setFont(montserratFontRegular);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index a343533a7d25..250bc10ed421 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,8 +3,7 @@
  */
 
 QLabel{
-    font-family: 'Montserrat', sans-serif !important;
-    color: rgb(100,10,10) !important;
+    color: rgb(255,255,255) !important;
 }
 
 QMainWindow{
@@ -217,8 +216,9 @@ QHeaderView::section { /* Top of the table Header Sections */
     background:transparent;
     border:2px solid transparent;
 }
-.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(224, 224, 224, 0.1);
+    color: white !important;
     /*alternate-background-color: yellow;*/
 }
 QTableView::item { /* Table Item */
@@ -377,8 +377,8 @@ QPushButton:pressed {
     color: rgb(5,5,5) !important;
 }
 [class="linkButton"]:disabled {
-    background: rgb(45,45,45) !important;
-    border: 1px solid rgb(263,242,76) !important;
+    color:rgb(243,232,56);
+    text-decoration: underline;
 }
 [class="linkButton"]:pressed {
     background: rgba(243,232,56, 0.3) !important;

From 34d833ba4396922637ebfc24de1924d0abf9247c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 12:46:15 -0600
Subject: [PATCH 031/225] Send Coins page layout 90%

---
 src/qt/forms/sendcoinsdialog.ui | 1453 +++++++++++++++++--------------
 src/qt/forms/sendcoinsentry.ui  |   26 +-
 src/qt/res/css/pac.css          |   50 +-
 src/qt/sendcoinsdialog.cpp      |    2 +
 4 files changed, 878 insertions(+), 653 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 1cfd6ff46836..1abba8bdd8fd 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -618,14 +618,14 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>811</width>
-             <height>69</height>
+             <width>711</width>
+             <height>127</height>
             </rect>
            </property>
            <property name="styleSheet">
             <string notr="true"/>
            </property>
-           <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0">
+           <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,0">
             <property name="leftMargin">
              <number>0</number>
             </property>
@@ -645,6 +645,12 @@
               </property>
              </layout>
             </item>
+            <item>
+             <widget class="QStackedWidget" name="stackedWidget">
+              <widget class="QWidget" name="page"/>
+              <widget class="QWidget" name="page_2"/>
+             </widget>
+            </item>
             <item>
              <spacer name="verticalSpacer">
               <property name="orientation">
@@ -663,591 +669,223 @@
          </widget>
         </item>
         <item>
-         <widget class="QFrame" name="frameFee">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <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">
+             <number>3</number>
+            </property>
+            <item>
+             <widget class="QCheckBox" name="checkUsePrivateSend">
+              <property name="minimumSize">
+               <size>
+                <width>95</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>PrivatePAC</string>
+              </property>
+              <property name="checked">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_5">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="checkUseInstantSend">
+              <property name="enabled">
+               <bool>true</bool>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>85</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>InstantPAC</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_11">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="text">
+               <string>Balance:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelBalance">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="cursor">
+               <cursorShape>IBeamCursor</cursorShape>
+              </property>
+              <property name="text">
+               <string notr="true">123.456 PAC</string>
+              </property>
+              <property name="textInteractionFlags">
+               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <layout class="QVBoxLayout" name="verticalLayout_4">
+          <item>
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>Comments</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="lineEdit">
+            <property name="class" stdset="0">
+             <string>LineEdit</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout_4">
+            <item>
+             <spacer name="horizontalSpacer_10">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_6">
+              <property name="text">
+               <string>Convert currency</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_7">
+              <property name="text">
+               <string>USD</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="lineEdit_2">
+            <property name="class" stdset="0">
+             <string>LineEdit</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout_7">
+            <item>
+             <widget class="QLabel" name="iconLabelConvertedCurrency">
+              <property name="text">
+               <string/>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_9">
+              <property name="text">
+               <string>578.03 $PAC</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="verticalSpacer_8">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
           </property>
-          <property name="maximumSize">
+          <property name="sizeType">
+           <enum>QSizePolicy::Preferred</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
            <size>
-            <width>16777215</width>
-            <height>16777215</height>
+            <width>20</width>
+            <height>40</height>
            </size>
           </property>
-          <property name="frameShape">
-           <enum>QFrame::StyledPanel</enum>
-          </property>
-          <property name="frameShadow">
-           <enum>QFrame::Sunken</enum>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayoutFee1">
-           <property name="spacing">
-            <number>0</number>
-           </property>
-           <property name="leftMargin">
-            <number>0</number>
-           </property>
-           <property name="topMargin">
-            <number>0</number>
-           </property>
-           <property name="rightMargin">
-            <number>0</number>
-           </property>
-           <property name="bottomMargin">
-            <number>0</number>
-           </property>
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0,0">
-             <property name="spacing">
-              <number>0</number>
-             </property>
-             <property name="leftMargin">
-              <number>10</number>
-             </property>
-             <property name="topMargin">
-              <number>0</number>
-             </property>
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayoutFee1">
-               <property name="bottomMargin">
-                <number>0</number>
-               </property>
-               <item>
-                <spacer name="horizontalSpacer_4">
-                 <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="buttonMinimizeFee">
-                 <property name="toolTip">
-                  <string>collapse fee-settings</string>
-                 </property>
-                 <property name="text">
-                  <string>Hide</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item>
-              <widget class="QFrame" name="frameFeeSelection">
-               <layout class="QVBoxLayout" name="verticalLayoutFee12">
-                <property name="spacing">
-                 <number>0</number>
-                </property>
-                <property name="leftMargin">
-                 <number>0</number>
-                </property>
-                <property name="topMargin">
-                 <number>0</number>
-                </property>
-                <property name="rightMargin">
-                 <number>0</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>0</number>
-                </property>
-                <item>
-                 <layout class="QGridLayout" name="gridLayoutFee">
-                  <property name="topMargin">
-                   <number>10</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>4</number>
-                  </property>
-                  <property name="horizontalSpacing">
-                   <number>10</number>
-                  </property>
-                  <property name="verticalSpacing">
-                   <number>4</number>
-                  </property>
-                  <item row="1" column="1">
-                   <layout class="QVBoxLayout" name="verticalLayoutFee8">
-                    <property name="spacing">
-                     <number>6</number>
-                    </property>
-                    <item>
-                     <layout class="QHBoxLayout" name="horizontalLayoutFee13">
-                      <item>
-                       <widget class="QRadioButton" name="radioCustomPerKilobyte">
-                        <property name="toolTip">
-                         <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                        </property>
-                        <property name="text">
-                         <string>per kilobyte</string>
-                        </property>
-                        <property name="checked">
-                         <bool>true</bool>
-                        </property>
-                        <attribute name="buttonGroup">
-                         <string notr="true">groupCustomFee</string>
-                        </attribute>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QRadioButton" name="radioCustomAtLeast">
-                        <property name="toolTip">
-                         <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                        </property>
-                        <property name="text">
-                         <string>total at least</string>
-                        </property>
-                        <attribute name="buttonGroup">
-                         <string notr="true">groupCustomFee</string>
-                        </attribute>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="BitcoinAmountField" name="customFee"/>
-                      </item>
-                      <item>
-                       <spacer name="horizontalSpacer_6">
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                        <property name="sizeHint" stdset="0">
-                         <size>
-                          <width>1</width>
-                          <height>1</height>
-                         </size>
-                        </property>
-                       </spacer>
-                      </item>
-                     </layout>
-                    </item>
-                    <item>
-                     <layout class="QHBoxLayout" name="horizontalLayoutFee8">
-                      <item>
-                       <widget class="QCheckBox" name="checkBoxMinimumFee">
-                        <property name="toolTip">
-                         <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                        </property>
-                        <property name="text">
-                         <string/>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QLabel" name="labelMinFeeWarning">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="toolTip">
-                         <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                        </property>
-                        <property name="text">
-                         <string>(read the tooltip)</string>
-                        </property>
-                        <property name="margin">
-                         <number>5</number>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <spacer name="horizontalSpacer_2">
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                        <property name="sizeHint" stdset="0">
-                         <size>
-                          <width>1</width>
-                          <height>1</height>
-                         </size>
-                        </property>
-                       </spacer>
-                      </item>
-                     </layout>
-                    </item>
-                   </layout>
-                  </item>
-                  <item row="0" column="0">
-                   <layout class="QVBoxLayout" name="verticalLayoutFee4" stretch="0,1">
-                    <item>
-                     <widget class="QRadioButton" name="radioSmartFee">
-                      <property name="text">
-                       <string>Recommended:</string>
-                      </property>
-                      <property name="checked">
-                       <bool>true</bool>
-                      </property>
-                      <attribute name="buttonGroup">
-                       <string notr="true">groupFee</string>
-                      </attribute>
-                     </widget>
-                    </item>
-                    <item>
-                     <spacer name="verticalSpacer_2">
-                      <property name="orientation">
-                       <enum>Qt::Vertical</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>1</width>
-                        <height>1</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                   </layout>
-                  </item>
-                  <item row="1" column="0">
-                   <layout class="QVBoxLayout" name="verticalLayoutFee9" stretch="0,1">
-                    <item>
-                     <widget class="QRadioButton" name="radioCustomFee">
-                      <property name="text">
-                       <string>Custom:</string>
-                      </property>
-                      <attribute name="buttonGroup">
-                       <string notr="true">groupFee</string>
-                      </attribute>
-                     </widget>
-                    </item>
-                    <item>
-                     <spacer name="verticalSpacer_6">
-                      <property name="orientation">
-                       <enum>Qt::Vertical</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>1</width>
-                        <height>1</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                   </layout>
-                  </item>
-                  <item row="0" column="1">
-                   <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
-                    <property name="spacing">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>2</number>
-                    </property>
-                    <item>
-                     <layout class="QHBoxLayout" name="horizontalLayoutFee12">
-                      <item>
-                       <widget class="QLabel" name="labelSmartFee">
-                        <property name="text">
-                         <string/>
-                        </property>
-                        <property name="margin">
-                         <number>2</number>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QLabel" name="labelFeeEstimation">
-                        <property name="text">
-                         <string/>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QLabel" name="labelSmartFee2">
-                        <property name="text">
-                         <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
-                        </property>
-                        <property name="margin">
-                         <number>2</number>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <spacer name="horizontalSpacer_5">
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                        <property name="sizeHint" stdset="0">
-                         <size>
-                          <width>1</width>
-                          <height>1</height>
-                         </size>
-                        </property>
-                       </spacer>
-                      </item>
-                     </layout>
-                    </item>
-                    <item>
-                     <layout class="QHBoxLayout" name="horizontalLayoutFee9">
-                      <item>
-                       <layout class="QVBoxLayout" name="verticalLayoutFee6">
-                        <item>
-                         <widget class="QLabel" name="labelSmartFee3">
-                          <property name="text">
-                           <string>Confirmation time:</string>
-                          </property>
-                          <property name="margin">
-                           <number>2</number>
-                          </property>
-                         </widget>
-                        </item>
-                        <item>
-                         <spacer name="verticalSpacer_3">
-                          <property name="orientation">
-                           <enum>Qt::Vertical</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>1</width>
-                            <height>1</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
-                       </layout>
-                      </item>
-                      <item>
-                       <layout class="QVBoxLayout" name="verticalLayoutFee5">
-                        <property name="rightMargin">
-                         <number>30</number>
-                        </property>
-                        <item>
-                         <widget class="QSlider" name="sliderSmartFee">
-                          <property name="minimum">
-                           <number>0</number>
-                          </property>
-                          <property name="maximum">
-                           <number>24</number>
-                          </property>
-                          <property name="pageStep">
-                           <number>1</number>
-                          </property>
-                          <property name="value">
-                           <number>0</number>
-                          </property>
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="invertedAppearance">
-                           <bool>false</bool>
-                          </property>
-                          <property name="invertedControls">
-                           <bool>false</bool>
-                          </property>
-                          <property name="tickPosition">
-                           <enum>QSlider::NoTicks</enum>
-                          </property>
-                         </widget>
-                        </item>
-                        <item>
-                         <layout class="QHBoxLayout" name="horizontalLayoutFee10">
-                          <item>
-                           <widget class="QLabel" name="labelSmartFeeNormal">
-                            <property name="text">
-                             <string>normal</string>
-                            </property>
-                           </widget>
-                          </item>
-                          <item>
-                           <spacer name="horizontalSpacer_3">
-                            <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="labelSmartFeeFast">
-                            <property name="text">
-                             <string>fast</string>
-                            </property>
-                           </widget>
-                          </item>
-                         </layout>
-                        </item>
-                       </layout>
-                      </item>
-                     </layout>
-                    </item>
-                    <item>
-                     <spacer name="verticalSpacer_4">
-                      <property name="orientation">
-                       <enum>Qt::Vertical</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>1</width>
-                        <height>1</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                   </layout>
-                  </item>
-                 </layout>
-                </item>
-                <item>
-                 <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0,0,0">
-                  <property name="spacing">
-                   <number>8</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>4</number>
-                  </property>
-                  <item>
-                   <widget class="QCheckBox" name="checkBoxFreeTx">
-                    <property name="text">
-                     <string>Send as zero-fee transaction if possible</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="labelFreeTx">
-                    <property name="text">
-                     <string>(confirmation may take longer)</string>
-                    </property>
-                    <property name="margin">
-                     <number>5</number>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <spacer name="horizontalSpacerFee5">
-                    <property name="orientation">
-                     <enum>Qt::Horizontal</enum>
-                    </property>
-                    <property name="sizeHint" stdset="0">
-                     <size>
-                      <width>1</width>
-                      <height>1</height>
-                     </size>
-                    </property>
-                   </spacer>
-                  </item>
-                 </layout>
-                </item>
-                <item>
-                 <spacer name="verticalSpacerFee2">
-                  <property name="orientation">
-                   <enum>Qt::Vertical</enum>
-                  </property>
-                  <property name="sizeHint" stdset="0">
-                   <size>
-                    <width>1</width>
-                    <height>1</height>
-                   </size>
-                  </property>
-                 </spacer>
-                </item>
-               </layout>
-              </widget>
-             </item>
-             <item>
-              <spacer name="verticalSpacerFee">
-               <property name="orientation">
-                <enum>Qt::Vertical</enum>
-               </property>
-               <property name="sizeHint" stdset="0">
-                <size>
-                 <width>800</width>
-                 <height>1</height>
-                </size>
-               </property>
-              </spacer>
-             </item>
-            </layout>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayout">
-          <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">
-             <number>3</number>
-            </property>
-            <item>
-             <widget class="QCheckBox" name="checkUsePrivateSend">
-              <property name="minimumSize">
-               <size>
-                <width>95</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="text">
-               <string>PrivatePAC</string>
-              </property>
-              <property name="checked">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QCheckBox" name="checkUseInstantSend">
-              <property name="enabled">
-               <bool>true</bool>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>85</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="text">
-               <string>InstantPAC</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="label">
-              <property name="text">
-               <string>Balance:</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="text">
-               <string notr="true">123.456 PAC</string>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-             </widget>
-            </item>
-           </layout>
-          </item>
-         </layout>
+         </spacer>
         </item>
        </layout>
       </widget>
@@ -1262,32 +900,22 @@
        </property>
        <property name="minimumSize">
         <size>
-         <width>300</width>
+         <width>400</width>
          <height>0</height>
         </size>
        </property>
+       <property name="maximumSize">
+        <size>
+         <width>350</width>
+         <height>16777215</height>
+        </size>
+       </property>
        <property name="class" stdset="0">
         <string>container</string>
        </property>
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
-          <item row="6" column="0">
-           <spacer name="verticalSpacer_7">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::MinimumExpanding</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
           <item row="0" column="0">
            <spacer name="verticalSpacer_5">
             <property name="orientation">
@@ -1336,6 +964,9 @@
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
@@ -1408,7 +1039,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::MinimumExpanding</enum>
+               <enum>QSizePolicy::Preferred</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -1445,6 +1076,9 @@
               <property name="text">
                <string>Transaction Fee:</string>
               </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
              </widget>
             </item>
             <item>
@@ -1462,10 +1096,32 @@
             </item>
            </layout>
           </item>
-          <item row="8" column="0">
+          <item row="14" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_6">
+            <item>
+             <spacer name="horizontalSpacer_4">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
             <item>
              <widget class="QPushButton" name="addButton">
+              <property name="maximumSize">
+               <size>
+                <width>120</width>
+                <height>16777215</height>
+               </size>
+              </property>
               <property name="toolTip">
                <string>Send to multiple recipients at once</string>
               </property>
@@ -1485,6 +1141,12 @@
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
+              <property name="maximumSize">
+               <size>
+                <width>120</width>
+                <height>16777215</height>
+               </size>
+              </property>
               <property name="toolTip">
                <string>Clear all fields of the form.</string>
               </property>
@@ -1496,6 +1158,22 @@
               </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_12">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
           <item row="3" column="0">
@@ -1523,45 +1201,558 @@
             </property>
            </widget>
           </item>
-          <item row="7" column="0">
-           <widget class="QPushButton" name="sendButton">
-            <property name="minimumSize">
-             <size>
-              <width>150</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="toolTip">
-             <string>Confirm the send action</string>
-            </property>
-            <property name="text">
-             <string>S&amp;end</string>
-            </property>
-            <property name="autoDefault">
-             <bool>false</bool>
+          <item row="5" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_8">
+            <item>
+             <widget class="QPushButton" name="buttonChooseFee">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>250</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>Choose...</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="11" column="0">
+           <spacer name="verticalSpacer_7">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
             </property>
-            <property name="default">
-             <bool>true</bool>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
             </property>
-            <property name="class" stdset="0">
-             <string>accentButton</string>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>20</height>
+             </size>
             </property>
-           </widget>
+           </spacer>
           </item>
-          <item row="5" column="0">
-           <widget class="QPushButton" name="buttonChooseFee">
+          <item row="12" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_9">
+            <item>
+             <widget class="QPushButton" name="sendButton">
+              <property name="minimumSize">
+               <size>
+                <width>250</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>200</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>Confirm the send action</string>
+              </property>
+              <property name="text">
+               <string>S&amp;end</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+              <property name="default">
+               <bool>true</bool>
+              </property>
+              <property name="class" stdset="0">
+               <string>accentButton</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="7" column="0">
+           <widget class="QFrame" name="frameFee">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="text">
-             <string>Choose...</string>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
             </property>
-            <property name="class" stdset="0">
-             <string>linkButton</string>
+            <property name="frameShape">
+             <enum>QFrame::StyledPanel</enum>
+            </property>
+            <property name="frameShadow">
+             <enum>QFrame::Sunken</enum>
             </property>
+            <layout class="QVBoxLayout" name="verticalLayoutFee1">
+             <property name="spacing">
+              <number>0</number>
+             </property>
+             <property name="leftMargin">
+              <number>0</number>
+             </property>
+             <property name="topMargin">
+              <number>0</number>
+             </property>
+             <property name="rightMargin">
+              <number>0</number>
+             </property>
+             <property name="bottomMargin">
+              <number>0</number>
+             </property>
+             <item>
+              <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0">
+               <property name="spacing">
+                <number>0</number>
+               </property>
+               <property name="leftMargin">
+                <number>0</number>
+               </property>
+               <property name="topMargin">
+                <number>0</number>
+               </property>
+               <item>
+                <layout class="QHBoxLayout" name="horizontalLayoutFee1">
+                 <property name="bottomMargin">
+                  <number>0</number>
+                 </property>
+                 <item>
+                  <widget class="QPushButton" name="buttonMinimizeFee">
+                   <property name="maximumSize">
+                    <size>
+                     <width>250</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <property name="toolTip">
+                    <string>collapse fee-settings</string>
+                   </property>
+                   <property name="text">
+                    <string>Hide</string>
+                   </property>
+                   <property name="class" stdset="0">
+                    <string>linkButton</string>
+                   </property>
+                  </widget>
+                 </item>
+                </layout>
+               </item>
+               <item>
+                <widget class="QFrame" name="frameFeeSelection">
+                 <layout class="QVBoxLayout" name="verticalLayoutFee12">
+                  <property name="spacing">
+                   <number>0</number>
+                  </property>
+                  <property name="leftMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="topMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="rightMargin">
+                   <number>0</number>
+                  </property>
+                  <property name="bottomMargin">
+                   <number>0</number>
+                  </property>
+                  <item>
+                   <layout class="QGridLayout" name="gridLayoutFee">
+                    <property name="topMargin">
+                     <number>10</number>
+                    </property>
+                    <property name="bottomMargin">
+                     <number>4</number>
+                    </property>
+                    <property name="horizontalSpacing">
+                     <number>10</number>
+                    </property>
+                    <property name="verticalSpacing">
+                     <number>4</number>
+                    </property>
+                    <item row="0" column="0">
+                     <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
+                      <property name="spacing">
+                       <number>6</number>
+                      </property>
+                      <property name="topMargin">
+                       <number>2</number>
+                      </property>
+                      <item>
+                       <layout class="QVBoxLayout" name="verticalLayout_5">
+                        <item>
+                         <widget class="QRadioButton" name="radioSmartFee">
+                          <property name="text">
+                           <string>Recommended:</string>
+                          </property>
+                          <property name="checked">
+                           <bool>true</bool>
+                          </property>
+                          <attribute name="buttonGroup">
+                           <string notr="true">groupFee</string>
+                          </attribute>
+                         </widget>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <layout class="QHBoxLayout" name="horizontalLayoutFee9">
+                        <item>
+                         <spacer name="horizontalSpacer_13">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>40</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                        <item>
+                         <layout class="QVBoxLayout" name="verticalLayoutFee5">
+                          <property name="rightMargin">
+                           <number>0</number>
+                          </property>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee12">
+                            <item>
+                             <widget class="QLabel" name="labelSmartFee">
+                              <property name="text">
+                               <string/>
+                              </property>
+                              <property name="margin">
+                               <number>2</number>
+                              </property>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QLabel" name="labelFeeEstimation">
+                              <property name="text">
+                               <string/>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="labelSmartFee2">
+                            <property name="text">
+                             <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
+                            </property>
+                            <property name="margin">
+                             <number>2</number>
+                            </property>
+                           </widget>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="labelSmartFee3">
+                            <property name="text">
+                             <string>Confirmation time:</string>
+                            </property>
+                            <property name="margin">
+                             <number>2</number>
+                            </property>
+                           </widget>
+                          </item>
+                          <item>
+                           <widget class="QSlider" name="sliderSmartFee">
+                            <property name="sizePolicy">
+                             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                              <horstretch>0</horstretch>
+                              <verstretch>0</verstretch>
+                             </sizepolicy>
+                            </property>
+                            <property name="maximumSize">
+                             <size>
+                              <width>16777215</width>
+                              <height>16777215</height>
+                             </size>
+                            </property>
+                            <property name="minimum">
+                             <number>0</number>
+                            </property>
+                            <property name="maximum">
+                             <number>24</number>
+                            </property>
+                            <property name="pageStep">
+                             <number>1</number>
+                            </property>
+                            <property name="value">
+                             <number>0</number>
+                            </property>
+                            <property name="orientation">
+                             <enum>Qt::Horizontal</enum>
+                            </property>
+                            <property name="invertedAppearance">
+                             <bool>false</bool>
+                            </property>
+                            <property name="invertedControls">
+                             <bool>false</bool>
+                            </property>
+                            <property name="tickPosition">
+                             <enum>QSlider::NoTicks</enum>
+                            </property>
+                           </widget>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee10">
+                            <item>
+                             <widget class="QLabel" name="labelSmartFeeNormal">
+                              <property name="text">
+                               <string>normal</string>
+                              </property>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QLabel" name="labelSmartFeeFast">
+                              <property name="text">
+                               <string>fast</string>
+                              </property>
+                              <property name="alignment">
+                               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                         </layout>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <spacer name="verticalSpacer_4">
+                        <property name="orientation">
+                         <enum>Qt::Vertical</enum>
+                        </property>
+                        <property name="sizeHint" stdset="0">
+                         <size>
+                          <width>1</width>
+                          <height>1</height>
+                         </size>
+                        </property>
+                       </spacer>
+                      </item>
+                     </layout>
+                    </item>
+                    <item row="1" column="0">
+                     <layout class="QVBoxLayout" name="verticalLayoutFee8">
+                      <property name="spacing">
+                       <number>6</number>
+                      </property>
+                      <item>
+                       <widget class="QRadioButton" name="radioCustomFee">
+                        <property name="text">
+                         <string>Custom:</string>
+                        </property>
+                        <attribute name="buttonGroup">
+                         <string notr="true">groupFee</string>
+                        </attribute>
+                       </widget>
+                      </item>
+                      <item>
+                       <layout class="QHBoxLayout" name="horizontalLayoutFee13">
+                        <item>
+                         <spacer name="horizontalSpacer_2">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Minimum</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>40</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                        <item>
+                         <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                          <property name="toolTip">
+                           <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                          </property>
+                          <property name="text">
+                           <string>per kilobyte</string>
+                          </property>
+                          <property name="checked">
+                           <bool>true</bool>
+                          </property>
+                          <attribute name="buttonGroup">
+                           <string notr="true">groupCustomFee</string>
+                          </attribute>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QRadioButton" name="radioCustomAtLeast">
+                          <property name="toolTip">
+                           <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                          </property>
+                          <property name="text">
+                           <string>total at least</string>
+                          </property>
+                          <attribute name="buttonGroup">
+                           <string notr="true">groupCustomFee</string>
+                          </attribute>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="BitcoinAmountField" name="customFee"/>
+                        </item>
+                        <item>
+                         <spacer name="horizontalSpacer_6">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Preferred</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>1</width>
+                            <height>1</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <layout class="QHBoxLayout" name="horizontalLayoutFee8">
+                        <item>
+                         <spacer name="horizontalSpacer_3">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>40</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                        <item>
+                         <widget class="QCheckBox" name="checkBoxMinimumFee">
+                          <property name="maximumSize">
+                           <size>
+                            <width>25</width>
+                            <height>16777215</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                          </property>
+                          <property name="text">
+                           <string/>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QLabel" name="labelMinFeeWarning">
+                          <property name="enabled">
+                           <bool>true</bool>
+                          </property>
+                          <property name="toolTip">
+                           <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                          </property>
+                          <property name="text">
+                           <string>(read the tooltip)</string>
+                          </property>
+                          <property name="margin">
+                           <number>5</number>
+                          </property>
+                         </widget>
+                        </item>
+                       </layout>
+                      </item>
+                     </layout>
+                    </item>
+                   </layout>
+                  </item>
+                  <item>
+                   <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0,0,0">
+                    <property name="spacing">
+                     <number>8</number>
+                    </property>
+                    <property name="bottomMargin">
+                     <number>4</number>
+                    </property>
+                    <item>
+                     <widget class="QCheckBox" name="checkBoxFreeTx">
+                      <property name="text">
+                       <string>Send as zero-fee transaction if possible</string>
+                      </property>
+                     </widget>
+                    </item>
+                    <item>
+                     <widget class="QLabel" name="labelFreeTx">
+                      <property name="text">
+                       <string>(confirmation may take longer)</string>
+                      </property>
+                      <property name="margin">
+                       <number>5</number>
+                      </property>
+                     </widget>
+                    </item>
+                    <item>
+                     <spacer name="horizontalSpacerFee5">
+                      <property name="orientation">
+                       <enum>Qt::Horizontal</enum>
+                      </property>
+                      <property name="sizeType">
+                       <enum>QSizePolicy::Preferred</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>1</width>
+                        <height>1</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                   </layout>
+                  </item>
+                  <item>
+                   <spacer name="verticalSpacerFee2">
+                    <property name="orientation">
+                     <enum>Qt::Vertical</enum>
+                    </property>
+                    <property name="sizeHint" stdset="0">
+                     <size>
+                      <width>1</width>
+                      <height>1</height>
+                     </size>
+                    </property>
+                   </spacer>
+                  </item>
+                 </layout>
+                </widget>
+               </item>
+              </layout>
+             </item>
+            </layout>
            </widget>
           </item>
          </layout>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index e114c41872f7..fd7934b37cbb 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -50,15 +50,15 @@
     <item row="2" column="0">
      <layout class="QHBoxLayout" name="labelAmounTitles">
       <item>
-       <widget class="QLabel" name="amountLabel">
+       <widget class="QLabel" name="labellLabel">
         <property name="text">
-         <string>A&amp;mount:</string>
+         <string>&amp;Label:</string>
         </property>
         <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
         <property name="buddy">
-         <cstring>payAmount</cstring>
+         <cstring>addAsLabel</cstring>
         </property>
         <property name="class" stdset="0">
          <string>titleLabel</string>
@@ -66,15 +66,15 @@
        </widget>
       </item>
       <item>
-       <widget class="QLabel" name="labellLabel">
+       <widget class="QLabel" name="amountLabel">
         <property name="text">
-         <string>&amp;Label:</string>
+         <string>A&amp;mount:</string>
         </property>
         <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
         <property name="buddy">
-         <cstring>addAsLabel</cstring>
+         <cstring>payAmount</cstring>
         </property>
         <property name="class" stdset="0">
          <string>titleLabel</string>
@@ -214,13 +214,6 @@
     </item>
     <item row="3" column="0">
      <layout class="QHBoxLayout" name="inputsContainer">
-      <item>
-       <widget class="BitcoinAmountField" name="payAmount">
-        <property name="class" stdset="0">
-         <string>LineEdit_PacCoins</string>
-        </property>
-       </widget>
-      </item>
       <item>
        <widget class="QLineEdit" name="addAsLabel">
         <property name="toolTip">
@@ -231,6 +224,13 @@
         </property>
        </widget>
       </item>
+      <item>
+       <widget class="BitcoinAmountField" name="payAmount">
+        <property name="class" stdset="0">
+         <string>LineEdit_PacCoins</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </item>
     <item row="7" column="0">
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7d5126380aa8..5d49aba71906 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,6 +3,7 @@
  */
 
 QLabel{
+    font-family: 'ZCOOL KuaiLe', cursive !important;
     color: rgb(255,255,255) !important;
 }
 
@@ -67,6 +68,7 @@ QStatusBar{
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
+    font-family: 'Montserrat', sans-serif;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
@@ -175,6 +177,10 @@ QAbstractSpinBox {
     color:#fff;
     padding: 3px 5px 3px 5px;
 }
+QAbstractSpinBox:disabled{
+    background-color: rgb(61,61,61);
+    color: #efefef;
+}
 QAbstractSpinBox::up-button {
     subcontrol-origin: border;
     subcontrol-position: top right;
@@ -225,7 +231,7 @@ QHeaderView::section { /* Top of the table Header Sections */
     background:transparent;
     border:2px solid transparent;
 }
-QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(224, 224, 224, 0.1);
     color: white !important;
     /*alternate-background-color: yellow;*/
@@ -415,29 +421,55 @@ QRadioButton {
 
 
 /* GLOBAL CHECKBOX */
-
 QCheckBox::indicator:unchecked {
-    image:url(':/images/pac/unchecked');
+    
 }
 QCheckBox::indicator:unchecked:hover {
-    image:url(':/images/pac/unchecked');
+    
 }
 QCheckBox::indicator:unchecked:pressed {
-    image:url(':/images/pac/checked');
+    
 }
 QCheckBox::indicator:checked {
-    image:url(':/images/pac/checked');
+    
 }
 QCheckBox::indicator:checked:hover {
-    image:url(':/images/pac/checked');
+    
 }
 QCheckBox::indicator:checked:pressed {
-    image:url(':/images/pac/unchecked');
+    
 }
 QCheckBox::indicator:indeterminate:hover {
-    image:url(':/images/pac/unchecked');
+    
 }
 QCheckBox::indicator:indeterminate:pressed {
+    
+}
+
+
+/* GLOBAL RADIO BUTTON */
+QRadioButton::indicator:unchecked {
+    image:url(':/images/pac/unchecked');
+}
+QRadioButton::indicator:unchecked:hover {
+    image:url(':/images/pac/unchecked');
+}
+QRadioButton::indicator:unchecked:pressed {
+    image:url(':/images/pac/checked');
+}
+QRadioButton::indicator:checked {
+    image:url(':/images/pac/checked');
+}
+QRadioButton::indicator:checked:hover {
+    image:url(':/images/pac/checked');
+}
+QRadioButton::indicator:checked:pressed {
+    image:url(':/images/pac/unchecked');
+}
+QRadioButton::indicator:indeterminate:hover {
+    image:url(':/images/pac/unchecked');
+}
+QRadioButton::indicator:indeterminate:pressed {
     image:url(':/images/pac/checked');
 }
 
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 2c51400e7b96..5fe3202cc30b 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -52,6 +52,8 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
         ui->sendButton->setIcon(QIcon(":/icons/" + theme + "/send"));
     }
 
+    ui->iconLabelConvertedCurrency->setPixmap(QPixmap(":icons/bitcoin-32"));
+
     GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this);
 
     addEntry();

From 6cdfa440f8b4bb61b443e1b39faf0cc1b9002677 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 12:47:53 -0600
Subject: [PATCH 032/225] New customized fonts

VolteRounded font for PAC
---
 src/qt/paccoin.qrc                         |   5 +++++
 src/qt/res/fonts/VolteRounded-Bold.otf     | Bin 0 -> 40724 bytes
 src/qt/res/fonts/VolteRounded-Light.otf    | Bin 0 -> 38452 bytes
 src/qt/res/fonts/VolteRounded-Medium.otf   | Bin 0 -> 39404 bytes
 src/qt/res/fonts/VolteRounded-Regular.otf  | Bin 0 -> 40600 bytes
 src/qt/res/fonts/VolteRounded-Semibold.otf | Bin 0 -> 41460 bytes
 6 files changed, 5 insertions(+)
 create mode 100755 src/qt/res/fonts/VolteRounded-Bold.otf
 create mode 100755 src/qt/res/fonts/VolteRounded-Light.otf
 create mode 100755 src/qt/res/fonts/VolteRounded-Medium.otf
 create mode 100644 src/qt/res/fonts/VolteRounded-Regular.otf
 create mode 100755 src/qt/res/fonts/VolteRounded-Semibold.otf

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 78b2842517aa..00b44aec5140 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -6,6 +6,11 @@
         <file alias="bitcoin-32">res/icons/bitcoin-32.png</file>
     </qresource>
     <qresource prefix="/fonts">
+        <file alias="VolteRounded-Regular">res/fonts/VolteRounded-Regular.otf</file>c
+        <file alias="VolteRounded-Bold">res/fonts/VolteRounded-Bold.otf</file>
+        <file alias="VolteRounded-Light">res/fonts/VolteRounded-Light.otf</file>
+        <file alias="VolteRounded-Medium">res/fonts/VolteRounded-Medium.otf</file>
+        <file alias="VolteRounded-Semibold">res/fonts/VolteRounded-Semibold.otf</file>
     </qresource>
     <qresource prefix="/icons/drkblue">
         <file alias="address-book">res/icons/drkblue/address-book.png</file>
diff --git a/src/qt/res/fonts/VolteRounded-Bold.otf b/src/qt/res/fonts/VolteRounded-Bold.otf
new file mode 100755
index 0000000000000000000000000000000000000000..195b0d84b61192044a8ffa11cb78b13b2466f22a
GIT binary patch
diff --git a/src/qt/res/fonts/VolteRounded-Light.otf b/src/qt/res/fonts/VolteRounded-Light.otf
new file mode 100755
index 0000000000000000000000000000000000000000..f7498c72ffacf75b84a3123e32ec2717f77615b7
GIT binary patch
diff --git a/src/qt/res/fonts/VolteRounded-Medium.otf b/src/qt/res/fonts/VolteRounded-Medium.otf
new file mode 100755
index 0000000000000000000000000000000000000000..10e239cc610b5fe5f6d9b9e820909199b3171a39
GIT binary patch
diff --git a/src/qt/res/fonts/VolteRounded-Regular.otf b/src/qt/res/fonts/VolteRounded-Regular.otf
new file mode 100644
index 0000000000000000000000000000000000000000..90a7b683ea0df6bfd61f47c63090d7e5fef93fd3
GIT binary patch
diff --git a/src/qt/res/fonts/VolteRounded-Semibold.otf b/src/qt/res/fonts/VolteRounded-Semibold.otf
new file mode 100755
index 0000000000000000000000000000000000000000..5782cd9dea3ad78aa7801cc031d89cce3944788a
GIT binary patch

From 8c866d7f114a8e5a560d07a1fb0eaeedd8987e70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 13:02:44 -0600
Subject: [PATCH 033/225] Bug fixed: Mistake writing qrc fixed

---
 src/qt/paccoin.qrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 00b44aec5140..0019f1398aa8 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -6,7 +6,7 @@
         <file alias="bitcoin-32">res/icons/bitcoin-32.png</file>
     </qresource>
     <qresource prefix="/fonts">
-        <file alias="VolteRounded-Regular">res/fonts/VolteRounded-Regular.otf</file>c
+        <file alias="VolteRounded-Regular">res/fonts/VolteRounded-Regular.otf</file>
         <file alias="VolteRounded-Bold">res/fonts/VolteRounded-Bold.otf</file>
         <file alias="VolteRounded-Light">res/fonts/VolteRounded-Light.otf</file>
         <file alias="VolteRounded-Medium">res/fonts/VolteRounded-Medium.otf</file>

From 4633c999050f200683e345cbae29fe9255cfe99f Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 13:05:10 -0600
Subject: [PATCH 034/225] Send coins choose transaction fee moved and added a
 scroll area

---
 src/qt/forms/sendcoinsdialog.ui | 1020 +++++++++++++++++--------------
 src/qt/forms/sendcoinsentry.ui  |   43 +-
 src/qt/res/css/pac.css          |    2 +-
 src/qt/sendcoinsdialog.cpp      |    3 +-
 4 files changed, 600 insertions(+), 468 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 1abba8bdd8fd..3203107029a2 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1163</width>
-    <height>607</height>
+    <width>1263</width>
+    <height>765</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -618,8 +618,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>711</width>
-             <height>127</height>
+             <width>811</width>
+             <height>184</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -656,6 +656,9 @@
               <property name="orientation">
                <enum>Qt::Vertical</enum>
               </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>20</width>
@@ -784,6 +787,22 @@
         </item>
         <item>
          <layout class="QVBoxLayout" name="verticalLayout_4">
+          <item>
+           <spacer name="verticalSpacer_10">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Preferred</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>10</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item>
            <widget class="QLabel" name="label_5">
             <property name="text">
@@ -794,6 +813,22 @@
             </property>
            </widget>
           </item>
+          <item>
+           <spacer name="verticalSpacer_2">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Preferred</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>10</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item>
            <widget class="QLineEdit" name="lineEdit">
             <property name="class" stdset="0">
@@ -801,6 +836,22 @@
             </property>
            </widget>
           </item>
+          <item>
+           <spacer name="verticalSpacer_3">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Preferred</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>10</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_4">
             <item>
@@ -809,11 +860,11 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Fixed</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>40</width>
+                <width>120</width>
                 <height>20</height>
                </size>
               </property>
@@ -825,7 +876,7 @@
                <string>Convert currency</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignCenter</set>
+               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
               </property>
              </widget>
             </item>
@@ -841,6 +892,22 @@
             </item>
            </layout>
           </item>
+          <item>
+           <spacer name="verticalSpacer_6">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Preferred</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>10</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item>
            <widget class="QLineEdit" name="lineEdit_2">
             <property name="class" stdset="0">
@@ -848,6 +915,22 @@
             </property>
            </widget>
           </item>
+          <item>
+           <spacer name="verticalSpacer_9">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Preferred</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>10</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_7">
             <item>
@@ -900,13 +983,13 @@
        </property>
        <property name="minimumSize">
         <size>
-         <width>400</width>
+         <width>200</width>
          <height>0</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
-         <width>350</width>
+         <width>400</width>
          <height>16777215</height>
         </size>
        </property>
@@ -916,44 +999,6 @@
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
-          <item row="0" column="0">
-           <spacer name="verticalSpacer_5">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>15</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_2">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>100</width>
-              <height>10</height>
-             </size>
-            </property>
-            <property name="text">
-             <string>AVAILABLE BALANCE</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-           </widget>
-          </item>
           <item row="2" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_5">
             <property name="spacing">
@@ -976,9 +1021,9 @@
              </spacer>
             </item>
             <item>
-             <widget class="QWidget" name="pac_icon" native="true">
+             <widget class="QLabel" name="iconLabelAvailableBalance">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
@@ -989,9 +1034,11 @@
                 <height>30</height>
                </size>
               </property>
-              <property name="styleSheet">
-               <string notr="true">border-image: url(:/icons/bitcoin);
-</string>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
@@ -1096,7 +1143,45 @@
             </item>
            </layout>
           </item>
-          <item row="14" column="0">
+          <item row="0" column="0">
+           <spacer name="verticalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>15</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>100</width>
+              <height>10</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>AVAILABLE BALANCE</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="13" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_6">
             <item>
              <spacer name="horizontalSpacer_4">
@@ -1227,7 +1312,7 @@
             </item>
            </layout>
           </item>
-          <item row="11" column="0">
+          <item row="10" column="0">
            <spacer name="verticalSpacer_7">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
@@ -1243,7 +1328,7 @@
             </property>
            </spacer>
           </item>
-          <item row="12" column="0">
+          <item row="11" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_9">
             <item>
              <widget class="QPushButton" name="sendButton">
@@ -1278,256 +1363,435 @@
             </item>
            </layout>
           </item>
-          <item row="7" column="0">
-           <widget class="QFrame" name="frameFee">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>16777215</height>
-             </size>
+          <item row="6" column="0">
+           <widget class="QScrollArea" name="scrollArea_2">
+            <property name="widgetResizable">
+             <bool>true</bool>
             </property>
-            <property name="frameShape">
-             <enum>QFrame::StyledPanel</enum>
-            </property>
-            <property name="frameShadow">
-             <enum>QFrame::Sunken</enum>
-            </property>
-            <layout class="QVBoxLayout" name="verticalLayoutFee1">
-             <property name="spacing">
-              <number>0</number>
-             </property>
-             <property name="leftMargin">
-              <number>0</number>
-             </property>
-             <property name="topMargin">
-              <number>0</number>
+            <widget class="QWidget" name="scrollAreaWidgetContents_3">
+             <property name="geometry">
+              <rect>
+               <x>0</x>
+               <y>-73</y>
+               <width>357</width>
+               <height>411</height>
+              </rect>
              </property>
-             <property name="rightMargin">
-              <number>0</number>
-             </property>
-             <property name="bottomMargin">
-              <number>0</number>
-             </property>
-             <item>
-              <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0">
-               <property name="spacing">
-                <number>0</number>
-               </property>
-               <property name="leftMargin">
-                <number>0</number>
-               </property>
-               <property name="topMargin">
-                <number>0</number>
-               </property>
-               <item>
-                <layout class="QHBoxLayout" name="horizontalLayoutFee1">
+             <layout class="QVBoxLayout" name="verticalLayout_6">
+              <item>
+               <widget class="QFrame" name="frameFee">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>400</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="frameShape">
+                 <enum>QFrame::StyledPanel</enum>
+                </property>
+                <property name="frameShadow">
+                 <enum>QFrame::Sunken</enum>
+                </property>
+                <layout class="QVBoxLayout" name="verticalLayoutFee1">
+                 <property name="spacing">
+                  <number>0</number>
+                 </property>
+                 <property name="leftMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="topMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="rightMargin">
+                  <number>0</number>
+                 </property>
                  <property name="bottomMargin">
                   <number>0</number>
                  </property>
                  <item>
-                  <widget class="QPushButton" name="buttonMinimizeFee">
-                   <property name="maximumSize">
-                    <size>
-                     <width>250</width>
-                     <height>16777215</height>
-                    </size>
+                  <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0">
+                   <property name="spacing">
+                    <number>0</number>
                    </property>
-                   <property name="toolTip">
-                    <string>collapse fee-settings</string>
+                   <property name="leftMargin">
+                    <number>0</number>
                    </property>
-                   <property name="text">
-                    <string>Hide</string>
+                   <property name="topMargin">
+                    <number>0</number>
                    </property>
-                   <property name="class" stdset="0">
-                    <string>linkButton</string>
-                   </property>
-                  </widget>
-                 </item>
-                </layout>
-               </item>
-               <item>
-                <widget class="QFrame" name="frameFeeSelection">
-                 <layout class="QVBoxLayout" name="verticalLayoutFee12">
-                  <property name="spacing">
-                   <number>0</number>
-                  </property>
-                  <property name="leftMargin">
-                   <number>0</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>0</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>0</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>0</number>
-                  </property>
-                  <item>
-                   <layout class="QGridLayout" name="gridLayoutFee">
-                    <property name="topMargin">
-                     <number>10</number>
-                    </property>
-                    <property name="bottomMargin">
-                     <number>4</number>
-                    </property>
-                    <property name="horizontalSpacing">
-                     <number>10</number>
-                    </property>
-                    <property name="verticalSpacing">
-                     <number>4</number>
-                    </property>
-                    <item row="0" column="0">
-                     <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
+                   <item>
+                    <layout class="QHBoxLayout" name="horizontalLayoutFee1">
+                     <property name="bottomMargin">
+                      <number>0</number>
+                     </property>
+                     <item>
+                      <widget class="QPushButton" name="buttonMinimizeFee">
+                       <property name="maximumSize">
+                        <size>
+                         <width>250</width>
+                         <height>16777215</height>
+                        </size>
+                       </property>
+                       <property name="toolTip">
+                        <string>collapse fee-settings</string>
+                       </property>
+                       <property name="text">
+                        <string>Hide</string>
+                       </property>
+                       <property name="class" stdset="0">
+                        <string>linkButton</string>
+                       </property>
+                      </widget>
+                     </item>
+                    </layout>
+                   </item>
+                   <item>
+                    <widget class="QFrame" name="frameFeeSelection">
+                     <layout class="QVBoxLayout" name="verticalLayoutFee12">
                       <property name="spacing">
-                       <number>6</number>
+                       <number>0</number>
+                      </property>
+                      <property name="leftMargin">
+                       <number>0</number>
                       </property>
                       <property name="topMargin">
-                       <number>2</number>
+                       <number>0</number>
+                      </property>
+                      <property name="rightMargin">
+                       <number>0</number>
+                      </property>
+                      <property name="bottomMargin">
+                       <number>0</number>
                       </property>
                       <item>
-                       <layout class="QVBoxLayout" name="verticalLayout_5">
-                        <item>
-                         <widget class="QRadioButton" name="radioSmartFee">
-                          <property name="text">
-                           <string>Recommended:</string>
-                          </property>
-                          <property name="checked">
-                           <bool>true</bool>
-                          </property>
-                          <attribute name="buttonGroup">
-                           <string notr="true">groupFee</string>
-                          </attribute>
-                         </widget>
-                        </item>
-                       </layout>
-                      </item>
-                      <item>
-                       <layout class="QHBoxLayout" name="horizontalLayoutFee9">
-                        <item>
-                         <spacer name="horizontalSpacer_13">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Fixed</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>40</width>
-                            <height>20</height>
-                           </size>
+                       <layout class="QGridLayout" name="gridLayoutFee">
+                        <property name="topMargin">
+                         <number>10</number>
+                        </property>
+                        <property name="bottomMargin">
+                         <number>4</number>
+                        </property>
+                        <property name="horizontalSpacing">
+                         <number>10</number>
+                        </property>
+                        <property name="verticalSpacing">
+                         <number>4</number>
+                        </property>
+                        <item row="0" column="0">
+                         <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
+                          <property name="spacing">
+                           <number>6</number>
                           </property>
-                         </spacer>
-                        </item>
-                        <item>
-                         <layout class="QVBoxLayout" name="verticalLayoutFee5">
-                          <property name="rightMargin">
-                           <number>0</number>
+                          <property name="topMargin">
+                           <number>2</number>
                           </property>
                           <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee12">
+                           <layout class="QVBoxLayout" name="verticalLayout_5">
                             <item>
-                             <widget class="QLabel" name="labelSmartFee">
+                             <widget class="QRadioButton" name="radioSmartFee">
                               <property name="text">
-                               <string/>
+                               <string>Recommended:</string>
                               </property>
-                              <property name="margin">
-                               <number>2</number>
+                              <property name="checked">
+                               <bool>true</bool>
                               </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupFee</string>
+                              </attribute>
                              </widget>
                             </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee9">
+                            <item>
+                             <spacer name="horizontalSpacer_13">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>30</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
                             <item>
-                             <widget class="QLabel" name="labelFeeEstimation">
-                              <property name="text">
-                               <string/>
+                             <layout class="QVBoxLayout" name="verticalLayoutFee5">
+                              <property name="rightMargin">
+                               <number>0</number>
                               </property>
-                             </widget>
+                              <item>
+                               <layout class="QHBoxLayout" name="horizontalLayoutFee12">
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFee">
+                                  <property name="text">
+                                   <string/>
+                                  </property>
+                                  <property name="margin">
+                                   <number>2</number>
+                                  </property>
+                                 </widget>
+                                </item>
+                                <item>
+                                 <widget class="QLabel" name="labelFeeEstimation">
+                                  <property name="text">
+                                   <string/>
+                                  </property>
+                                 </widget>
+                                </item>
+                               </layout>
+                              </item>
+                              <item>
+                               <widget class="QLabel" name="labelSmartFee2">
+                                <property name="lineWidth">
+                                 <number>1</number>
+                                </property>
+                                <property name="text">
+                                 <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
+                                </property>
+                                <property name="wordWrap">
+                                 <bool>true</bool>
+                                </property>
+                                <property name="margin">
+                                 <number>2</number>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <widget class="QLabel" name="labelSmartFee3">
+                                <property name="text">
+                                 <string>Confirmation time:</string>
+                                </property>
+                                <property name="margin">
+                                 <number>2</number>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <widget class="QSlider" name="sliderSmartFee">
+                                <property name="sizePolicy">
+                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                                  <horstretch>0</horstretch>
+                                  <verstretch>0</verstretch>
+                                 </sizepolicy>
+                                </property>
+                                <property name="maximumSize">
+                                 <size>
+                                  <width>16777215</width>
+                                  <height>16777215</height>
+                                 </size>
+                                </property>
+                                <property name="minimum">
+                                 <number>0</number>
+                                </property>
+                                <property name="maximum">
+                                 <number>24</number>
+                                </property>
+                                <property name="pageStep">
+                                 <number>1</number>
+                                </property>
+                                <property name="value">
+                                 <number>0</number>
+                                </property>
+                                <property name="orientation">
+                                 <enum>Qt::Horizontal</enum>
+                                </property>
+                                <property name="invertedAppearance">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="invertedControls">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="tickPosition">
+                                 <enum>QSlider::NoTicks</enum>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <layout class="QHBoxLayout" name="horizontalLayoutFee10">
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFeeNormal">
+                                  <property name="text">
+                                   <string>normal</string>
+                                  </property>
+                                 </widget>
+                                </item>
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFeeFast">
+                                  <property name="text">
+                                   <string>fast</string>
+                                  </property>
+                                  <property name="alignment">
+                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                                  </property>
+                                 </widget>
+                                </item>
+                               </layout>
+                              </item>
+                             </layout>
                             </item>
                            </layout>
                           </item>
                           <item>
-                           <widget class="QLabel" name="labelSmartFee2">
-                            <property name="text">
-                             <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
+                           <spacer name="verticalSpacer_4">
+                            <property name="orientation">
+                             <enum>Qt::Vertical</enum>
                             </property>
-                            <property name="margin">
-                             <number>2</number>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>1</width>
+                              <height>1</height>
+                             </size>
                             </property>
-                           </widget>
+                           </spacer>
                           </item>
+                         </layout>
+                        </item>
+                        <item row="1" column="0">
+                         <layout class="QVBoxLayout" name="verticalLayoutFee8">
+                          <property name="spacing">
+                           <number>6</number>
+                          </property>
                           <item>
-                           <widget class="QLabel" name="labelSmartFee3">
+                           <widget class="QRadioButton" name="radioCustomFee">
                             <property name="text">
-                             <string>Confirmation time:</string>
-                            </property>
-                            <property name="margin">
-                             <number>2</number>
+                             <string>Custom:</string>
                             </property>
+                            <attribute name="buttonGroup">
+                             <string notr="true">groupFee</string>
+                            </attribute>
                            </widget>
                           </item>
                           <item>
-                           <widget class="QSlider" name="sliderSmartFee">
-                            <property name="sizePolicy">
-                             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                              <horstretch>0</horstretch>
-                              <verstretch>0</verstretch>
-                             </sizepolicy>
-                            </property>
-                            <property name="maximumSize">
-                             <size>
-                              <width>16777215</width>
-                              <height>16777215</height>
-                             </size>
-                            </property>
-                            <property name="minimum">
-                             <number>0</number>
-                            </property>
-                            <property name="maximum">
-                             <number>24</number>
-                            </property>
-                            <property name="pageStep">
-                             <number>1</number>
-                            </property>
-                            <property name="value">
-                             <number>0</number>
-                            </property>
-                            <property name="orientation">
-                             <enum>Qt::Horizontal</enum>
-                            </property>
-                            <property name="invertedAppearance">
-                             <bool>false</bool>
-                            </property>
-                            <property name="invertedControls">
-                             <bool>false</bool>
-                            </property>
-                            <property name="tickPosition">
-                             <enum>QSlider::NoTicks</enum>
-                            </property>
-                           </widget>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee13">
+                            <item>
+                             <spacer name="horizontalSpacer_2">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>30</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>per kilobyte</string>
+                              </property>
+                              <property name="checked">
+                               <bool>true</bool>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomAtLeast">
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>total at least</string>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayout_10">
+                            <item>
+                             <spacer name="horizontalSpacer_6">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>50</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="BitcoinAmountField" name="customFee"/>
+                            </item>
+                           </layout>
                           </item>
                           <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee10">
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee8">
+                            <item>
+                             <spacer name="horizontalSpacer_3">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>30</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
                             <item>
-                             <widget class="QLabel" name="labelSmartFeeNormal">
+                             <widget class="QCheckBox" name="checkBoxMinimumFee">
+                              <property name="maximumSize">
+                               <size>
+                                <width>25</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <property name="toolTip">
+                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                              </property>
                               <property name="text">
-                               <string>normal</string>
+                               <string/>
                               </property>
                              </widget>
                             </item>
                             <item>
-                             <widget class="QLabel" name="labelSmartFeeFast">
+                             <widget class="QLabel" name="labelMinFeeWarning">
+                              <property name="enabled">
+                               <bool>true</bool>
+                              </property>
+                              <property name="toolTip">
+                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                              </property>
                               <property name="text">
-                               <string>fast</string>
+                               <string>(read the tooltip)</string>
                               </property>
-                              <property name="alignment">
-                               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                              <property name="margin">
+                               <number>5</number>
                               </property>
                              </widget>
                             </item>
@@ -1538,221 +1802,55 @@
                        </layout>
                       </item>
                       <item>
-                       <spacer name="verticalSpacer_4">
-                        <property name="orientation">
-                         <enum>Qt::Vertical</enum>
-                        </property>
-                        <property name="sizeHint" stdset="0">
-                         <size>
-                          <width>1</width>
-                          <height>1</height>
-                         </size>
+                       <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0">
+                        <property name="spacing">
+                         <number>8</number>
                         </property>
-                       </spacer>
-                      </item>
-                     </layout>
-                    </item>
-                    <item row="1" column="0">
-                     <layout class="QVBoxLayout" name="verticalLayoutFee8">
-                      <property name="spacing">
-                       <number>6</number>
-                      </property>
-                      <item>
-                       <widget class="QRadioButton" name="radioCustomFee">
-                        <property name="text">
-                         <string>Custom:</string>
+                        <property name="bottomMargin">
+                         <number>4</number>
                         </property>
-                        <attribute name="buttonGroup">
-                         <string notr="true">groupFee</string>
-                        </attribute>
-                       </widget>
-                      </item>
-                      <item>
-                       <layout class="QHBoxLayout" name="horizontalLayoutFee13">
-                        <item>
-                         <spacer name="horizontalSpacer_2">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Minimum</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>40</width>
-                            <height>20</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
-                        <item>
-                         <widget class="QRadioButton" name="radioCustomPerKilobyte">
-                          <property name="toolTip">
-                           <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                          </property>
-                          <property name="text">
-                           <string>per kilobyte</string>
-                          </property>
-                          <property name="checked">
-                           <bool>true</bool>
-                          </property>
-                          <attribute name="buttonGroup">
-                           <string notr="true">groupCustomFee</string>
-                          </attribute>
-                         </widget>
-                        </item>
                         <item>
-                         <widget class="QRadioButton" name="radioCustomAtLeast">
-                          <property name="toolTip">
-                           <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                          </property>
+                         <widget class="QCheckBox" name="checkBoxFreeTx">
                           <property name="text">
-                           <string>total at least</string>
+                           <string>Send as zero-fee transaction if possible</string>
                           </property>
-                          <attribute name="buttonGroup">
-                           <string notr="true">groupCustomFee</string>
-                          </attribute>
                          </widget>
                         </item>
-                        <item>
-                         <widget class="BitcoinAmountField" name="customFee"/>
-                        </item>
-                        <item>
-                         <spacer name="horizontalSpacer_6">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Preferred</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>1</width>
-                            <height>1</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
                        </layout>
                       </item>
                       <item>
-                       <layout class="QHBoxLayout" name="horizontalLayoutFee8">
-                        <item>
-                         <spacer name="horizontalSpacer_3">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Fixed</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>40</width>
-                            <height>20</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
-                        <item>
-                         <widget class="QCheckBox" name="checkBoxMinimumFee">
-                          <property name="maximumSize">
-                           <size>
-                            <width>25</width>
-                            <height>16777215</height>
-                           </size>
-                          </property>
-                          <property name="toolTip">
-                           <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                          </property>
-                          <property name="text">
-                           <string/>
-                          </property>
-                         </widget>
-                        </item>
-                        <item>
-                         <widget class="QLabel" name="labelMinFeeWarning">
-                          <property name="enabled">
-                           <bool>true</bool>
-                          </property>
-                          <property name="toolTip">
-                           <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                          </property>
-                          <property name="text">
-                           <string>(read the tooltip)</string>
-                          </property>
-                          <property name="margin">
-                           <number>5</number>
-                          </property>
-                         </widget>
-                        </item>
-                       </layout>
+                       <widget class="QLabel" name="labelFreeTx">
+                        <property name="text">
+                         <string>     (confirmation may take longer)</string>
+                        </property>
+                        <property name="margin">
+                         <number>5</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <spacer name="verticalSpacer_11">
+                        <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>
-                  </item>
-                  <item>
-                   <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0,0,0">
-                    <property name="spacing">
-                     <number>8</number>
-                    </property>
-                    <property name="bottomMargin">
-                     <number>4</number>
-                    </property>
-                    <item>
-                     <widget class="QCheckBox" name="checkBoxFreeTx">
-                      <property name="text">
-                       <string>Send as zero-fee transaction if possible</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item>
-                     <widget class="QLabel" name="labelFreeTx">
-                      <property name="text">
-                       <string>(confirmation may take longer)</string>
-                      </property>
-                      <property name="margin">
-                       <number>5</number>
-                      </property>
-                     </widget>
-                    </item>
-                    <item>
-                     <spacer name="horizontalSpacerFee5">
-                      <property name="orientation">
-                       <enum>Qt::Horizontal</enum>
-                      </property>
-                      <property name="sizeType">
-                       <enum>QSizePolicy::Preferred</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>1</width>
-                        <height>1</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <spacer name="verticalSpacerFee2">
-                    <property name="orientation">
-                     <enum>Qt::Vertical</enum>
-                    </property>
-                    <property name="sizeHint" stdset="0">
-                     <size>
-                      <width>1</width>
-                      <height>1</height>
-                     </size>
-                    </property>
-                   </spacer>
-                  </item>
-                 </layout>
-                </widget>
-               </item>
-              </layout>
-             </item>
-            </layout>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                </layout>
+               </widget>
+              </item>
+             </layout>
+            </widget>
            </widget>
           </item>
          </layout>
@@ -1780,7 +1878,7 @@
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
+  <buttongroup name="groupCustomFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index fd7934b37cbb..f76b386edb4a 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -225,11 +225,44 @@
        </widget>
       </item>
       <item>
-       <widget class="BitcoinAmountField" name="payAmount">
-        <property name="class" stdset="0">
-         <string>LineEdit_PacCoins</string>
-        </property>
-       </widget>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Expanding</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="BitcoinAmountField" name="payAmount">
+          <property name="class" stdset="0">
+           <string>LineEdit_PacCoins</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_3">
+          <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>
      </layout>
     </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 5d49aba71906..1e737a7d8cc1 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -499,7 +499,7 @@ QRadioButton::indicator:indeterminate:pressed {
 #frameFee{
     border: 0px;
 }
-#scrollArea, #scrollAreaWidgetContents{
+#scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3{
     background-color:rgba(0,0,0,0) !important;
 }
 
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 5fe3202cc30b..6ef3674bc4b7 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -53,7 +53,8 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     }
 
     ui->iconLabelConvertedCurrency->setPixmap(QPixmap(":icons/bitcoin-32"));
-
+    ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32"));
+    
     GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this);
 
     addEntry();

From f1b42143da53c73a02e3e17421b893699cbaf2ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 13:12:35 -0600
Subject: [PATCH 035/225] Typography implemented on the code

Volte Rounded
---
 src/qt/bitcoingui.cpp   |  7 +++---
 src/qt/overviewpage.cpp |  9 ++++----
 src/qt/res/css/pac.css  | 51 +++++++++++++++++------------------------
 3 files changed, 28 insertions(+), 39 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 5291ecbc4330..7acc96939ae1 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -130,10 +130,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 {
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
-    QFontDatabase::addApplicationFont(":/fonts/Montserrat-Medium");
-    QFontDatabase::addApplicationFont(":/fonts/LC50Book");
-    QFontDatabase::addApplicationFont(":/fonts/Montserrat-Regular");
-    QFontDatabase::addApplicationFont(":/fonts/typo");
+    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
+    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+    std::cout<< "family: " << family.toStdString();
 
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index e56ac0fad36e..605bf5f59a88 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -57,10 +57,9 @@ class TxViewDelegate : public QAbstractItemDelegate
                       const QModelIndex &index ) const
     {
         painter->save();
-
-        QFont montserratFontRegular("Montserrat",11, 1, false);
+        QFont customFont("Volte Rounded",11, 1, false);
         QFont defaultFont = painter->font();
-        painter->setFont(montserratFontRegular);
+        painter->setFont(customFont);
 
         QIcon icon = qvariant_cast<QIcon>(index.data(TransactionTableModel::RawDecorationRole));
         QRect mainRect = option.rect;
@@ -116,10 +115,10 @@ class TxViewDelegate : public QAbstractItemDelegate
         {
             amountText = QString("[") + amountText + QString("]");
         }
-        painter->setFont(montserratFontRegular);
+        painter->setFont(customFont);
         painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
         painter->setPen(COLOR_TEXT);
-        painter->setFont(montserratFontRegular);
+        painter->setFont(customFont);
         painter->drawText(amountRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::dateStr(date));
         painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::timeStr(date));
         painter->restore();
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 1e737a7d8cc1..b150a05073f7 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,7 +3,7 @@
  */
 
 QLabel{
-    font-family: 'ZCOOL KuaiLe', cursive !important;
+    font-family: 'Volte Rounded',sans-serif !important;
     color: rgb(255,255,255) !important;
 }
 
@@ -26,11 +26,15 @@ QStatusBar{
 }
 
 #btnChangeImage{
-    border: 2px solid pink !important;
-    border-image: url(:/images/pac/profile) !important;
+    border-radius: 35px !important;
+    border-image: url(:/images/pac/profile) 0 0 0 0 stretch stretch;
 }
 #btnChangeImage:hover {
-    border-image: url(:/images/pac/hover_profile) !important;
+    border-radius: 35px !important;
+    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;
+}
+#btnChangeImage:pressed {
+    background-color: rgb(263,252,76) !important;
 }
 
 [class="container"]{
@@ -49,7 +53,7 @@ QStatusBar{
     background-color: rgb(20, 20, 20);
     color: #fff;
     height: 40px !important;
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 [class="LineEdit"]:focus {
@@ -68,40 +72,27 @@ QStatusBar{
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
     color:rgb(243,232,56);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 30px;/*20px*/
     font-weight: 100;
 }
 QLabel[class="usdLabel"]{
     color:rgb(255,255,255);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
     font-weight: 100;
 }
 
-
-/* text input
-QTextEdit {
-    background: rgb(10, 10, 10);
-    color: rgb(255, 255, 255);
-    border: none;
-    border-radius: 15px;
-    height: 120px !important;
-    font-family: 'Montserrat', sans-serif;
-    font-size: 20px;
-}*/
-
-
 /*textarea*/
 QPlainTextEdit {
     background: rgb(255, 0, 0);
     color: rgb(20, 20, 20);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 
@@ -110,7 +101,7 @@ QPlainTextEdit {
 QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -169,7 +160,7 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
 QAbstractSpinBox {
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -227,11 +218,11 @@ QHeaderView::section { /* Top of the table Header Sections */
     padding-top:2px;
     padding-bottom:2px;
 }
-.QScrollArea {
+QScrollArea {
     background:transparent;
     border:2px solid transparent;
 }
-.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(224, 224, 224, 0.1);
     color: white !important;
     /*alternate-background-color: yellow;*/
@@ -244,7 +235,7 @@ QTableView::item:selected { /* Table Item Selected */
     background-color: rgb(255, 255, 0);
     color:#000;
 }
-.QTableWidget{
+QTableWidget{
     background-color: rgba(224, 224, 224, 0.1); 
 }
 QScrollBar { /* Scroll Bar */
@@ -363,7 +354,7 @@ QPushButton {
     font-family: Arial;
     font-style: normal;
     font-weight: bold;
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }
@@ -408,7 +399,7 @@ QPushButton:pressed {
     border-radius: 25px;
     height: 50px;
     font-style: normal;
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-transform:uppercase;
 }
@@ -560,7 +551,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     height: 30px;
     /*font-family: Arial;*/
     font-weight: bold;
-    font-family: 'Montserrat', sans-serif;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }

From a5976687fb245bb20bdabebc45c1a8db955cba79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 24 Jan 2019 13:32:24 -0600
Subject: [PATCH 036/225] Default typography changed and new header bar

Header bar for messages and profile picture implemented
CSS, images, and elements ready to be programmed
Application typography Volte Rounded is now the default for the wallet
---
 src/qt/bitcoingui.cpp                |  54 +++++++++++++++++++--------
 src/qt/forms/overviewpage.ui         |  12 ++++++
 src/qt/overviewpage.cpp              |   1 +
 src/qt/paccoin.qrc                   |   1 +
 src/qt/res/css/pac.css               |  13 +------
 src/qt/res/images/pac/header_bkg.png | Bin 0 -> 18730 bytes
 6 files changed, 54 insertions(+), 27 deletions(-)
 create mode 100644 src/qt/res/images/pac/header_bkg.png

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 7acc96939ae1..51eecb407d5c 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -59,6 +59,8 @@
 #include <QRegion>
 #include <QPushButton>
 #include <QFontDatabase>
+#include <QSpacerItem>
+#include <QFont>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -134,6 +136,10 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: " << family.toStdString();
 
+    QFont defaultFont("Volte Rounded",11, 1, false);
+    defaultFont.setBold(false);
+    QApplication::setFont(defaultFont);
+
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
     GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this);
@@ -650,31 +656,49 @@ void BitcoinGUI::createToolBars()
 }
 void BitcoinGUI::createHeaderBar()
 {
+    /** Creating the profile image widget */
     headerFrame = new QFrame;
+    QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
+    QLabel *messageLabel = new QLabel(this);
+    QFrame *frameImg = new QFrame;
+    QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
+    QPushButton *btnImg = new QPushButton;
+    QSpacerItem *item = new QSpacerItem(15,1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+
+
     headerFrame->setFixedHeight(100);
     headerFrame->setObjectName("headerFrameLayout");
-    headerFrame->setStyleSheet("QFrame {background: rgba(50,50,50,0.6);} #headerFrameLayout{background:transparent !important;}");
-    headerFrame->setContentsMargins(40,20,40,10);
-
+    headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");//background-size: cover; background-repeat: repeat;
+    headerFrame->setContentsMargins(40,0,0,0);
 
-    QPushButton* btnChangeImage = new QPushButton();
-    btnChangeImage->setObjectName("btnChangeImage");
-    btnChangeImage->setFixedHeight(80);
-    btnChangeImage->setFixedWidth(80);
-    QRect rect(0,0,80,80);
-    QRegion region(rect, QRegion::Ellipse);
-    btnChangeImage->setMask(region);
 
-    QLabel *messageLabel = new QLabel(this);
-    messageLabel->setText("LATEST NEWS: $PAC launches new desktop wallet, featuring new merchant-focused featu...");
+    messageLabel->setText("LATEST NEWS: $PAC launches new desktop wallet, featuring new merchant-focused...");
     messageLabel->setAlignment(Qt::AlignCenter);
-    messageLabel->setStyleSheet("QLabel { color:white; font-size:25px;}");
+    messageLabel->setStyleSheet("QLabel { color:white; font-size:24px;}");
+
+    frameImg->setFrameStyle(QFrame::StyledPanel);
+    frameImg->setFrameShadow(QFrame::Raised);
+    frameImg->setStyleSheet("QFrame { border-image: url(:/images/pac/profile_bkg) 0 0 0 0 stretch stretch; margin-right:-1px !important }");
+    frameImg->setFixedWidth(100);
+    frameImg->setFixedHeight(85);
+
+    btnImg->setObjectName("btnChangeImage");
+    btnImg->setStyleSheet("border-image: ; border-radius: 35px; width:70px; height:70px;");
+    btnImg->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    btnImg->setFixedHeight(70);
+    btnImg->setFixedWidth(70);
+
+    profileImgLayout->setContentsMargins(0,0,0,0);
+    profileImgLayout->addWidget(btnImg);
+    profileImgLayout->addSpacerItem(item);
+    frameImg->setLayout(profileImgLayout);
+
+    /* inserting everything inside the header*/
 
-    QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
     headerFrameLayout->setContentsMargins(0,0,0,0);
     headerFrameLayout->setContentsMargins(0,0,0,0);
     headerFrameLayout->addWidget(messageLabel);
-    headerFrameLayout->addWidget(btnChangeImage);
+    headerFrameLayout->addWidget(frameImg);
     headerFrame->setLayout(headerFrameLayout);
 }
 
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index da5ca52bf6fc..13de6084a5db 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -78,6 +78,18 @@
           <string>container</string>
          </property>
          <layout class="QVBoxLayout" name="verticalLayout_4">
+          <property name="leftMargin">
+           <number>0</number>
+          </property>
+          <property name="topMargin">
+           <number>0</number>
+          </property>
+          <property name="rightMargin">
+           <number>10</number>
+          </property>
+          <property name="bottomMargin">
+           <number>10</number>
+          </property>
           <item>
            <widget class="QLabel" name="labelWalletStatus">
             <property name="sizePolicy">
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 605bf5f59a88..e6645d64bbfc 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -58,6 +58,7 @@ class TxViewDelegate : public QAbstractItemDelegate
     {
         painter->save();
         QFont customFont("Volte Rounded",11, 1, false);
+        customFont.setBold(false);
         QFont defaultFont = painter->font();
         painter->setFont(customFont);
 
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 0019f1398aa8..079a4210c52f 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -369,6 +369,7 @@
         <file alias="hover_profile">res/images/pac/hover_profile.png</file>
         <file alias="profile_bkg">res/images/pac/profile_bkg.png</file>
         <file alias="profile">res/images/pac/profile.jpg</file>
+        <file alias="header_bkg">res/images/pac/header_bkg.png</file>
     </qresource>
     <qresource prefix="/images/trad">
         <file alias="about">res/images/trad/about.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b150a05073f7..3ca6a9129cc9 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,7 +3,7 @@
  */
 
 QLabel{
-    font-family: 'Volte Rounded',sans-serif !important;
+
     color: rgb(255,255,255) !important;
 }
 
@@ -53,7 +53,6 @@ QStatusBar{
     background-color: rgb(20, 20, 20);
     color: #fff;
     height: 40px !important;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 [class="LineEdit"]:focus {
@@ -72,18 +71,15 @@ QStatusBar{
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
     color:rgb(243,232,56);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 30px;/*20px*/
     font-weight: 100;
 }
 QLabel[class="usdLabel"]{
     color:rgb(255,255,255);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
     font-weight: 100;
 }
@@ -92,7 +88,6 @@ QLabel[class="usdLabel"]{
 QPlainTextEdit {
     background: rgb(255, 0, 0);
     color: rgb(20, 20, 20);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 
@@ -101,7 +96,6 @@ QPlainTextEdit {
 QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -160,7 +154,6 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
 QAbstractSpinBox {
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -351,10 +344,8 @@ QPushButton {
     border-radius: 12px;
     height: 30px;
     width: 150px;
-    font-family: Arial;
     font-style: normal;
     font-weight: bold;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }
@@ -399,7 +390,6 @@ QPushButton:pressed {
     border-radius: 25px;
     height: 50px;
     font-style: normal;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-transform:uppercase;
 }
@@ -551,7 +541,6 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     height: 30px;
     /*font-family: Arial;*/
     font-weight: bold;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }
diff --git a/src/qt/res/images/pac/header_bkg.png b/src/qt/res/images/pac/header_bkg.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d1a3ec71452b087a73d8444e8df8317b299d2bf
GIT binary patch

From 6b6185c11096f63d05c173380fbe4e821e2beb67 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 13:55:56 -0600
Subject: [PATCH 037/225] Layout alignment

---
 src/qt/bitcoinamountfield.cpp   |  2 +-
 src/qt/forms/sendcoinsdialog.ui |  6 ++---
 src/qt/forms/sendcoinsentry.ui  | 43 ++++-----------------------------
 src/qt/res/css/pac.css          | 27 +++++++++++++++++++--
 4 files changed, 34 insertions(+), 44 deletions(-)

diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index 78c19ff4fe43..9975db3cb08a 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -197,7 +197,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) :
     amount = new AmountSpinBox(this);
     amount->setLocale(QLocale::c());
     amount->installEventFilter(this);
-    amount->setMaximumWidth(170);
+    //amount->setMaximumWidth(170);
 
     QHBoxLayout *layout = new QHBoxLayout(this);
     layout->addWidget(amount);
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 3203107029a2..94c49c8ec26e 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1121,10 +1121,10 @@
                <string notr="true">font-weight:bold;</string>
               </property>
               <property name="text">
-               <string>Transaction Fee:</string>
+               <string>Transaction Fee: </string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignCenter</set>
+               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
               </property>
              </widget>
             </item>
@@ -1372,7 +1372,7 @@
              <property name="geometry">
               <rect>
                <x>0</x>
-               <y>-73</y>
+               <y>-67</y>
                <width>357</width>
                <height>411</height>
               </rect>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index f76b386edb4a..fd7934b37cbb 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -225,44 +225,11 @@
        </widget>
       </item>
       <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <spacer name="horizontalSpacer_2">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeType">
-           <enum>QSizePolicy::Expanding</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="BitcoinAmountField" name="payAmount">
-          <property name="class" stdset="0">
-           <string>LineEdit_PacCoins</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_3">
-          <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="BitcoinAmountField" name="payAmount">
+        <property name="class" stdset="0">
+         <string>LineEdit_PacCoins</string>
+        </property>
+       </widget>
       </item>
      </layout>
     </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 3ca6a9129cc9..ab8f8804a9f1 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,7 +3,7 @@
  */
 
 QLabel{
-
+    font-family: 'Volte Rounded',sans-serif !important;
     color: rgb(255,255,255) !important;
 }
 
@@ -53,6 +53,7 @@ QStatusBar{
     background-color: rgb(20, 20, 20);
     color: #fff;
     height: 40px !important;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 [class="LineEdit"]:focus {
@@ -71,15 +72,18 @@ QStatusBar{
 /* labels */
 QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
     color:rgb(243,232,56);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 30px;/*20px*/
     font-weight: 100;
 }
 QLabel[class="usdLabel"]{
     color:rgb(255,255,255);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
     font-weight: 100;
 }
@@ -88,6 +92,7 @@ QLabel[class="usdLabel"]{
 QPlainTextEdit {
     background: rgb(255, 0, 0);
     color: rgb(20, 20, 20);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 
@@ -96,6 +101,7 @@ QPlainTextEdit {
 QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -154,6 +160,7 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
 QAbstractSpinBox {
     border-radius: 20px;
     background-color: rgb(20, 20, 20);
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -344,8 +351,10 @@ QPushButton {
     border-radius: 12px;
     height: 30px;
     width: 150px;
+    font-family: Arial;
     font-style: normal;
     font-weight: bold;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }
@@ -390,6 +399,7 @@ QPushButton:pressed {
     border-radius: 25px;
     height: 50px;
     font-style: normal;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-transform:uppercase;
 }
@@ -520,7 +530,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
  * Private Page
  */
 #framePrivateSend{
-    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(28, 28, 28, 0.3), stop: 1 rgba(89, 89, 89, 0.3));
+    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.5), stop: 1 rgba(89, 89, 89, 0.3));
     /*background-color: rgba(50,50,50,0.6);*/
     border: 0px !important;
 }
@@ -541,6 +551,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     height: 30px;
     /*font-family: Arial;*/
     font-weight: bold;
+    font-family: 'Volte Rounded', sans-serif;
     font-size: 10px;
     text-transform:uppercase;
 }
@@ -588,3 +599,15 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
     padding-left:1px;
 }
 
+
+
+#SendCoinsEntry QAbstractSpinBox {
+    width: 200%;
+    background-color: rgb(10, 20, 60);
+    /*qproperty-sizePolicy: 'Expanding,Preferred,0,0' ;*/
+}
+
+#buttonChooseFee {
+    background-color: rgb(10, 20, 60);
+    qproperty-text: 'test';
+}
\ No newline at end of file

From f32f19c1c3210d359d98683d9e24ce2717b68523 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 24 Jan 2019 15:21:00 -0600
Subject: [PATCH 038/225] UI modifications

Specific details
---
 src/qt/masternodelist.cpp         |  3 +++
 src/qt/proposallist.cpp           | 15 +++++++++------
 src/qt/receivecoinsdialog.cpp     |  1 +
 src/qt/transactionview.cpp        |  3 ++-
 src/qt/walletview.cpp             |  2 ++
 src/qt/websocketclientwrapper.cpp | 18 +++++++++++++-----
 6 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index db679a032293..852ef105e336 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -56,6 +56,9 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
     ui->tableWidgetMasternodes->setColumnWidth(3, columnActiveWidth);
     ui->tableWidgetMasternodes->setColumnWidth(4, columnLastSeenWidth);
 
+    ui->tableWidgetMasternodes->setAlternatingRowColors(false);
+    ui->tableWidgetMasternodes->setShowGrid(false);
+
     ui->tableWidgetMyMasternodes->setContextMenuPolicy(Qt::CustomContextMenu);
 
     QAction *startAliasAction = new QAction(tr("Start alias"), this);
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index d30d1e75c4e0..a339d2f5dde1 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -52,21 +52,22 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     hlayout->setSpacing(0);
 
     proposalWidget = new QLineEdit(this);
+    proposalWidget->setObjectName("proposalWidget");
 #if QT_VERSION >= 0x040700
     proposalWidget->setPlaceholderText(tr("Enter proposal name"));
 #endif
-    proposalWidget->setObjectName("proposalWidget");
     hlayout->addWidget(proposalWidget);
 
     amountWidget = new QLineEdit(this);
+    amountWidget->setObjectName("amountWidget");
 #if QT_VERSION >= 0x040700
     amountWidget->setPlaceholderText(tr("Min amount"));
 #endif
     amountWidget->setValidator(new QDoubleValidator(0, 1e20, 8, this));
-    amountWidget->setObjectName("amountWidget");
     hlayout->addWidget(amountWidget);
 
     startDateWidget = new QComboBox(this);
+    startDateWidget->setObjectName("startDateWidget");
     startDateWidget->addItem(tr("All"), All);
     startDateWidget->addItem(tr("Today"), Today);
     startDateWidget->addItem(tr("This week"), ThisWeek);
@@ -78,6 +79,7 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     hlayout->addWidget(startDateWidget);
 
     endDateWidget = new QComboBox(this);
+    endDateWidget->setObjectName("endDateWidget");
     endDateWidget->addItem(tr("All"), All);
     endDateWidget->addItem(tr("Today"), Today);
     endDateWidget->addItem(tr("This week"), ThisWeek);
@@ -89,36 +91,36 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     hlayout->addWidget(endDateWidget);
 
     yesVotesWidget = new QLineEdit(this);
+    yesVotesWidget->setObjectName("yesVotesWidget");
 #if QT_VERSION >= 0x040700
     yesVotesWidget->setPlaceholderText(tr("Min yes votes"));
 #endif
     yesVotesWidget->setValidator(new QIntValidator(0, INT_MAX, this));
-    yesVotesWidget->setObjectName("yesVotesWidget");
     hlayout->addWidget(yesVotesWidget);
 
     noVotesWidget = new QLineEdit(this);
+    noVotesWidget->setObjectName("noVotesWidget");
 #if QT_VERSION >= 0x040700
     noVotesWidget->setPlaceholderText(tr("Min no votes"));
 #endif
     noVotesWidget->setValidator(new QIntValidator(0, INT_MAX, this));
-    noVotesWidget->setObjectName("noVotesWidget");
     hlayout->addWidget(noVotesWidget);
 
 
     absoluteYesVotesWidget = new QLineEdit(this);
+    absoluteYesVotesWidget->setObjectName("absoluteYesVotesWidget");
 #if QT_VERSION >= 0x040700
     absoluteYesVotesWidget->setPlaceholderText(tr("Min abs. yes votes"));
 #endif
     absoluteYesVotesWidget->setValidator(new QIntValidator(INT_MIN, INT_MAX, this));
-    absoluteYesVotesWidget->setObjectName("absoluteYesVotesWidget");
     hlayout->addWidget(absoluteYesVotesWidget);
 
     percentageWidget = new QLineEdit(this);
+    percentageWidget->setObjectName("percentageWidget");
 #if QT_VERSION >= 0x040700
     percentageWidget->setPlaceholderText(tr("Min percentage"));
 #endif
     percentageWidget->setValidator(new QIntValidator(-100, 100, this));
-    percentageWidget->setObjectName("percentageWidget");
     hlayout->addWidget(percentageWidget);
 
     QVBoxLayout *vlayout = new QVBoxLayout(this);
@@ -214,6 +216,7 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     proposalList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     proposalList->setModel(proposalProxyModel);
     proposalList->setAlternatingRowColors(false);
+    proposalList->setShowGrid(false);
     proposalList->setSelectionBehavior(QAbstractItemView::SelectRows);
     proposalList->setSortingEnabled(true);
     proposalList->sortByColumn(ProposalTableModel::StartDate, Qt::DescendingOrder);
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index f5239d7ab0f9..78454291f76a 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -83,6 +83,7 @@ void ReceiveCoinsDialog::setModel(WalletModel *model)
         tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         tableView->setModel(model->getRecentRequestsTableModel());
         tableView->setAlternatingRowColors(false);
+        tableView->setShowGrid(false);
         tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
         tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
         tableView->setColumnWidth(RecentRequestsTableModel::Date, DATE_COLUMN_WIDTH);
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index ca3a2b52c925..7a0fdb8b5d6c 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -48,7 +48,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     setContentsMargins(0,0,0,0);
 
     QHBoxLayout *hlayout = new QHBoxLayout();
-    hlayout->setContentsMargins(0,0,0,8);
+    hlayout->setContentsMargins(0,0,0,8 );
     if (platformStyle->getUseExtraSpacing()) {
         hlayout->setSpacing(0);
         hlayout->addSpacing(6);
@@ -219,6 +219,7 @@ void TransactionView::setModel(WalletModel *model)
         transactionView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
         transactionView->setModel(transactionProxyModel);
         transactionView->setAlternatingRowColors(false);
+        transactionView->setShowGrid(false);
         transactionView->setSelectionBehavior(QAbstractItemView::SelectRows);
         transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection);
         transactionView->setSortingEnabled(true);
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index fdd3dbd39fc3..cd5c3414b3a2 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -95,6 +95,8 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
 
     proposalList = new ProposalList(platformStyle);
     privatePage = new PrivatePage(platformStyle);
+    proposalList->setContentsMargins(50,50,50,50);
+    privatePage->setContentsMargins(50,50,50,50);
     addWidget(proposalList);
     addWidget(privatePage);
 
diff --git a/src/qt/websocketclientwrapper.cpp b/src/qt/websocketclientwrapper.cpp
index 1235439debe4..3b628d63997f 100644
--- a/src/qt/websocketclientwrapper.cpp
+++ b/src/qt/websocketclientwrapper.cpp
@@ -2,21 +2,29 @@
 #include <QtWebSockets/QWebSocketServer>
 #include "websockettransport.h"
 
+#include <string>
+#include <iostream>
+
+using namespace std;
+
 QT_BEGIN_NAMESPACE
 
-WebSocketClientWrapper::WebSocketClientWrapper(const QUrl &url, QObject *parent)
-    : QObject(parent)
-    , m_url(url)
+WebSocketClientWrapper::WebSocketClientWrapper(const QUrl &url, QObject *parent): QObject(parent), m_url(url)
 {
-    qWarning() << "Open WebSocket connection: " << m_url;
+    cout << "BeforeWrapper" << endl;
+    QString str = m_url.toEncoded();
+    cout << "Open WebSocket connection: " << str.toStdString() << endl;
     connect(&m_webSocket, &QWebSocket::connected,
             this, &WebSocketClientWrapper::handleNewConnection);
-    qDebug() << "connecting...";
+    cout << "connecting...";
     m_webSocket.open(url);
+    cout << "AfterWrapper" << endl;
 }
 
 void WebSocketClientWrapper::handleNewConnection()
 {
+    cout << "BeforeConnecting" << endl;
     qWarning() << "WebSocket connected: " << m_url;
     Q_EMIT clientConnected(new WebSocketTransport(&m_webSocket));
+    cout << "AfterConnecting" << endl;
 }

From 7a0adabbcf12afe242aadd8c91f87332d112c717 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 25 Jan 2019 10:22:13 -0600
Subject: [PATCH 039/225] Receive Page background

---
 src/qt/forms/receivecoinsdialog.ui |  7 ++-----
 src/qt/res/css/pac.css             | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 0f548657586a..4a34744c3019 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -11,10 +11,7 @@
    </rect>
   </property>
   <property name="styleSheet">
-   <string notr="true">#ReceiveCoinsDialog{
-  background:transparent !important;
-}
-QFrame{
+   <string notr="true">QFrame{
   border:none;
 }</string>
   </property>
@@ -344,7 +341,7 @@ QFrame{
           <widget class="QPushButton" name="receiveButton">
            <property name="minimumSize">
             <size>
-             <width>150</width>
+             <width>300</width>
              <height>0</height>
             </size>
            </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index ab8f8804a9f1..30e1f9bc2330 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -601,13 +601,21 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 
 
 
+
+
+/* TESTS */
 #SendCoinsEntry QAbstractSpinBox {
     width: 200%;
     background-color: rgb(10, 20, 60);
-    /*qproperty-sizePolicy: 'Expanding,Preferred,0,0' ;*/
+    qproperty-sizePolicy: '[Expanding, Preferred, 0, 0]' ;
 }
-
 #buttonChooseFee {
     background-color: rgb(10, 20, 60);
-    qproperty-text: 'test';
-}
\ No newline at end of file
+    /*qproperty-text: 'test';*/
+}
+#verticalWidget{
+    margin-left: 25px !important;
+}
+#ReceiveCoinsDialog{
+    margin: 12px 42px 18px 42px;
+}

From d75a3fe8694bdba0ef761d6ea1b2dccea9fa8c60 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 25 Jan 2019 11:41:02 -0600
Subject: [PATCH 040/225] Layout for bigger screens, checkbox added

---
 src/qt/forms/overviewpage.ui          |  17 ++++++++++++++++-
 src/qt/forms/sendcoinsdialog.ui       |  17 ++++++++++-------
 src/qt/paccoin.qrc                    |   2 ++
 src/qt/res/css/pac.css                |  18 ++++++++++--------
 src/qt/res/images/pac/checked_b.png   | Bin 0 -> 432 bytes
 src/qt/res/images/pac/unchecked_b.png | Bin 0 -> 151 bytes
 6 files changed, 38 insertions(+), 16 deletions(-)
 create mode 100644 src/qt/res/images/pac/checked_b.png
 create mode 100644 src/qt/res/images/pac/unchecked_b.png

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 13de6084a5db..4442589dcfba 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -25,6 +25,18 @@
 }</string>
   </property>
   <layout class="QVBoxLayout" name="topLayout">
+   <property name="leftMargin">
+    <number>2</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>2</number>
+   </property>
+   <property name="bottomMargin">
+    <number>2</number>
+   </property>
    <item>
     <widget class="QLabel" name="labelAlerts">
      <property name="visible">
@@ -46,6 +58,9 @@
    </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
+     <property name="spacing">
+      <number>3</number>
+     </property>
      <item>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <property name="sizeConstraint">
@@ -570,7 +585,7 @@
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_10">
               <item>
-                <spacer name="horizontalSpacer_4">
+               <spacer name="horizontalSpacer_4">
                 <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                 </property>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 94c49c8ec26e..ff365847632b 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -40,7 +40,7 @@
        </property>
        <property name="maximumSize">
         <size>
-         <width>1200</width>
+         <width>1600</width>
          <height>16777215</height>
         </size>
        </property>
@@ -619,7 +619,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>184</height>
+             <height>212</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -983,13 +983,13 @@
        </property>
        <property name="minimumSize">
         <size>
-         <width>200</width>
+         <width>250</width>
          <height>0</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
-         <width>400</width>
+         <width>450</width>
          <height>16777215</height>
         </size>
        </property>
@@ -997,6 +997,9 @@
         <string>container</string>
        </property>
        <layout class="QVBoxLayout" name="verticalLayout_3">
+        <property name="leftMargin">
+         <number>40</number>
+        </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
           <item row="2" column="0">
@@ -1372,9 +1375,9 @@
              <property name="geometry">
               <rect>
                <x>0</x>
-               <y>-67</y>
-               <width>357</width>
-               <height>411</height>
+               <y>0</y>
+               <width>345</width>
+               <height>458</height>
               </rect>
              </property>
              <layout class="QVBoxLayout" name="verticalLayout_6">
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 079a4210c52f..537a1fda9b51 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -370,6 +370,8 @@
         <file alias="profile_bkg">res/images/pac/profile_bkg.png</file>
         <file alias="profile">res/images/pac/profile.jpg</file>
         <file alias="header_bkg">res/images/pac/header_bkg.png</file>
+        <file alias="checked_b">res/images/pac/checked_b.png</file>
+        <file alias="unchecked_b">res/images/pac/unchecked_b.png</file>
     </qresource>
     <qresource prefix="/images/trad">
         <file alias="about">res/images/trad/about.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 30e1f9bc2330..b51c16c5048b 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -405,6 +405,8 @@ QPushButton:pressed {
 }
 QCheckBox {
     color: rgb(255, 255, 255);
+    width: 10px;
+    height: 10px;
 }
 QRadioButton {
     color: rgb(255, 255, 255);
@@ -413,28 +415,28 @@ QRadioButton {
 
 /* GLOBAL CHECKBOX */
 QCheckBox::indicator:unchecked {
-    
+    image:url(':/images/pac/unchecked_b');
 }
 QCheckBox::indicator:unchecked:hover {
-    
+    image:url(':/images/pac/unchecked_b');
 }
 QCheckBox::indicator:unchecked:pressed {
-    
+    image:url(':/images/pac/unchecked_b');
 }
 QCheckBox::indicator:checked {
-    
+    image:url(':/images/pac/checked_b');
 }
 QCheckBox::indicator:checked:hover {
-    
+    image:url(':/images/pac/checked_b');
 }
 QCheckBox::indicator:checked:pressed {
-    
+    image:url(':/images/pac/checked_b');
 }
 QCheckBox::indicator:indeterminate:hover {
-    
+    image:url(':/images/pac/unchecked_b');
 }
 QCheckBox::indicator:indeterminate:pressed {
-    
+    image:url(':/images/pac/checked_b');
 }
 
 
diff --git a/src/qt/res/images/pac/checked_b.png b/src/qt/res/images/pac/checked_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea00a7a95809b344a3eab18ef9a441ec7886203e
GIT binary patch
diff --git a/src/qt/res/images/pac/unchecked_b.png b/src/qt/res/images/pac/unchecked_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..24f6678c9f782cb64ddba23e1b370d0a5d99c327
GIT binary patch

From afc206b4d551cd7374a960ba326774003639c5fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 25 Jan 2019 13:13:31 -0600
Subject: [PATCH 041/225] Toolbar and headerbar Size modifed, CSS

CSS of QToolButtons:
 - background when selected has changed
 - height and width
QToolBar width
Main Pac Icon modified and centered
HeaderBar spacer added and select image changed
---
 src/qt/bitcoingui.cpp  | 36 +++++++++++++++++++++++++-----------
 src/qt/res/css/pac.css | 27 ++++++++-------------------
 src/qt/walletview.cpp  |  5 +++--
 3 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 51eecb407d5c..508db8441ff9 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -136,7 +136,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: " << family.toStdString();
 
-    QFont defaultFont("Volte Rounded",11, 1, false);
+    QFont defaultFont("Volte Rounded",13, 1, false);
     defaultFont.setBold(false);
     QApplication::setFont(defaultFont);
 
@@ -602,19 +602,31 @@ void BitcoinGUI::createToolBars()
 #ifdef ENABLE_WALLET
     if(walletFrame)
     {
+        QWidget* spacer = new QWidget();
+        spacer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        spacer->setFixedWidth(120);
+        spacer->setFixedHeight(10);
+
+        QWidget* spacerBottomIcon = new QWidget();
+        spacerBottomIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        spacerBottomIcon->setFixedWidth(120);
+        spacerBottomIcon->setFixedHeight(5);
+
         QWidget* mainIcon = new QWidget();
         mainIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
         mainIcon->setObjectName("toolbarIcon");
-        mainIcon->setFixedWidth(100);
-        mainIcon->setFixedHeight(100);
+        mainIcon->setFixedWidth(105);//the size we are looking is 90px but since it's css margin it's shrinking it we add +15px here
+        mainIcon->setFixedHeight(105);//same for this
 
         QToolBar *toolbar = new QToolBar(tr("Tabs toolbar"));
         toolbar->setObjectName("toolBar");
 
         toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
         addToolBar(Qt::LeftToolBarArea, toolbar);
-        toolbar->setFixedWidth(100);
+        toolbar->setFixedWidth(120);
+        toolbar->addWidget(spacer);
         toolbar->addWidget(mainIcon);
+        toolbar->addWidget(spacerBottomIcon);
         toolbar->setOrientation(Qt::Vertical);
         toolbar->addAction(overviewAction);
         toolbar->addAction(sendCoinsAction);
@@ -634,8 +646,10 @@ void BitcoinGUI::createToolBars()
             This is a workaround mostly for toolbar styling on Mac OS but should work fine for every other OSes too.
         */
         createHeaderBar();
+        QSpacerItem *HeaderSpacer = new QSpacerItem(1,27, QSizePolicy::Fixed, QSizePolicy::Fixed);
 
         QVBoxLayout *verticalLayout = new QVBoxLayout;
+        verticalLayout->addSpacerItem(HeaderSpacer);
         verticalLayout->addWidget(headerFrame);
         verticalLayout->addWidget(walletFrame);
         verticalLayout->setSpacing(0);
@@ -664,12 +678,12 @@ void BitcoinGUI::createHeaderBar()
     QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
     QPushButton *btnImg = new QPushButton;
     QSpacerItem *item = new QSpacerItem(15,1, QSizePolicy::Fixed, QSizePolicy::Expanding);
+    QSpacerItem *messageLeftSpacer = new QSpacerItem(30,1, QSizePolicy::Fixed, QSizePolicy::Fixed);
 
 
     headerFrame->setFixedHeight(100);
     headerFrame->setObjectName("headerFrameLayout");
-    headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");//background-size: cover; background-repeat: repeat;
-    headerFrame->setContentsMargins(40,0,0,0);
+    headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");
 
 
     messageLabel->setText("LATEST NEWS: $PAC launches new desktop wallet, featuring new merchant-focused...");
@@ -679,14 +693,13 @@ void BitcoinGUI::createHeaderBar()
     frameImg->setFrameStyle(QFrame::StyledPanel);
     frameImg->setFrameShadow(QFrame::Raised);
     frameImg->setStyleSheet("QFrame { border-image: url(:/images/pac/profile_bkg) 0 0 0 0 stretch stretch; margin-right:-1px !important }");
-    frameImg->setFixedWidth(100);
-    frameImg->setFixedHeight(85);
+    frameImg->setFixedWidth(115);
+    frameImg->setFixedHeight(95);
 
     btnImg->setObjectName("btnChangeImage");
-    btnImg->setStyleSheet("border-image: ; border-radius: 35px; width:70px; height:70px;");
     btnImg->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-    btnImg->setFixedHeight(70);
-    btnImg->setFixedWidth(70);
+    btnImg->setFixedHeight(80);
+    btnImg->setFixedWidth(80);
 
     profileImgLayout->setContentsMargins(0,0,0,0);
     profileImgLayout->addWidget(btnImg);
@@ -697,6 +710,7 @@ void BitcoinGUI::createHeaderBar()
 
     headerFrameLayout->setContentsMargins(0,0,0,0);
     headerFrameLayout->setContentsMargins(0,0,0,0);
+    headerFrameLayout->addSpacerItem(messageLeftSpacer);
     headerFrameLayout->addWidget(messageLabel);
     headerFrameLayout->addWidget(frameImg);
     headerFrame->setLayout(headerFrameLayout);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b51c16c5048b..73811ae6a4c8 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -1,7 +1,6 @@
 /*
  *  Global GUI styles
  */
-
 QLabel{
     font-family: 'Volte Rounded',sans-serif !important;
     color: rgb(255,255,255) !important;
@@ -26,12 +25,12 @@ QStatusBar{
 }
 
 #btnChangeImage{
-    border-radius: 35px !important;
+    height: 80px !important;
+    border-radius: 40px !important;
     border-image: url(:/images/pac/profile) 0 0 0 0 stretch stretch;
 }
 #btnChangeImage:hover {
-    border-radius: 35px !important;
-    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;
+    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;
 }
 #btnChangeImage:pressed {
     background-color: rgb(263,252,76) !important;
@@ -308,7 +307,7 @@ QScrollBar:right-arrow {
 
 /* ToolBar Menu */
 QToolBar {
-    background-color: #000;
+    background-color: #000000;
     border: 0px;
     padding: 0px;
     margin: 0px;
@@ -316,32 +315,22 @@ QToolBar {
 QToolBar > QToolButton {
     background-color:transparent;
     border: 0px;
-    min-height: 2.5em;
-    height: 3em;
-    padding: 0em 2em;
+    height: 68px !important;
+    width: 120px;
     color: #fff;
-    margin-top: 20px;
 }
 QToolBar > QToolButton:checked {
-    background-color:rgba(150,150,150,0.1);
+    background-color: rgba(57,57,57,0.3);
 }
 #toolbarIcon{
     background: none;
-    margin-left: 0px;
-    margin-top: 0px;
-    margin: 12px !important;
+    margin: 15px 0px 0px 15px;
     border-image: url(:/icons/bitcoin);
 }
 #test{
     background-color: rgba(255,0,0,0.6);
     border:1px green !important;
 }
-#toptoolBar{
-    background: cyan;
-    width:1000px;
-    height:100px;
-}
-
 
 /* Global Button styles*/
 QPushButton {
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index cd5c3414b3a2..b418abdc829c 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -90,13 +90,14 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     QSettings settings;
     if (settings.value("fShowMasternodesTab").toBool()) {
         masternodeListPage = new MasternodeList(platformStyle);
+        masternodeListPage->setContentsMargins(30,0,30,10);
         addWidget(masternodeListPage);
     }
 
     proposalList = new ProposalList(platformStyle);
     privatePage = new PrivatePage(platformStyle);
-    proposalList->setContentsMargins(50,50,50,50);
-    privatePage->setContentsMargins(50,50,50,50);
+    proposalList->setContentsMargins(30,0,30,10);
+    privatePage->setContentsMargins(30,0,30,10);
     addWidget(proposalList);
     addWidget(privatePage);
 

From a215c412775a7048da45da01a929134acb6768d3 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 25 Jan 2019 13:16:09 -0600
Subject: [PATCH 042/225] Proposal table layouts, private button and layout

---
 src/qt/forms/privatepage.ui | 35 +++++++++++++++----
 src/qt/res/css/pac.css      | 67 ++++++++++++++++++++-----------------
 src/qt/transactionview.cpp  |  8 ++---
 3 files changed, 68 insertions(+), 42 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 9c9d16b6000a..d2ee6084b285 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -23,6 +23,9 @@
    <string notr="true"/>
   </property>
   <layout class="QVBoxLayout" name="topLayout">
+   <property name="topMargin">
+    <number>0</number>
+   </property>
    <item>
     <widget class="QLabel" name="labelAlerts">
      <property name="visible">
@@ -43,15 +46,18 @@
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0">
+    <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0">
      <item>
       <spacer name="horizontalSpacer_2">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::MinimumExpanding</enum>
+       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>140</width>
+         <width>10</width>
          <height>20</height>
         </size>
        </property>
@@ -61,6 +67,18 @@
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <widget class="QFrame" name="framePrivateSend">
+         <property name="minimumSize">
+          <size>
+           <width>800</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>1000</width>
+           <height>16777215</height>
+          </size>
+         </property>
          <property name="layoutDirection">
           <enum>Qt::LeftToRight</enum>
          </property>
@@ -74,7 +92,7 @@
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_3">
             <item>
-                          <layout class="QHBoxLayout" name="horizontalLayout_5">
+             <layout class="QHBoxLayout" name="horizontalLayout_5">
               <item>
                <widget class="QLabel" name="labelPrivateSendSyncStatus">
                 <property name="toolTip">
@@ -369,7 +387,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -405,6 +423,9 @@
                 <property name="text">
                  <string>Start/Stop Mixing</string>
                 </property>
+                <property name="class" stdset="0">
+                 <string>buttonAllBlack</string>
+                </property>
                </widget>
               </item>
               <item>
@@ -470,7 +491,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -506,11 +527,11 @@
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeType">
-        <enum>QSizePolicy::Fixed</enum>
+        <enum>QSizePolicy::Expanding</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>140</width>
+         <width>10</width>
          <height>20</height>
         </size>
        </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b51c16c5048b..5c1e80129ab0 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -37,8 +37,10 @@ QStatusBar{
     background-color: rgb(263,252,76) !important;
 }
 
+
+/* Global containers */
 [class="container"]{
-    background-color: rgba(50,50,50,0.6);
+    background-color: rgba(50,50,50,0.35);
     border: 0px !important;
 }
 
@@ -50,7 +52,7 @@ QStatusBar{
     font-size:11px;
     outline:0;
     padding:3px;
-    background-color: rgb(20, 20, 20);
+    background-color: rgb(10, 10, 10);
     color: #fff;
     height: 40px !important;
     font-family: 'Volte Rounded', sans-serif;
@@ -345,10 +347,10 @@ QToolBar > QToolButton:checked {
 
 /* Global Button styles*/
 QPushButton {
-    background: rgb(5,5,5);
+    background: transparent;
     border: 1px solid rgb(243,232,56);
     color: rgb(243,232,56);
-    border-radius: 12px;
+    border-radius: 16px;
     height: 30px;
     width: 150px;
     font-family: Arial;
@@ -373,6 +375,7 @@ QPushButton:pressed {
     color: rgb(243,232,56) !important;
 }
 [class="linkButton"]{
+    border-radius: 13px;
     background-color: transparent;
     border: none;
     color:rgb(243,232,56);
@@ -499,13 +502,14 @@ QRadioButton::indicator:indeterminate:pressed {
 /*
  * Transactions Page
  */
+
+/* Over the table */
 QLineEdit#addressWidget, QLineEdit#tAmountWidget{
     background-color: rgba(224, 224, 224, 0.2);
     color:#fff;
     border:0px;
     min-height: 30px !important;
 }
-
 QComboBox#watchOnlyWidget, QComboBox#dateWidget, QComboBox#typeWidget {
     background-color: rgba(224, 224, 224, 0.2);
     border:0px;
@@ -532,7 +536,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
  * Private Page
  */
 #framePrivateSend{
-    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.5), stop: 1 rgba(89, 89, 89, 0.3));
+    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(89, 89, 89, 0.35));
     /*background-color: rgba(50,50,50,0.6);*/
     border: 0px !important;
 }
@@ -545,33 +549,11 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
     font-weight: 100;
 }
-#togglePrivateSend{
-    background: rgb(48,48,48);
-    border: 0px;
-    color: #fff;
-    border-radius: 12px;
-    height: 30px;
-    /*font-family: Arial;*/
-    font-weight: bold;
-    font-family: 'Volte Rounded', sans-serif;
-    font-size: 10px;
-    text-transform:uppercase;
-}
-#togglePrivateSend:hover, #togglePrivateSend:focus {
-    background: #444444 !important;
-}
-#togglePrivateSend:disabled {
-    background: #444444 !important;
-    color: #c6c6c6;
-}
-#togglePrivateSend:pressed {
-    background: rgba(243,232,56, 0.3) !important;
-    border: 2px solid rgb(5, 5, 5) !important;
-    color: rgb(243,232,56) !important;
-}
+
 /*
  * Proposal Page
  */
+
 /* Over the table */
 QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Example of setObjectName for widgets without name */
     background-color: rgba(224, 224, 224, 0.2);
@@ -621,3 +603,28 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 #ReceiveCoinsDialog{
     margin: 12px 42px 18px 42px;
 }
+
+[class="buttonAllBlack"]{
+    background: #1A1919;
+    border: 0px;
+    color: #fff;
+    border-radius: 11px;
+    height: 40px;
+    font-weight: bold;
+    font-size: 10px;
+    text-transform:uppercase;
+}
+[class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
+    background: #1A1919;
+    border: 2px #444444;
+    color: #fff;
+}
+[class="buttonAllBlack"]:disabled {
+    background: #444444;
+    color: #d3d3d3
+}
+[class="buttonAllBlack"]pressed {
+    background: rgb(243,232,56);
+    border: 2px solid rgb(5, 5, 5);
+    color: yellow;
+}
\ No newline at end of file
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 7a0fdb8b5d6c..b7dfe8666ad4 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -48,18 +48,16 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     setContentsMargins(0,0,0,0);
 
     QHBoxLayout *hlayout = new QHBoxLayout();
-    hlayout->setContentsMargins(0,0,0,8 );
+    hlayout->setContentsMargins(0,0,0,8);
     if (platformStyle->getUseExtraSpacing()) {
         hlayout->setSpacing(0);
-        hlayout->addSpacing(6);
     } else {
         hlayout->setSpacing(1);
-        hlayout->addSpacing(5);
     }
     QString theme = GUIUtil::getThemeName();
     watchOnlyWidget = new QComboBox(this);
     watchOnlyWidget->setObjectName("watchOnlyWidget");
-    watchOnlyWidget->setFixedWidth(24);
+    watchOnlyWidget->setFixedWidth(34);
     watchOnlyWidget->addItem("", TransactionFilterProxy::WatchOnlyFilter_All);
     watchOnlyWidget->addItem(QIcon(":/icons/" + theme + "/eye_plus"), "", TransactionFilterProxy::WatchOnlyFilter_Yes);
     watchOnlyWidget->addItem(QIcon(":/icons/" + theme + "/eye_minus"), "", TransactionFilterProxy::WatchOnlyFilter_No);
@@ -140,7 +138,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     int width = view->verticalScrollBar()->sizeHint().width();
     // Cover scroll bar width with spacing
     if (platformStyle->getUseExtraSpacing()) {
-        hlayout->addSpacing(width+2);
+        hlayout->addSpacing(width-20);
     } else {
         hlayout->addSpacing(width);
     }

From 4ca33f895e8876fd0f2b09cab524ff3341dc2503 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 10:59:08 -0600
Subject: [PATCH 043/225] custom ScrollBar implemented

---
 src/qt/forms/overviewpage.ui       |  18 ++++
 src/qt/forms/receivecoinsdialog.ui |  11 ++-
 src/qt/forms/sendcoinsdialog.ui    |   9 ++
 src/qt/proposallist.cpp            |   3 +-
 src/qt/receivecoinsdialog.cpp      |   1 +
 src/qt/res/css/pac.css             | 135 +++++++++++++----------------
 src/qt/transactionview.cpp         |   3 +-
 7 files changed, 104 insertions(+), 76 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 4442589dcfba..dfff62a88a9a 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -113,6 +113,12 @@
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>1</height>
+             </size>
+            </property>
             <property name="statusTip">
              <string>The displayed information may be out of date. Your wallet automatically synchronizes with the $PAC network after a connection is established, but this process has not completed yet.</string>
             </property>
@@ -679,6 +685,18 @@
          <layout class="QVBoxLayout" name="verticalLayout">
           <item>
            <widget class="QLabel" name="labelTransactionsStatus">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>1</height>
+             </size>
+            </property>
             <property name="toolTip">
              <string>The displayed information may be out of date. Your wallet automatically synchronizes with the Paccoin network after a connection is established, but this process has not completed yet.</string>
             </property>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 4a34744c3019..1610e9a19e81 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>929</width>
+    <width>932</width>
     <height>490</height>
    </rect>
   </property>
@@ -202,6 +202,9 @@
               <property name="buddy">
                <cstring>reqLabel</cstring>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item row="7" column="2">
@@ -218,6 +221,9 @@
               <property name="buddy">
                <cstring>reqMessage</cstring>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item row="2" column="2">
@@ -241,6 +247,9 @@
               <property name="buddy">
                <cstring>reqAmount</cstring>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item row="10" column="0">
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index ff365847632b..c80af13ab8f9 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -120,6 +120,9 @@
                  <property name="text">
                   <string>Coin Control Features</string>
                  </property>
+                 <property name="class" stdset="0">
+                  <string>titleLabel</string>
+                 </property>
                 </widget>
                </item>
               </layout>
@@ -811,6 +814,9 @@
             <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
+            <property name="class" stdset="0">
+             <string>titleLabel</string>
+            </property>
            </widget>
           </item>
           <item>
@@ -878,6 +884,9 @@
               <property name="alignment">
                <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
               </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
              </widget>
             </item>
             <item>
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index a339d2f5dde1..7d03e214611a 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -139,7 +139,8 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     connect(view->horizontalHeader(), SIGNAL(sectionResized(int,int,int)), SLOT(invalidateAlignedLayout()));
     connect(view->horizontalScrollBar(), SIGNAL(valueChanged(int)), SLOT(invalidateAlignedLayout()));
 
-    view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+    view->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+
     view->setTabKeyNavigation(false);
     view->setContextMenuPolicy(Qt::CustomContextMenu);
 
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 78454291f76a..9a1dfb67a920 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -81,6 +81,7 @@ void ReceiveCoinsDialog::setModel(WalletModel *model)
 
         tableView->verticalHeader()->hide();
         tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+        tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
         tableView->setModel(model->getRecentRequestsTableModel());
         tableView->setAlternatingRowColors(false);
         tableView->setShowGrid(false);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index d48ca5b01f62..42e4fe379e1a 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -156,6 +156,63 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
     selection-color:transparent;
 }
 
+/* ScrollBar */
+
+QScrollBar:vertical {
+    background-color: #191919;
+    width: 16px;
+    margin: 16px 2px 16px 2px;
+    border: 1px solid rgb(50,50,50);
+    border-radius: 4px;
+}
+QScrollBar::handle:vertical {
+    background-color: #787878;
+    border: 1px solid rgb(50,50,50);
+    min-height: 8px;
+    border-radius: 4px;
+}
+QScrollBar::handle:vertical:hover {
+    background-color: rgb(243,232,56);
+    border: 1px solid rgb(243,232,56);
+    border-radius: 4px;
+    min-height: 8px;
+}
+QScrollBar::sub-line:vertical {
+    margin: 3px 0px 3px 0px;
+    border-image: url(:/images/pac/drkblue_upArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: top;
+    subcontrol-origin: margin;
+}
+QScrollBar::add-line:vertical {
+    margin: 3px 0px 3px 0px;
+    border-image: url(:/images/pac/drkblue_downArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: bottom;
+    subcontrol-origin: margin;
+}
+QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on {
+    border-image: url(:/images/pac/drkblue_upArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: top;
+    subcontrol-origin: margin;
+}
+QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on {
+    border-image: url(:/images/pac/drkblue_downArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: bottom;
+    subcontrol-origin: margin;
+}
+QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
+    background: none;
+}
+QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
+    background: none;
+}
 
 /* GLOBAL SPINBOX */
 QAbstractSpinBox {
@@ -233,78 +290,12 @@ QTableView::item { /* Table Item */
     color: white !important;
 }
 QTableView::item:selected { /* Table Item Selected */
-    background-color: rgb(255, 255, 0);
-    color:#000;
+    background-color: rgb(70, 70, 70);
+    color: rgb(180,180,180);
 }
 QTableWidget{
     background-color: rgba(224, 224, 224, 0.1); 
 }
-QScrollBar { /* Scroll Bar */
-}
-QScrollBar:vertical { /* Vertical Scroll Bar Attributes */
-    border:0px;
-    background:#333333;
-    width:18px;
-    margin: 18px 0px 18px 0px;
-}
-QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */
-    border:0px;
-    background:#333333;
-    height:18px;
-    margin: 0px 18px 0px 18px;
-}
-QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */
-    background:#999999;
-    min-height:10px;
-}
-QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */
-    background:#999999;
-    min-width:10px;
-}
-QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */
-    background:#3d3d3d;
-}
-QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */
-    background-color:#050505;
-    border: 1px solid #050505;
-    width:16px;
-    height:16px;
-}
-QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed {
-    background-color:#e0e004;
-}
-QScrollBar::sub-line:vertical { /* Vertical - top button position */
-    subcontrol-position:top;
-    subcontrol-origin: margin;
-}
-QScrollBar::add-line:vertical { /* Vertical - bottom button position */
-    subcontrol-position:bottom;
-    subcontrol-origin: margin;
-}
-QScrollBar::sub-line:horizontal { /* Vertical - left button position */
-    subcontrol-position:left;
-    subcontrol-origin: margin;
-}
-QScrollBar::add-line:horizontal { /* Vertical - right button position */
-    subcontrol-position:right;
-    subcontrol-origin: margin;
-}
-QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */
-    width:10px;
-    height:10px;
-}
-QScrollBar:up-arrow {
-    background-image: url(':/images/pac/drkblue_upArrow_small');
-}
-QScrollBar:down-arrow {
-    background-image: url(':/images/pac/drkblue_downArrow_small');
-}
-QScrollBar:left-arrow {
-    background-image: url(':/images/pac/drkblue_leftArrow_small');
-}
-QScrollBar:right-arrow {
-    background-image: url(':/images/pac/drkblue_rightArrow_small');
-}
 
 
 /* ToolBar Menu */
@@ -342,11 +333,9 @@ QPushButton {
     border-radius: 16px;
     height: 30px;
     width: 150px;
-    font-family: Arial;
-    font-style: normal;
-    font-weight: bold;
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 10px;
+    font-weight: bold;
+    font-size: 15px;
     text-transform:uppercase;
 }
 QPushButton:hover, QPushButton:focus {
@@ -616,4 +605,4 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
     background: rgb(243,232,56);
     border: 2px solid rgb(5, 5, 5);
     color: yellow;
-}
\ No newline at end of file
+}
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index b7dfe8666ad4..2ac4cf2f5e16 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -143,7 +143,8 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
         hlayout->addSpacing(width);
     }
     // Always show scroll bar
-    view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+    view->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+
     view->setTabKeyNavigation(false);
     view->setContextMenuPolicy(Qt::CustomContextMenu);
 

From 69a26fa9e39ed902df40e1062bb93c9b62c53516 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 28 Jan 2019 11:12:59 -0600
Subject: [PATCH 044/225] Spinbox arrows layout, controls colors.

---
 src/qt/forms/sendcoinsdialog.ui |  6 +--
 src/qt/res/css/pac.css          | 87 ++++++++++++++++-----------------
 2 files changed, 45 insertions(+), 48 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index ff365847632b..5bf2ce6b178a 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -830,7 +830,7 @@
            </spacer>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineEdit">
+           <widget class="QLineEdit" name="lineComment">
             <property name="class" stdset="0">
              <string>LineEdit</string>
             </property>
@@ -909,7 +909,7 @@
            </spacer>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineEdit_2">
+           <widget class="QLineEdit" name="lineConvertCurrency">
             <property name="class" stdset="0">
              <string>LineEdit</string>
             </property>
@@ -1127,7 +1127,7 @@
                <string>Transaction Fee: </string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index d48ca5b01f62..7ecf3f95bb7e 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -101,7 +101,7 @@ QPlainTextEdit {
 /* Dropdown Menus  not for the tables */
 QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
     border-radius: 20px;
-    background-color: rgb(20, 20, 20);
+    background-color: rgb(10, 10, 10);
     font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
@@ -160,7 +160,7 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
 /* GLOBAL SPINBOX */
 QAbstractSpinBox {
     border-radius: 20px;
-    background-color: rgb(20, 20, 20);
+    background-color: rgb(10, 10, 10);
     font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
@@ -179,7 +179,7 @@ QAbstractSpinBox::up-button {
     width:21px;
     background-color: transparent;
     border:0px;
-    padding-right:1px;
+    padding-right:4px;
     padding-left:5px;
     padding-top:2px;
 }
@@ -192,7 +192,7 @@ QAbstractSpinBox::down-button {
     width:21px;
     background-color: transparent;
     border:0px;
-    padding-right:1px;
+    padding-right:4px;
     padding-left:5px;
     padding-bottom:2px;
 }
@@ -487,11 +487,20 @@ QRadioButton::indicator:indeterminate:pressed {
 #scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3{
     background-color:rgba(0,0,0,0) !important;
 }
+#verticalWidget{
+    margin-left: 25px !important;
+}
 
 /*
- * Transactions Page
+ * ReceiveCoins Page
  */
+#ReceiveCoinsDialog{
+    margin: 12px 42px 18px 42px;
+}
 
+/*
+ * Transactions Page
+ */
 /* Over the table */
 QLineEdit#addressWidget, QLineEdit#tAmountWidget{
     background-color: rgba(224, 224, 224, 0.2);
@@ -526,7 +535,6 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
  */
 #framePrivateSend{
     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(89, 89, 89, 0.35));
-    /*background-color: rgba(50,50,50,0.6);*/
     border: 0px !important;
 }
 #labelPrivateSendHeader{
@@ -538,6 +546,32 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
     font-weight: 100;
 }
+/* Black button */
+[class="buttonAllBlack"]{
+    background: #1A1919;
+    border: 0px;
+    color: #fff;
+    border-radius: 11px;
+    height: 40px;
+    font-weight: bold;
+    font-size: 10px;
+    text-transform:uppercase;
+}
+[class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
+    background: #1A1919;
+    border: 2px #444444;
+    color: #fff;
+}
+[class="buttonAllBlack"]:disabled {
+    background: #444444;
+    color: #d3d3d3
+}
+[class="buttonAllBlack"]:pressed {
+    background: rgb(243,232,56);
+    border: 2px solid rgb(5, 5, 5);
+    color: yellow;
+}
+
 
 /*
  * Proposal Page
@@ -577,43 +611,6 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 
 
 /* TESTS */
-#SendCoinsEntry QAbstractSpinBox {
-    width: 200%;
-    background-color: rgb(10, 20, 60);
+/*#SendCoinsEntry QAbstractSpinBox {
     qproperty-sizePolicy: '[Expanding, Preferred, 0, 0]' ;
-}
-#buttonChooseFee {
-    background-color: rgb(10, 20, 60);
-    /*qproperty-text: 'test';*/
-}
-#verticalWidget{
-    margin-left: 25px !important;
-}
-#ReceiveCoinsDialog{
-    margin: 12px 42px 18px 42px;
-}
-
-[class="buttonAllBlack"]{
-    background: #1A1919;
-    border: 0px;
-    color: #fff;
-    border-radius: 11px;
-    height: 40px;
-    font-weight: bold;
-    font-size: 10px;
-    text-transform:uppercase;
-}
-[class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
-    background: #1A1919;
-    border: 2px #444444;
-    color: #fff;
-}
-[class="buttonAllBlack"]:disabled {
-    background: #444444;
-    color: #d3d3d3
-}
-[class="buttonAllBlack"]pressed {
-    background: rgb(243,232,56);
-    border: 2px solid rgb(5, 5, 5);
-    color: yellow;
-}
\ No newline at end of file
+}*/

From 80a0998a8136c220b00e29b26a11e70091c43a04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 11:22:32 -0600
Subject: [PATCH 045/225] Global Button style fixed

Border now transparent
---
 src/qt/res/css/pac.css | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 42e4fe379e1a..73a71986e959 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -11,11 +11,12 @@ QMainWindow{
 }
 
 QMessageBox {
-    background-color:rgb(20,20,20);
+    background-color:rgb(26,26,26);
 }
 
 QDialog{
-    background-color:rgb(30,30,30);
+    background-color:rgb(26,26,26);
+    color:white;
 }
 
 
@@ -340,7 +341,7 @@ QPushButton {
 }
 QPushButton:hover, QPushButton:focus {
     background: rgb(243,232,56) !important;
-    border: 2px solid rgb(5,5,5) !important;
+    border: 0px !important;
     color: rgb(5,5,5);
 }
 QPushButton:disabled {
@@ -349,7 +350,7 @@ QPushButton:disabled {
 }
 QPushButton:pressed {
     background: rgba(243,232,56, 0.3) !important;
-    border: 2px solid rgb(5, 5, 5) !important;
+    border: 0px !important;
     color: rgb(243,232,56) !important;
 }
 [class="linkButton"]{

From 939a5dfdbb5b392ff5313acd6e28f1bb0f322bb7 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 28 Jan 2019 13:34:57 -0600
Subject: [PATCH 046/225] Private colors and shadow, send margin

---
 src/qt/forms/privatepage.ui       |   6 ++
 src/qt/forms/sendcoinsdialog.ui   | 134 +++++++++++++++++++-----------
 src/qt/privatepage.cpp            |   7 ++
 src/qt/res/css/pac.css            |  14 +---
 src/qt/res/icons/pac/tx_inout.png | Bin 1082 -> 974 bytes
 5 files changed, 104 insertions(+), 57 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index d2ee6084b285..1153d9d23aaf 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -65,6 +65,12 @@
      </item>
      <item>
       <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="topMargin">
+        <number>25</number>
+       </property>
+       <property name="bottomMargin">
+        <number>25</number>
+       </property>
        <item>
         <widget class="QFrame" name="framePrivateSend">
          <property name="minimumSize">
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index e57e8c4ffe2b..a56f5ce21e59 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -48,6 +48,18 @@
         <string>container</string>
        </property>
        <layout class="QVBoxLayout" name="container">
+        <property name="leftMargin">
+         <number>50</number>
+        </property>
+        <property name="topMargin">
+         <number>50</number>
+        </property>
+        <property name="rightMargin">
+         <number>50</number>
+        </property>
+        <property name="bottomMargin">
+         <number>50</number>
+        </property>
         <item>
          <widget class="QFrame" name="frameCoinControl">
           <property name="sizePolicy">
@@ -622,7 +634,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>212</height>
+             <height>194</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -796,7 +808,7 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Preferred</enum>
+             <enum>QSizePolicy::Expanding</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -825,7 +837,7 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Preferred</enum>
+             <enum>QSizePolicy::Expanding</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -837,6 +849,9 @@
           </item>
           <item>
            <widget class="QLineEdit" name="lineComment">
+            <property name="placeholderText">
+             <string>Add a comment to the payment</string>
+            </property>
             <property name="class" stdset="0">
              <string>LineEdit</string>
             </property>
@@ -848,7 +863,7 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Preferred</enum>
+             <enum>QSizePolicy::Expanding</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -907,7 +922,7 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Preferred</enum>
+             <enum>QSizePolicy::Expanding</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -919,6 +934,9 @@
           </item>
           <item>
            <widget class="QLineEdit" name="lineConvertCurrency">
+            <property name="placeholderText">
+             <string>Insert in dollars to convert to $PAC</string>
+            </property>
             <property name="class" stdset="0">
              <string>LineEdit</string>
             </property>
@@ -930,7 +948,7 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Preferred</enum>
+             <enum>QSizePolicy::Expanding</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -963,22 +981,6 @@
           </item>
          </layout>
         </item>
-        <item>
-         <spacer name="verticalSpacer_8">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeType">
-           <enum>QSizePolicy::Preferred</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>20</width>
-            <height>40</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
        </layout>
       </widget>
      </item>
@@ -1007,7 +1009,16 @@
        </property>
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <property name="leftMargin">
-         <number>40</number>
+         <number>25</number>
+        </property>
+        <property name="topMargin">
+         <number>50</number>
+        </property>
+        <property name="rightMargin">
+         <number>9</number>
+        </property>
+        <property name="bottomMargin">
+         <number>50</number>
         </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
@@ -1182,7 +1193,7 @@
             <property name="minimumSize">
              <size>
               <width>100</width>
-              <height>10</height>
+              <height>15</height>
              </size>
             </property>
             <property name="text">
@@ -1191,6 +1202,9 @@
             <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
+            <property name="class" stdset="0">
+             <string>titleLabel</string>
+            </property>
            </widget>
           </item>
           <item row="13" column="0">
@@ -1201,7 +1215,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -1261,7 +1275,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -1383,10 +1397,10 @@
             <widget class="QWidget" name="scrollAreaWidgetContents_3">
              <property name="geometry">
               <rect>
-               <x>0</x>
-               <y>0</y>
-               <width>345</width>
-               <height>458</height>
+               <x>-2</x>
+               <y>-141</y>
+               <width>293</width>
+               <height>484</height>
               </rect>
              </property>
              <layout class="QVBoxLayout" name="verticalLayout_6">
@@ -1777,9 +1791,15 @@
                             </item>
                             <item>
                              <widget class="QCheckBox" name="checkBoxMinimumFee">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
                               <property name="maximumSize">
                                <size>
-                                <width>25</width>
+                                <width>16777215</width>
                                 <height>16777215</height>
                                </size>
                               </property>
@@ -1791,26 +1811,46 @@
                               </property>
                              </widget>
                             </item>
-                            <item>
-                             <widget class="QLabel" name="labelMinFeeWarning">
-                              <property name="enabled">
-                               <bool>true</bool>
-                              </property>
-                              <property name="toolTip">
-                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                              </property>
-                              <property name="text">
-                               <string>(read the tooltip)</string>
-                              </property>
-                              <property name="margin">
-                               <number>5</number>
-                              </property>
-                             </widget>
-                            </item>
                            </layout>
                           </item>
                          </layout>
                         </item>
+                        <item row="3" column="0">
+                         <layout class="QHBoxLayout" name="horizontalLayout_11">
+                          <item>
+                           <spacer name="horizontalSpacer_14">
+                            <property name="orientation">
+                             <enum>Qt::Horizontal</enum>
+                            </property>
+                            <property name="sizeType">
+                             <enum>QSizePolicy::Fixed</enum>
+                            </property>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>30</width>
+                              <height>20</height>
+                             </size>
+                            </property>
+                           </spacer>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="labelMinFeeWarning">
+                            <property name="enabled">
+                             <bool>true</bool>
+                            </property>
+                            <property name="toolTip">
+                             <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                            </property>
+                            <property name="text">
+                             <string>    (read the tooltip)</string>
+                            </property>
+                            <property name="margin">
+                             <number>5</number>
+                            </property>
+                           </widget>
+                          </item>
+                         </layout>
+                        </item>
                        </layout>
                       </item>
                       <item>
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index b56bbe8e2ad5..c3870601ab73 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -27,6 +27,7 @@
 #include <QPainter>
 #include <QSettings>
 #include <QTimer>
+#include <QGraphicsDropShadowEffect>
 
 #include <string>
 #include <iostream>
@@ -87,6 +88,12 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
         connect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
         timer->start(1000);
     }
+
+        QGraphicsDropShadowEffect *cardShadow = new QGraphicsDropShadowEffect;
+        cardShadow->setBlurRadius(12.0);
+        cardShadow->setColor(QColor(0, 0, 0, 160));
+        cardShadow->setOffset(2.0);
+        ui->togglePrivateSend->setGraphicsEffect(cardShadow);
 }
 
 void PrivatePage::handleTransactionClicked(const QModelIndex &index)
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 85ffc6a7084d..0c0f808e667b 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -62,7 +62,6 @@ QStatusBar{
     font-size:12px;
 }
 [class="LineEdit"]:disabled {
-    background:blue !important;
     background-color:#f2f2f2;
 }
 [class="QuickButton"]{
@@ -158,7 +157,6 @@ QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboB
 }
 
 /* ScrollBar */
-
 QScrollBar:vertical {
     background-color: #191919;
     width: 16px;
@@ -524,7 +522,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
  * Private Page
  */
 #framePrivateSend{
-    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(89, 89, 89, 0.35));
+    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));
     border: 0px !important;
 }
 #labelPrivateSendHeader{
@@ -538,7 +536,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 }
 /* Black button */
 [class="buttonAllBlack"]{
-    background: #1A1919;
+    background: #141414;
     border: 0px;
     color: #fff;
     border-radius: 11px;
@@ -558,8 +556,7 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 }
 [class="buttonAllBlack"]:pressed {
     background: rgb(243,232,56);
-    border: 2px solid rgb(5, 5, 5);
-    color: yellow;
+    color: #fff;
 }
 
 
@@ -597,10 +594,7 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 }
 
 
-
-
-
 /* TESTS */
 /*#SendCoinsEntry QAbstractSpinBox {
     qproperty-sizePolicy: '[Expanding, Preferred, 0, 0]' ;
-}*/
+}*/
\ No newline at end of file
diff --git a/src/qt/res/icons/pac/tx_inout.png b/src/qt/res/icons/pac/tx_inout.png
index 94ea75e1cd9c03c84dab2397140676182c0c3ea0..956089035594852a1cd0cca163ec2e15cbe1a9c7 100644
GIT binary patch

From 1cb2c881da875c00a2a859492d7c82e84919f056 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 16:22:53 -0600
Subject: [PATCH 047/225] Receive coins

link buttons and layout modifed
spaces and margins
---
 src/qt/forms/receivecoinsdialog.ui | 883 +++++++++++++++++------------
 src/qt/res/css/pac.css             |  46 +-
 2 files changed, 538 insertions(+), 391 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 1610e9a19e81..f9a1f3e4316d 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,10 +6,16 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>932</width>
-    <height>490</height>
+    <width>892</width>
+    <height>775</height>
    </rect>
   </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
   <property name="styleSheet">
    <string notr="true">QFrame{
   border:none;
@@ -20,385 +26,518 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0">
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_3">
-     <item>
-      <layout class="QGridLayout" name="gridLayout_2">
-       <item row="1" column="0">
-        <widget class="QFrame" name="frame">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>600</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="styleSheet">
-          <string notr="true"/>
-         </property>
-         <property name="frameShape">
-          <enum>QFrame::StyledPanel</enum>
-         </property>
-         <property name="frameShadow">
-          <enum>QFrame::Raised</enum>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_2">
-          <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_2">
-            <item>
-             <widget class="QLabel" name="label_6">
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string>Requested payments history</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="showRequestButton">
-              <property name="enabled">
-               <bool>false</bool>
-              </property>
-              <property name="toolTip">
-               <string>Show the selected request (does the same as double clicking an entry)</string>
-              </property>
-              <property name="text">
-               <string>Show</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-              <property name="class" stdset="0">
-               <string>linkButton</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QPushButton" name="removeRequestButton">
-              <property name="enabled">
-               <bool>false</bool>
-              </property>
-              <property name="toolTip">
-               <string>Remove the selected entries from the list</string>
-              </property>
-              <property name="text">
-               <string>Remove</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-              <property name="class" stdset="0">
-               <string>linkButton</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>
-           </layout>
-          </item>
-          <item>
-           <widget class="QTableView" name="recentRequestsView">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="Maximum">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>100</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>150</height>
-             </size>
-            </property>
-            <property name="contextMenuPolicy">
-             <enum>Qt::CustomContextMenu</enum>
-            </property>
-            <property name="tabKeyNavigation">
-             <bool>false</bool>
-            </property>
-            <property name="sortingEnabled">
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item row="0" column="0">
-        <widget class="QFrame" name="frame2">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>600</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="frameShape">
-          <enum>QFrame::StyledPanel</enum>
-         </property>
-         <property name="frameShadow">
-          <enum>QFrame::Sunken</enum>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_3">
-          <item>
-           <layout class="QGridLayout" name="gridLayout">
-            <item row="6" column="2">
-             <widget class="BitcoinAmountField" name="reqAmount">
-              <property name="minimumSize">
-               <size>
-                <width>80</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="toolTip">
-               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-              </property>
-              <property name="class" stdset="0">
-               <string>LineEdit</string>
-              </property>
-             </widget>
-            </item>
-            <item row="3" column="2">
-             <widget class="QLabel" name="label_2">
-              <property name="toolTip">
-               <string>An optional label to associate with the new receiving address.</string>
-              </property>
-              <property name="text">
-               <string>&amp;Label:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="buddy">
-               <cstring>reqLabel</cstring>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
-            </item>
-            <item row="7" column="2">
-             <widget class="QLabel" name="label_3">
-              <property name="toolTip">
-               <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
-              </property>
-              <property name="text">
-               <string>&amp;Message:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="buddy">
-               <cstring>reqMessage</cstring>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
-            </item>
-            <item row="2" column="2">
-             <widget class="QLabel" name="label_5">
-              <property name="text">
-               <string>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</string>
-              </property>
-             </widget>
-            </item>
-            <item row="5" column="2">
-             <widget class="QLabel" name="label">
-              <property name="toolTip">
-               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-              </property>
-              <property name="text">
-               <string>&amp;Amount:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="buddy">
-               <cstring>reqAmount</cstring>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
-            </item>
-            <item row="10" column="0">
-             <widget class="QLabel" name="label_4">
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-            <item row="8" column="2">
-             <widget class="QLineEdit" name="reqMessage">
-              <property name="toolTip">
-               <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
-              </property>
-              <property name="class" stdset="0">
-               <string>LineEdit</string>
-              </property>
-             </widget>
-            </item>
-            <item row="4" column="2">
-             <widget class="QLineEdit" name="reqLabel">
-              <property name="toolTip">
-               <string>An optional label to associate with the new receiving address.</string>
-              </property>
-              <property name="class" stdset="0">
-               <string>LineEdit</string>
-              </property>
-             </widget>
-            </item>
-            <item row="12" column="0">
-             <widget class="QLabel" name="label_7">
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-            <item row="9" column="2">
-             <layout class="QHBoxLayout" name="horizontalLayout_4">
-              <item>
-               <widget class="QCheckBox" name="reuseAddress">
-                <property name="toolTip">
-                 <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
-                </property>
-                <property name="text">
-                 <string>R&amp;euse an existing receiving address (not recommended)</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QCheckBox" name="checkUseInstantSend">
-                <property name="text">
-                 <string>Request InstantPAC</string>
-                </property>
-                <property name="checked">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item>
-      <layout class="QVBoxLayout" name="verticalLayout_4">
-       <property name="spacing">
-        <number>6</number>
-       </property>
-       <property name="leftMargin">
-        <number>0</number>
-       </property>
-       <property name="topMargin">
-        <number>0</number>
-       </property>
-       <item>
-        <spacer name="verticalSpacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
+    <widget class="QLabel" name="label_5">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>40</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>40</height>
+      </size>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>11</pointsize>
+      </font>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">color: rgba(255,255,255,0.5);
+padding: 10px;</string>
+     </property>
+     <property name="text">
+      <string>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</string>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QFrame" name="container">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_3">
+      <item>
+       <layout class="QGridLayout" name="gridLayout_2">
+        <item row="1" column="0">
+         <widget class="QFrame" name="frame">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>600</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>1000</width>
+            <height>16777215</height>
+           </size>
+          </property>
+          <property name="styleSheet">
+           <string notr="true"/>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::StyledPanel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayout_2">
+           <item>
+            <spacer name="verticalSpacer_3">
+             <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>
+            <layout class="QHBoxLayout" name="horizontalLayout_2">
+             <item>
+              <widget class="QLabel" name="label_6">
+               <property name="font">
+                <font>
+                 <pointsize>11</pointsize>
+                 <weight>75</weight>
+                 <bold>true</bold>
+                </font>
+               </property>
+               <property name="text">
+                <string>Requested payments history</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QPushButton" name="showRequestButton">
+               <property name="enabled">
+                <bool>false</bool>
+               </property>
+               <property name="toolTip">
+                <string>Show the selected request (does the same as double clicking an entry)</string>
+               </property>
+               <property name="styleSheet">
+                <string notr="true"/>
+               </property>
+               <property name="text">
+                <string>Show</string>
+               </property>
+               <property name="autoDefault">
+                <bool>false</bool>
+               </property>
+               <property name="class" stdset="0">
+                <string>linkButton</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QPushButton" name="removeRequestButton">
+               <property name="enabled">
+                <bool>false</bool>
+               </property>
+               <property name="toolTip">
+                <string>Remove the selected entries from the list</string>
+               </property>
+               <property name="styleSheet">
+                <string notr="true"/>
+               </property>
+               <property name="text">
+                <string>Remove</string>
+               </property>
+               <property name="autoDefault">
+                <bool>false</bool>
+               </property>
+               <property name="class" stdset="0">
+                <string>linkButton</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>
+            </layout>
+           </item>
+           <item>
+            <widget class="QTableView" name="recentRequestsView">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>0</width>
+               <height>100</height>
+              </size>
+             </property>
+             <property name="maximumSize">
+              <size>
+               <width>16777215</width>
+               <height>120</height>
+              </size>
+             </property>
+             <property name="contextMenuPolicy">
+              <enum>Qt::CustomContextMenu</enum>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="tabKeyNavigation">
+              <bool>false</bool>
+             </property>
+             <property name="sortingEnabled">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </item>
+        <item row="0" column="0">
+         <widget class="QFrame" name="frame2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>1000</width>
+            <height>16777215</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::StyledPanel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Sunken</enum>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayout_3">
+           <item>
+            <layout class="QGridLayout" name="gridLayout">
+             <item row="6" column="2">
+              <widget class="BitcoinAmountField" name="reqAmount">
+               <property name="minimumSize">
+                <size>
+                 <width>500</width>
+                 <height>0</height>
+                </size>
+               </property>
+               <property name="maximumSize">
+                <size>
+                 <width>16777215</width>
+                 <height>16777215</height>
+                </size>
+               </property>
+               <property name="toolTip">
+                <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+               </property>
+               <property name="class" stdset="0">
+                <string>LineEdit</string>
+               </property>
+              </widget>
+             </item>
+             <item row="3" column="2">
+              <widget class="QLabel" name="label_2">
+               <property name="toolTip">
+                <string>An optional label to associate with the new receiving address.</string>
+               </property>
+               <property name="text">
+                <string>&amp;Label:</string>
+               </property>
+               <property name="alignment">
+                <set>Qt::AlignCenter</set>
+               </property>
+               <property name="class" stdset="0">
+                <string>titleLabel</string>
+               </property>
+              </widget>
+             </item>
+             <item row="7" column="2">
+              <widget class="QLabel" name="label_3">
+               <property name="toolTip">
+                <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
+               </property>
+               <property name="text">
+                <string>&amp;Message:</string>
+               </property>
+               <property name="alignment">
+                <set>Qt::AlignCenter</set>
+               </property>
+               <property name="class" stdset="0">
+                <string>titleLabel</string>
+               </property>
+              </widget>
+             </item>
+             <item row="5" column="2">
+              <widget class="QLabel" name="label">
+               <property name="toolTip">
+                <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+               </property>
+               <property name="text">
+                <string>&amp;Amount:</string>
+               </property>
+               <property name="alignment">
+                <set>Qt::AlignCenter</set>
+               </property>
+               <property name="class" stdset="0">
+                <string>titleLabel</string>
+               </property>
+              </widget>
+             </item>
+             <item row="10" column="0">
+              <widget class="QLabel" name="label_4">
+               <property name="text">
+                <string/>
+               </property>
+              </widget>
+             </item>
+             <item row="8" column="2">
+              <widget class="QLineEdit" name="reqMessage">
+               <property name="minimumSize">
+                <size>
+                 <width>500</width>
+                 <height>0</height>
+                </size>
+               </property>
+               <property name="maximumSize">
+                <size>
+                 <width>16777215</width>
+                 <height>16777215</height>
+                </size>
+               </property>
+               <property name="toolTip">
+                <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
+               </property>
+               <property name="class" stdset="0">
+                <string>LineEdit</string>
+               </property>
+              </widget>
+             </item>
+             <item row="4" column="2">
+              <widget class="QLineEdit" name="reqLabel">
+               <property name="minimumSize">
+                <size>
+                 <width>500</width>
+                 <height>0</height>
+                </size>
+               </property>
+               <property name="maximumSize">
+                <size>
+                 <width>16777215</width>
+                 <height>16777215</height>
+                </size>
+               </property>
+               <property name="toolTip">
+                <string>An optional label to associate with the new receiving address.</string>
+               </property>
+               <property name="class" stdset="0">
+                <string>LineEdit</string>
+               </property>
+              </widget>
+             </item>
+             <item row="12" column="0">
+              <widget class="QLabel" name="label_7">
+               <property name="text">
+                <string/>
+               </property>
+              </widget>
+             </item>
+             <item row="9" column="2">
+              <layout class="QHBoxLayout" name="horizontalLayout_4">
+               <item>
+                <widget class="QCheckBox" name="reuseAddress">
+                 <property name="toolTip">
+                  <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
+                 </property>
+                 <property name="text">
+                  <string>R&amp;euse an existing receiving address (not recommended)</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="checkUseInstantSend">
+                 <property name="text">
+                  <string>Request InstantPAC</string>
+                 </property>
+                 <property name="checked">
+                  <bool>true</bool>
+                 </property>
+                </widget>
+               </item>
+              </layout>
+             </item>
+            </layout>
+           </item>
+          </layout>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <widget class="QFrame" name="QRCodeFrame">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>300</width>
+          <height>16777215</height>
+         </size>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout_4">
+         <property name="spacing">
+          <number>6</number>
          </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::MinimumExpanding</enum>
+         <property name="leftMargin">
+          <number>1</number>
          </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
+         <property name="topMargin">
+          <number>1</number>
          </property>
-        </spacer>
-       </item>
-       <item>
-        <layout class="QHBoxLayout" name="horizontalLayout">
          <item>
-          <widget class="QPushButton" name="receiveButton">
-           <property name="minimumSize">
-            <size>
-             <width>300</width>
-             <height>0</height>
-            </size>
+          <spacer name="verticalSpacer">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
            </property>
-           <property name="text">
-            <string>&amp;Request payment</string>
+           <property name="sizeType">
+            <enum>QSizePolicy::Expanding</enum>
            </property>
-           <property name="class" stdset="0">
-            <string>accentButton</string>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
            </property>
-          </widget>
+          </spacer>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout">
+           <item>
+            <widget class="QPushButton" name="receiveButton">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>260</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>&amp;Request payment</string>
+             </property>
+             <property name="class" stdset="0">
+              <string>accentButton</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontaLayoutlButton">
+           <item>
+            <spacer name="horizontalSpacer_3">
+             <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="clearButton">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>140</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="maximumSize">
+              <size>
+               <width>140</width>
+               <height>16777215</height>
+              </size>
+             </property>
+             <property name="toolTip">
+              <string>Clear all fields of the form.</string>
+             </property>
+             <property name="layoutDirection">
+              <enum>Qt::LeftToRight</enum>
+             </property>
+             <property name="text">
+              <string>Clear</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
          </item>
         </layout>
-       </item>
-       <item>
-        <widget class="QPushButton" name="clearButton">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="toolTip">
-          <string>Clear all fields of the form.</string>
-         </property>
-         <property name="text">
-          <string>Clear</string>
-         </property>
-         <property name="autoDefault">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <spacer name="verticalSpacer_2">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>10</height>
-      </size>
-     </property>
-    </spacer>
+       </widget>
+      </item>
+     </layout>
+    </widget>
    </item>
   </layout>
  </widget>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 85ffc6a7084d..1d210c625235 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -292,7 +292,7 @@ QTableView::item { /* Table Item */
 }
 QTableView::item:selected { /* Table Item Selected */
     background-color: rgb(70, 70, 70);
-    color: rgb(180,180,180);
+    color: white;
 }
 QTableWidget{
     background-color: rgba(224, 224, 224, 0.1); 
@@ -337,7 +337,6 @@ QPushButton {
     font-family: 'Volte Rounded', sans-serif;
     font-weight: bold;
     font-size: 15px;
-    text-transform:uppercase;
 }
 QPushButton:hover, QPushButton:focus {
     background: rgb(243,232,56) !important;
@@ -346,7 +345,7 @@ QPushButton:hover, QPushButton:focus {
 }
 QPushButton:disabled {
     background: rgb(45,45,45);
-    border: 1px solid rgb(263,242,76);
+    border: 0px;
 }
 QPushButton:pressed {
     background: rgba(243,232,56, 0.3) !important;
@@ -354,35 +353,38 @@ QPushButton:pressed {
     color: rgb(243,232,56) !important;
 }
 [class="linkButton"]{
-    border-radius: 13px;
-    background-color: transparent;
+    background-color: transparent !important;
     border: none;
-    color:rgb(243,232,56);
+    color: #F4EA13;
+    font-size: 11px;
     text-decoration: underline;
 }
-[class="linkButton"]:hover, [class="linkButton"]:focus {
-    background: rgb(243,232,56) !important;
-    border: 2px solid rgb(5,5,5) !important;
-    color: rgb(5,5,5) !important;
+[class="linkButton"]:hover, [class="linkButton"]:focus, #removeRequestButton:hover, #removeRequestButton:focus {
+    color:rgb(61,47,255);
+    background-color: transparent !important;
+    border: 0px !important;
 }
-[class="linkButton"]:disabled {
-    color:rgb(243,232,56);
+[class="linkButton"]:disabled, #removeRequestButton:disabled  {
+    background-color: transparent !important;
+    color:rgb(100,100,100) !important;
     text-decoration: underline;
 }
-[class="linkButton"]:pressed {
-    background: rgba(243,232,56, 0.3) !important;
-    border: 2px solid rgb(5, 5, 5) !important;
-    color: rgb(243,232,56) !important;
+[class="linkButton"]:pressed, #removeRequestButton:pressed {
+    background: transparent !important;
+    border: 0px !important;
+    color: rgb(255,255,255) !important;
 }
 [class="accentButton"]{
     border: none;
     background: rgb(243,232,56);
     color: rgb(5,5,5);
-    border-radius: 25px;
-    height: 50px;
+    border-radius: 35px;
+    height: 70px;
+    max-width:260px;
     font-style: normal;
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 15px;
+    font-size: 18px;
+    font-weight:bold;
     text-transform:uppercase;
 }
 QCheckBox {
@@ -488,6 +490,12 @@ QRadioButton::indicator:indeterminate:pressed {
     margin: 12px 42px 18px 42px;
 }
 
+#removeRequestButton{
+    color: #FF1D1D;
+}
+#recentRequestsView{
+
+}
 /*
  * Transactions Page
  */

From 15ae0a7121285f1dbd81b60efe10bcfff86d6380 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 16:23:08 -0600
Subject: [PATCH 048/225] Background of dialog when closing app

---
 src/qt/utilitydialog.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 2fbc1ab94d77..87713837e1a3 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -202,6 +202,7 @@ void HelpMessageDialog::on_okButton_accepted()
 ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f):
     QWidget(parent, f)
 {
+    setStyleSheet("background: rgb(50,50,50); color:white;");
     QVBoxLayout *layout = new QVBoxLayout();
     layout->addWidget(new QLabel(
         tr("$PAC Core is shutting down...") + "<br /><br />" +

From 8046adeb70edfff9e725f489ff2530079f74fb4c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 28 Jan 2019 17:27:05 -0600
Subject: [PATCH 049/225] Private_Overview functionality fix

---
 src/qt/overviewpage.cpp | 21 +++++++--------------
 src/qt/overviewpage.h   |  3 +--
 src/qt/privatepage.cpp  | 42 +++++++++++------------------------------
 src/qt/privatepage.h    | 12 +-----------
 4 files changed, 20 insertions(+), 58 deletions(-)

diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index e6645d64bbfc..6702e9248225 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -26,7 +26,6 @@
 #include <QAbstractItemDelegate>
 #include <QPainter>
 #include <QSettings>
-#include <QTimer>
 
 #include "qwebchannel.h"
 #include <QCoreApplication>
@@ -147,8 +146,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     currentWatchOnlyBalance(-1),
     currentWatchUnconfBalance(-1),
     currentWatchImmatureBalance(-1),
-    txdelegate(new TxViewDelegate(platformStyle, this)),
-    timer(nullptr)
+    txdelegate(new TxViewDelegate(platformStyle, this))
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
@@ -167,10 +165,8 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
 
     // start with displaying the "out of sync" warnings
     showOutOfSyncWarning(true);
-
-    // that's it for litemode
-    if(fLiteMode) return;
     
+    //Socket connection
     //WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
 }
 
@@ -187,25 +183,23 @@ void OverviewPage::handleOutOfSyncWarningClicks()
 
 OverviewPage::~OverviewPage()
 {
-    if(timer) disconnect(timer, SIGNAL(timeout()), this, SLOT(privateSendStatus()));
     delete ui;
 }
 
-void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
+void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
 {
     currentBalance = balance;
     currentUnconfirmedBalance = unconfirmedBalance;
     currentImmatureBalance = immatureBalance;
-    currentAnonymizedBalance = anonymizedBalance;
     currentWatchOnlyBalance = watchOnlyBalance;
     currentWatchUnconfBalance = watchUnconfBalance;
     currentWatchImmatureBalance = watchImmatureBalance;
     ui->iconLabelAvailable->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelPending->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelTotal->setPixmap(QPixmap(":icons/bitcoin-32"));
+    ui->iconLabelOverviewInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance, false, BitcoinUnits::separatorAlways));
     ui->labelUnconfirmed->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
-    ui->iconLabelOverviewInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, immatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance + unconfirmedBalance + immatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchAvailable->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
@@ -268,9 +262,9 @@ void OverviewPage::setWalletModel(WalletModel *model)
         // update the display unit, to not use the default ("PAC")
         updateDisplayUnit();
         // Keep up to date with wallet
-        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
+        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(),
                    model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
-        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
 
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
         connect(model->getOptionsModel(), SIGNAL(advancedPSUIChanged(bool)), this, SLOT(updateAdvancedPSUI(bool)));
@@ -288,7 +282,7 @@ void OverviewPage::updateDisplayUnit()
     {
         nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
         if(currentBalance != -1)
-            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentAnonymizedBalance,
+            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance,
                        currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
 
         // Update txdelegate->unit with the current unit
@@ -314,7 +308,6 @@ void OverviewPage::updateAdvancedPSUI(bool fShowAdvancedPSUI) {
     this->fShowAdvancedPSUI = fShowAdvancedPSUI;
     int nNumItems = (fLiteMode || !fShowAdvancedPSUI) ? NUM_ITEMS : NUM_ITEMS_ADV;
     SetupTransactionList(nNumItems);
-    if (fLiteMode) return;
 }
 
 void OverviewPage::SetupTransactionList(int nNumItems) {
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index fd3c84ea5279..62ae26866ef2 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -38,7 +38,7 @@ class OverviewPage : public QWidget
     void showOutOfSyncWarning(bool fShow);
 
 public Q_SLOTS:
-    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
                     const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
 
 Q_SIGNALS:
@@ -53,7 +53,6 @@ public Q_SLOTS:
     CAmount currentBalance;
     CAmount currentUnconfirmedBalance;
     CAmount currentImmatureBalance;
-    CAmount currentAnonymizedBalance;
     CAmount currentWatchOnlyBalance;
     CAmount currentWatchUnconfBalance;
     CAmount currentWatchImmatureBalance;
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index c3870601ab73..d3a739c0ba8c 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -13,7 +13,6 @@
 #include "init.h"
 #include "optionsmodel.h"
 #include "platformstyle.h"
-#include "transactionfilterproxy.h"
 #include "transactiontablemodel.h"
 #include "utilitydialog.h"
 #include "walletmodel.h"
@@ -41,16 +40,11 @@ using namespace std;
 
 PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
     QWidget(parent),
+    timer(nullptr),
     ui(new Ui::PrivatePage),
     clientModel(0),
     walletModel(0),
-    currentBalance(-1),
-    currentUnconfirmedBalance(-1),
-    currentImmatureBalance(-1),
-    currentWatchOnlyBalance(-1),
-    currentWatchUnconfBalance(-1),
-    currentWatchImmatureBalance(-1),
-    timer(nullptr)
+    currentBalance(-1)
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
@@ -89,17 +83,11 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
         timer->start(1000);
     }
 
-        QGraphicsDropShadowEffect *cardShadow = new QGraphicsDropShadowEffect;
-        cardShadow->setBlurRadius(12.0);
-        cardShadow->setColor(QColor(0, 0, 0, 160));
-        cardShadow->setOffset(2.0);
-        ui->togglePrivateSend->setGraphicsEffect(cardShadow);
-}
-
-void PrivatePage::handleTransactionClicked(const QModelIndex &index)
-{
-    if(filter)
-        Q_EMIT transactionClicked(filter->mapToSource(index));
+    QGraphicsDropShadowEffect *cardShadow = new QGraphicsDropShadowEffect;
+    cardShadow->setBlurRadius(12.0);
+    cardShadow->setColor(QColor(0, 0, 0, 160));
+    cardShadow->setOffset(2.0);
+    ui->togglePrivateSend->setGraphicsEffect(cardShadow);
 }
 
 void PrivatePage::handleOutOfSyncWarningClicks()
@@ -113,15 +101,10 @@ PrivatePage::~PrivatePage()
     delete ui;
 }
 
-void PrivatePage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
+void PrivatePage::setBalance(const CAmount& balance, const CAmount& anonymizedBalance)
 {
     currentBalance = balance;
-    currentUnconfirmedBalance = unconfirmedBalance;
-    currentImmatureBalance = immatureBalance;
     currentAnonymizedBalance = anonymizedBalance;
-    currentWatchOnlyBalance = watchOnlyBalance;
-    currentWatchUnconfBalance = watchUnconfBalance;
-    currentWatchImmatureBalance = watchImmatureBalance;
     ui->iconLabelPrivateInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
 
@@ -153,9 +136,8 @@ void PrivatePage::setModel(WalletModel *model)
         // update the display unit, to not use the default ("PAC")
         updateDisplayUnit();
         // Keep up to date with wallet
-        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
-                   model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
-        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
+        setBalance(model->getBalance(), model->getAnonymizedBalance());
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount)));
 
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
         connect(model->getOptionsModel(), SIGNAL(privateSendRoundsChanged()), this, SLOT(updatePrivateSendProgress()));
@@ -177,9 +159,7 @@ void PrivatePage::updateDisplayUnit()
     {
         nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
         if(currentBalance != -1)
-            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentAnonymizedBalance,
-                       currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
-
+            setBalance(currentBalance, currentAnonymizedBalance);
     }
 }
 
diff --git a/src/qt/privatepage.h b/src/qt/privatepage.h
index 0627d13f67b6..8550e4492d0a 100644
--- a/src/qt/privatepage.h
+++ b/src/qt/privatepage.h
@@ -39,11 +39,9 @@ class PrivatePage : public QWidget
 
 public Q_SLOTS:
     void privateSendStatus();
-    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
-                    const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
+    void setBalance(const CAmount& balance, const CAmount& anonymizedBalance);
 
 Q_SIGNALS:
-    void transactionClicked(const QModelIndex &index);
     void outOfSyncWarningClicked();
 
 private:
@@ -52,19 +50,12 @@ public Q_SLOTS:
     ClientModel *clientModel;
     WalletModel *walletModel;
     CAmount currentBalance;
-    CAmount currentUnconfirmedBalance;
-    CAmount currentImmatureBalance;
     CAmount currentAnonymizedBalance;
-    CAmount currentWatchOnlyBalance;
-    CAmount currentWatchUnconfBalance;
-    CAmount currentWatchImmatureBalance;
     int nDisplayUnit;
     bool fShowAdvancedPSUI;
 
     TxViewDelegate *txdelegate;
-    std::unique_ptr<TransactionFilterProxy> filter;
 
-    void SetupTransactionList(int nNumItems);
     void DisablePrivateSendCompletely();
 
 private Q_SLOTS:
@@ -75,7 +66,6 @@ private Q_SLOTS:
     void updateDisplayUnit();
     void updatePrivateSendProgress();
     void updateAdvancedPSUI(bool fShowAdvancedPSUI);
-    void handleTransactionClicked(const QModelIndex &index);
     void updateAlerts(const QString &warnings);
     void handleOutOfSyncWarningClicks();
 };

From 73f6b2dbe5d05a479f99070450dfb0ce5af27ad7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 19:26:27 -0600
Subject: [PATCH 050/225] Adding commas to make more easy to read large numbers

---
 src/qt/bitcoinunits.cpp | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index dda3725067de..2d8fe05c55d6 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -9,6 +9,9 @@
 
 #include <QSettings>
 #include <QStringList>
+#include <QLocale>
+#include <iostream>
+#include <string>
 
 BitcoinUnits::BitcoinUnits(QObject *parent):
         QAbstractListModel(parent),
@@ -147,7 +150,17 @@ QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, Separator
     if (num_decimals <= 0)
         return quotient_str;
 
-    return quotient_str + QString(".") + remainder_str;
+    QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
+    QLocale aEnglish;
+    //inside the Qstring there are some spaces, it must remove those in order to parse correcly:
+    QString str = quotient_str.simplified();
+    str.replace( " ", "" );
+    //it parse to the longest type of data:
+    qlonglong quantity = str.toLongLong();
+    //adds the commas:
+    QString quotient_str_withcomma =  aEnglish.toString((unsigned long long int) quantity);
+    //then it adds the dot and the cents:
+    return quotient_str_withcomma + QString(".") + remainder_str;
 }
 
 

From 0be85eb9d2780f00759fb6d896a3236b8b678b6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 19:47:28 -0600
Subject: [PATCH 051/225] Re sorting buttons of tool bar menu and fixing
 disabled push button

---
 src/qt/bitcoingui.cpp          | 12 ++++++------
 src/qt/forms/masternodelist.ui | 30 +++++++++++++++++++++++-------
 src/qt/res/css/pac.css         |  9 +++++----
 3 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 508db8441ff9..eaa35ecd0bf7 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -362,9 +362,9 @@ void BitcoinGUI::createActions()
     privateAction->setToolTip(historyAction->statusTip());
     privateAction->setCheckable(true);
 #ifdef Q_OS_MAC
-    privateAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_5));
+    privateAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_7));
 #else
-    privateAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
+    privateAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7));
 #endif
     tabGroup->addAction(privateAction);
     //v:
@@ -392,9 +392,9 @@ void BitcoinGUI::createActions()
     proposalAction->setToolTip(proposalAction->statusTip());
     proposalAction->setCheckable(true);
 #ifdef Q_OS_MAC
-    proposalAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_7));
+    proposalAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_5));
 #else
-    proposalAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7));
+    proposalAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
 #endif
     tabGroup->addAction(proposalAction);
 
@@ -632,13 +632,13 @@ void BitcoinGUI::createToolBars()
         toolbar->addAction(sendCoinsAction);
         toolbar->addAction(receiveCoinsAction);
         toolbar->addAction(historyAction);
-        toolbar->addAction(privateAction);
+        toolbar->addAction(proposalAction);
         QSettings settings;
         if (settings.value("fShowMasternodesTab").toBool())
         {
             toolbar->addAction(masternodeAction);
         }
-        toolbar->addAction(proposalAction);
+        toolbar->addAction(privateAction);
         toolbar->setMovable(false); // remove unused icon in upper left corner
         overviewAction->setChecked(true);
 
diff --git a/src/qt/forms/masternodelist.ui b/src/qt/forms/masternodelist.ui
index e4e10d233678..596088e38ba9 100644
--- a/src/qt/forms/masternodelist.ui
+++ b/src/qt/forms/masternodelist.ui
@@ -31,6 +31,19 @@
      <property name="bottomMargin">
       <number>0</number>
      </property>
+     <item>
+      <widget class="QLabel" name="updateNote">
+       <property name="styleSheet">
+        <string notr="true">color: #7B7B7B;</string>
+       </property>
+       <property name="text">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Note: Status of your masternodes in local wallet can potentially be slightly incorrect. Always wait for wallet to sync additional data and then&lt;br/&gt;double check from another node if your masternode should be running but you still do not see &amp;quot;ENABLED&amp;quot; in &amp;quot;Status&amp;quot; field.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="wordWrap">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
      <item>
       <spacer name="horizontalSpacer0">
        <property name="orientation">
@@ -44,6 +57,16 @@
        </property>
       </spacer>
      </item>
+     <item>
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>MASTERNODES</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
      <item>
       <widget class="QTabWidget" name="tabWidget">
        <property name="currentIndex">
@@ -64,13 +87,6 @@
              <property name="bottomMargin">
               <number>0</number>
              </property>
-             <item>
-              <widget class="QLabel" name="updateNote">
-               <property name="text">
-                <string>Note: Status of your masternodes in local wallet can potentially be slightly incorrect.&lt;br /&gt;Always wait for wallet to sync additional data and then double check from another node&lt;br /&gt;if your masternode should be running but you still do not see &quot;ENABLED&quot; in &quot;Status&quot; field.</string>
-               </property>
-              </widget>
-             </item>
             </layout>
            </item>
            <item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 444a8a011fe0..6ea29f3f2443 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -338,12 +338,13 @@ QPushButton {
 }
 QPushButton:hover, QPushButton:focus {
     background: rgb(243,232,56) !important;
-    border: 0px !important;
+    border: 1px solid rgb(243,232,56);
     color: rgb(5,5,5);
 }
 QPushButton:disabled {
-    background: rgb(45,45,45);
-    border: 0px;
+    background: transparent !important;
+    border: 1px solid rgba(243,232,56,0.6);
+    color:rgb(100,100,100) !important;
 }
 QPushButton:pressed {
     background: rgba(243,232,56, 0.3) !important;
@@ -605,4 +606,4 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 /* TESTS */
 /*#SendCoinsEntry QAbstractSpinBox {
     qproperty-sizePolicy: '[Expanding, Preferred, 0, 0]' ;
-}*/
\ No newline at end of file
+}*/

From 921b5b79110490a7c12199382fa4a77441b204b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 28 Jan 2019 20:13:05 -0600
Subject: [PATCH 052/225] Progress, unfinished components

masternodes tab navigation
label of masternodes
addressbookpage table columns to be tested
---
 src/qt/addressbookpage.cpp |  2 ++
 src/qt/res/css/pac.css     | 27 ++++++++++++++++++++++++---
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index b9c203515662..dffa5111e88b 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -135,6 +135,7 @@ void AddressBookPage::setModel(AddressTableModel *model)
     ui->tableView->setModel(proxyModel);
     ui->tableView->sortByColumn(0, Qt::AscendingOrder);
 
+
     // Set column widths
 #if QT_VERSION < 0x050000
     ui->tableView->horizontalHeader()->setResizeMode(AddressTableModel::Label, QHeaderView::Stretch);
@@ -143,6 +144,7 @@ void AddressBookPage::setModel(AddressTableModel *model)
     ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Label, QHeaderView::Stretch);
     ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents);
 #endif
+    //ui->tableView->setColumnWidth(0,250); //:v
 
     connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
         this, SLOT(selectionChanged()));
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 6ea29f3f2443..9681dde014bc 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -604,6 +604,27 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 
 
 /* TESTS */
-/*#SendCoinsEntry QAbstractSpinBox {
-    qproperty-sizePolicy: '[Expanding, Preferred, 0, 0]' ;
-}*/
+
+QTabWidget::pane { /* The tab widget frame */
+    border-top: 0px solid transparent;
+}
+QTabWidget::tab-bar {
+    left: 0px; /* move to the right by 5px */
+}
+/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
+QTabBar::tab {
+    background:#1D1D1D;
+    border: 0px solid transparent;
+    border-bottom-color: transparent; /* same as the pane color */
+    min-width: 180px;
+    padding: 2px;
+    color:#FFFFFF;
+    font-family: 'Volte Rounded',sans-serif !important;
+}
+QTabBar::tab:selected, QTabBar::tab:hover {
+    background-color: #363636;
+}
+QTabBar::tab:selected {
+    border-color: transparent;
+    border-bottom-color: transparent; /* same as pane color */
+}

From cc151fed6993a202f665fd95b255da89ca8038c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 29 Jan 2019 10:29:22 -0600
Subject: [PATCH 053/225] remove border of Disabled link buttons

---
 src/qt/res/css/pac.css | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 9681dde014bc..2b757b1a8db2 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -353,7 +353,7 @@ QPushButton:pressed {
 }
 [class="linkButton"]{
     background-color: transparent !important;
-    border: none;
+    border: none !important;
     color: #F4EA13;
     font-size: 11px;
     text-decoration: underline;
@@ -367,6 +367,7 @@ QPushButton:pressed {
     background-color: transparent !important;
     color:rgb(100,100,100) !important;
     text-decoration: underline;
+    border: none !important;
 }
 [class="linkButton"]:pressed, #removeRequestButton:pressed {
     background: transparent !important;
@@ -604,12 +605,11 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 
 
 /* TESTS */
-
 QTabWidget::pane { /* The tab widget frame */
     border-top: 0px solid transparent;
 }
 QTabWidget::tab-bar {
-    left: 0px; /* move to the right by 5px */
+    left: 200px; /* move to the right by 5px */
 }
 /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
 QTabBar::tab {

From c7ecf402b8663e45bec58f94ce051e6aaf90a7cb Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 29 Jan 2019 10:35:27 -0600
Subject: [PATCH 054/225] Private (info button, and sizes), SendPage (balance
 working)

---
 src/qt/forms/privatepage.ui     | 41 ++++++++++++++--------------
 src/qt/forms/sendcoinsdialog.ui | 48 +++------------------------------
 src/qt/privatepage.cpp          |  1 -
 src/qt/res/css/pac.css          | 16 ++++++++---
 4 files changed, 35 insertions(+), 71 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 1153d9d23aaf..2cfc0dad1498 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -116,22 +116,37 @@
                </widget>
               </item>
               <item>
-               <widget class="QLabel" name="iconLabelPrivateInfo">
+               <widget class="QPushButton" name="privateSendInfo">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
                 <property name="minimumSize">
                  <size>
-                  <width>0</width>
-                  <height>0</height>
+                  <width>30</width>
+                  <height>30</height>
                  </size>
                 </property>
                 <property name="maximumSize">
                  <size>
-                  <width>35</width>
-                  <height>16777215</height>
+                  <width>30</width>
+                  <height>30</height>
                  </size>
                 </property>
+                <property name="toolTip">
+                 <string>Information about PrivateSend and Mixing</string>
+                </property>
+                <property name="styleSheet">
+                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
+                </property>
                 <property name="text">
                  <string/>
                 </property>
+                <property name="class" stdset="0">
+                 <string>QuickButton</string>
+                </property>
                </widget>
               </item>
              </layout>
@@ -471,22 +486,6 @@
                   </property>
                  </widget>
                 </item>
-                <item>
-                 <widget class="QPushButton" name="privateSendInfo">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="toolTip">
-                   <string>Information about PrivateSend and Mixing</string>
-                  </property>
-                  <property name="text">
-                   <string>Info</string>
-                  </property>
-                 </widget>
-                </item>
                </layout>
               </item>
              </layout>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index a56f5ce21e59..e788b88bcc3d 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -754,48 +754,6 @@
               </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_11">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QLabel" name="label">
-              <property name="text">
-               <string>Balance:</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="cursor">
-               <cursorShape>IBeamCursor</cursorShape>
-              </property>
-              <property name="text">
-               <string notr="true">123.456 PAC</string>
-              </property>
-              <property name="textInteractionFlags">
-               <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-              </property>
-             </widget>
-            </item>
            </layout>
           </item>
          </layout>
@@ -973,7 +931,7 @@
             <item>
              <widget class="QLabel" name="label_9">
               <property name="text">
-               <string>578.03 $PAC</string>
+               <string>00.00 $PAC</string>
               </property>
              </widget>
             </item>
@@ -1082,7 +1040,7 @@
              </spacer>
             </item>
             <item>
-             <widget class="QLabel" name="label_3">
+             <widget class="QLabel" name="labelBalance">
               <property name="sizePolicy">
                <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
@@ -1096,7 +1054,7 @@
                </size>
               </property>
               <property name="text">
-               <string>722,450.00</string>
+               <string>123,456.00</string>
               </property>
               <property name="class" stdset="0">
                <string>pacCoinsLabel</string>
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index d3a739c0ba8c..5926f747b6b3 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -105,7 +105,6 @@ void PrivatePage::setBalance(const CAmount& balance, const CAmount& anonymizedBa
 {
     currentBalance = balance;
     currentAnonymizedBalance = anonymizedBalance;
-    ui->iconLabelPrivateInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
 
     // for symmetry reasons also show immature label when the watch-only one is shown
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 444a8a011fe0..e6d9caea1a0f 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -75,6 +75,7 @@ QLabel[class="titleLabel"]{
     color:rgb(255,255,255);
     font-family: 'Volte Rounded', sans-serif;
     font-size: 20px;
+    text-transform:uppercase;
 }
 QLabel[class="pacCoinsLabel"]{
     color:rgb(243,232,56);
@@ -537,20 +538,24 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     font-size: 25px;
 }
 #labelAnonymized{
-    font-size: 30px;
+    font-size: 45px;
+    font: bolder;
 }
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
     font-weight: 100;
 }
+#labelAmountRounds, #labelPrivateSendEnabled, #labelPrivateSendHeader {
+    text-transform:uppercase;
+}
 /* Black button */
 [class="buttonAllBlack"]{
     background: #141414;
     border: 0px;
     color: #fff;
     border-radius: 11px;
-    height: 40px;
+    height: 50px;
     font-weight: bold;
-    font-size: 10px;
+    font-size: 18px;
     text-transform:uppercase;
 }
 [class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
@@ -566,7 +571,10 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     background: rgb(243,232,56);
     color: #fff;
 }
-
+#privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed{
+    background: transparent;
+    border: 0px;
+}
 
 /*
  * Proposal Page

From 5e2d7a334c12ef5d3bfa36d49b170a5c0594f1c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 29 Jan 2019 10:51:46 -0600
Subject: [PATCH 055/225] Commas instead of spaces on bitcoinunits fixed bug

there was a bug in where the negative quantities where not being converted properly
---
 killPAC.sh              |  9 +++++++++
 src/qt/bitcoinunits.cpp | 20 ++++++++------------
 2 files changed, 17 insertions(+), 12 deletions(-)
 create mode 100755 killPAC.sh

diff --git a/killPAC.sh b/killPAC.sh
new file mode 100755
index 000000000000..8dd50eb64f27
--- /dev/null
+++ b/killPAC.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+PID=`ps -eaf | grep Paccoin-Qt | grep -v grep | awk '{print $2}'`
+if [[ "" !=  "$PID" ]]; then
+  echo "killing $PID"
+  kill -9 $PID
+else
+  echo "No Paccoin-Qt process running. QT will not kill any process" false
+fi
+
diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index 2d8fe05c55d6..152b85f2949e 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -147,20 +147,16 @@ QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, Separator
     else if (fPlus && n > 0)
         quotient_str.insert(0, '+');
 
+    //a substring is created in order to replace spaces with commas for easier reading.
+    QString _str;
+    _str = quotient_str.simplified();
+    _str.replace( " ", "," );
+
     if (num_decimals <= 0)
-        return quotient_str;
-
-    QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
-    QLocale aEnglish;
-    //inside the Qstring there are some spaces, it must remove those in order to parse correcly:
-    QString str = quotient_str.simplified();
-    str.replace( " ", "" );
-    //it parse to the longest type of data:
-    qlonglong quantity = str.toLongLong();
-    //adds the commas:
-    QString quotient_str_withcomma =  aEnglish.toString((unsigned long long int) quantity);
+        return _str;
+
     //then it adds the dot and the cents:
-    return quotient_str_withcomma + QString(".") + remainder_str;
+    return _str + QString(".") + remainder_str;
 }
 
 

From eceb36539b0b5560a7d5d52de8bb5b89c5d14d2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 29 Jan 2019 12:58:55 -0600
Subject: [PATCH 056/225] AddressBookPage and EditAddressDialog styles

table styles modified
inputs to fit with UI design
---
 src/qt/addressbookpage.cpp        |  3 ++-
 src/qt/forms/editaddressdialog.ui | 38 +++++++++++++++++++++++++++++++
 src/qt/res/css/pac.css            | 32 ++++++++++++++++++++++----
 3 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index dffa5111e88b..b71ff30996c4 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -42,7 +42,8 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode mode,
         ui->deleteAddress->setIcon(QIcon(":/icons/" + theme + "/remove"));
         ui->exportButton->setIcon(QIcon(":/icons/" + theme + "/export"));
     }
-
+    ui->tableView->setShowGrid(false);
+    ui->tableView->setAlternatingRowColors(false);
     switch(mode)
     {
     case ForSelection:
diff --git a/src/qt/forms/editaddressdialog.ui b/src/qt/forms/editaddressdialog.ui
index c1aea3633892..2be9121258dc 100644
--- a/src/qt/forms/editaddressdialog.ui
+++ b/src/qt/forms/editaddressdialog.ui
@@ -21,9 +21,20 @@
      </property>
      <item row="0" column="0">
       <widget class="QLabel" name="label">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="layoutDirection">
+        <enum>Qt::LeftToRight</enum>
+       </property>
        <property name="text">
         <string>&amp;Label</string>
        </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
        <property name="buddy">
         <cstring>labelEdit</cstring>
        </property>
@@ -31,16 +42,35 @@
      </item>
      <item row="0" column="1">
       <widget class="QLineEdit" name="labelEdit">
+       <property name="font">
+        <font>
+         <family>Volte Rounded</family>
+        </font>
+       </property>
        <property name="toolTip">
         <string>The label associated with this address list entry</string>
        </property>
+       <property name="class" stdset="0">
+        <string>LineEditSmall</string>
+       </property>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="QLabel" name="label_2">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="layoutDirection">
+        <enum>Qt::LeftToRight</enum>
+       </property>
        <property name="text">
         <string>&amp;Address</string>
        </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
        <property name="buddy">
         <cstring>addressEdit</cstring>
        </property>
@@ -48,9 +78,17 @@
      </item>
      <item row="1" column="1">
       <widget class="QValidatedLineEdit" name="addressEdit">
+       <property name="font">
+        <font>
+         <family>Volte Rounded</family>
+        </font>
+       </property>
        <property name="toolTip">
         <string>The address associated with this address list entry. This can only be modified for sending addresses.</string>
        </property>
+       <property name="class" stdset="0">
+        <string>LineEditSmall</string>
+       </property>
       </widget>
      </item>
     </layout>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index d176b4a1f545..86454c9b8ce4 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -49,7 +49,6 @@ QStatusBar{
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
     border: 0px;
     border-radius: 20px;
-    font-size:11px;
     outline:0;
     padding:3px;
     background-color: rgb(10, 10, 10);
@@ -58,12 +57,30 @@ QStatusBar{
     font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
-[class="LineEdit"]:focus {
+[class="LineEdit"]:focus, [class="LineEditSmall"]:focus {
     font-size:12px;
 }
-[class="LineEdit"]:disabled {
+[class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled {
     background-color:#f2f2f2;
 }
+[class="QuickButton"]{
+    background-color: transparent;
+    border: none;
+}
+[class="LineEditSmall"]{
+    border: 0px;
+    border-radius: 10px;
+    outline:0;
+    padding:3px;
+    background-color: rgb(10, 10, 10);
+    color: #fff;
+    height: 20px !important;
+    font-family: 'Volte Rounded', sans-serif;
+    font-size: 13px;
+}
+
+
+
 [class="QuickButton"]{
     background-color: transparent;
     border: none;
@@ -624,8 +641,8 @@ QTabBar::tab {
     background:#1D1D1D;
     border: 0px solid transparent;
     border-bottom-color: transparent; /* same as the pane color */
-    min-width: 180px;
     padding: 2px;
+    width: 180px;
     color:#FFFFFF;
     font-family: 'Volte Rounded',sans-serif !important;
 }
@@ -636,3 +653,10 @@ QTabBar::tab:selected {
     border-color: transparent;
     border-bottom-color: transparent; /* same as pane color */
 }
+MasternodeList > QTabBar::tab{
+    min-width:180px;
+}
+OptionsDialo > QTabBar::tab {
+    min-width:100px;
+}
+

From fb6b3cfe484398c84c230bacd7c7caa44485101f Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 29 Jan 2019 13:00:48 -0600
Subject: [PATCH 057/225] Receive layout and tables headers color

---
 src/qt/forms/receivecoinsdialog.ui | 50 +++++++++++++++++++++++++++---
 src/qt/res/css/pac.css             | 18 +++++------
 2 files changed, 54 insertions(+), 14 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index f9a1f3e4316d..d96252b88e75 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>892</width>
+    <width>916</width>
     <height>775</height>
    </rect>
   </property>
@@ -73,6 +73,15 @@ padding: 10px;</string>
      <layout class="QHBoxLayout" name="horizontalLayout_3">
       <item>
        <layout class="QGridLayout" name="gridLayout_2">
+        <property name="leftMargin">
+         <number>40</number>
+        </property>
+        <property name="rightMargin">
+         <number>40</number>
+        </property>
+        <property name="bottomMargin">
+         <number>10</number>
+        </property>
         <item row="1" column="0">
          <widget class="QFrame" name="frame">
           <property name="sizePolicy">
@@ -389,6 +398,12 @@ padding: 10px;</string>
               <layout class="QHBoxLayout" name="horizontalLayout_4">
                <item>
                 <widget class="QCheckBox" name="reuseAddress">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
                  <property name="toolTip">
                   <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
                  </property>
@@ -399,6 +414,24 @@ padding: 10px;</string>
                </item>
                <item>
                 <widget class="QCheckBox" name="checkUseInstantSend">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>200</width>
+                   <height>0</height>
+                  </size>
+                 </property>
+                 <property name="maximumSize">
+                  <size>
+                   <width>16777215</width>
+                   <height>16777215</height>
+                  </size>
+                 </property>
                  <property name="text">
                   <string>Request InstantPAC</string>
                  </property>
@@ -435,11 +468,17 @@ padding: 10px;</string>
           <number>6</number>
          </property>
          <property name="leftMargin">
-          <number>1</number>
+          <number>20</number>
          </property>
          <property name="topMargin">
           <number>1</number>
          </property>
+         <property name="rightMargin">
+          <number>20</number>
+         </property>
+         <property name="bottomMargin">
+          <number>20</number>
+         </property>
          <item>
           <spacer name="verticalSpacer">
            <property name="orientation">
@@ -489,9 +528,12 @@ padding: 10px;</string>
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
              </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>40</width>
+               <width>124</width>
                <height>20</height>
               </size>
              </property>
@@ -507,7 +549,7 @@ padding: 10px;</string>
              </property>
              <property name="minimumSize">
               <size>
-               <width>140</width>
+               <width>130</width>
                <height>0</height>
               </size>
              </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index d176b4a1f545..3c99f22e0541 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -260,11 +260,11 @@ QAbstractSpinBox::down-arrow {
 
 /* GLOBAL TABLES*/
 QHeaderView { /* Top of the table Header */
-    background-color: rgba(224, 224, 224, 0.1);
+    background-color: #0F0F0F;
 }
 QHeaderView::section { /* Top of the table Header Sections */
     qproperty-alignment:center;
-    background-color: rgba(224, 224, 224, 0.1);
+    background-color: rgba(40, 40, 40, 0.3);
     color:#fff;
     min-height:25px;
     font-weight:bold;
@@ -281,7 +281,7 @@ QScrollArea {
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    background-color: rgba(224, 224, 224, 0.1);
+    background-color: rgba(40, 40, 40, 0.3);
     color: white !important;
     /*alternate-background-color: yellow;*/
 }
@@ -294,7 +294,7 @@ QTableView::item:selected { /* Table Item Selected */
     color: white;
 }
 QTableWidget{
-    background-color: rgba(224, 224, 224, 0.1); 
+    background-color: rgba(40, 40, 40, 0.3);
 }
 
 
@@ -494,21 +494,19 @@ QRadioButton::indicator:indeterminate:pressed {
 #removeRequestButton{
     color: #FF1D1D;
 }
-#recentRequestsView{
 
-}
 /*
  * Transactions Page
  */
 /* Over the table */
 QLineEdit#addressWidget, QLineEdit#tAmountWidget{
-    background-color: rgba(224, 224, 224, 0.2);
+    background-color: #0B0B0B;
     color:#fff;
     border:0px;
     min-height: 30px !important;
 }
 QComboBox#watchOnlyWidget, QComboBox#dateWidget, QComboBox#typeWidget {
-    background-color: rgba(224, 224, 224, 0.2);
+    background-color: #0B0B0B;
     border:0px;
     padding: 3px 5px 3px 5px;
     color:#fff;
@@ -584,13 +582,13 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 
 /* Over the table */
 QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Example of setObjectName for widgets without name */
-    background-color: rgba(224, 224, 224, 0.2);
+    background-color: #0B0B0B;
     color:#fff;
     border:0px;
     min-height: 30px !important;
 }
 QComboBox#startDateWidget, QComboBox#endDateWidget{
-    background-color: rgba(224, 224, 224, 0.2);
+    background-color: #0B0B0B;
     border:0px;
     padding: 3px 5px 3px 5px;
     color:#fff;

From a6c50a972a4c56d224485d2aea351957da1ff412 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 29 Jan 2019 17:43:27 -0600
Subject: [PATCH 058/225] Masternodes and other css style

---
 src/qt/forms/masternodelist.ui |  12 +---
 src/qt/forms/optionsdialog.ui  |  51 +++++++++++++--
 src/qt/locale/paccoin_en.ts    |   2 +-
 src/qt/locale/paccoin_es.ts    |   8 +--
 src/qt/masternodelist.cpp      |   5 ++
 src/qt/optionsdialog.cpp       |   4 +-
 src/qt/res/css/pac.css         | 115 ++++++++++++++++++---------------
 7 files changed, 122 insertions(+), 75 deletions(-)

diff --git a/src/qt/forms/masternodelist.ui b/src/qt/forms/masternodelist.ui
index 596088e38ba9..c8e6b932374c 100644
--- a/src/qt/forms/masternodelist.ui
+++ b/src/qt/forms/masternodelist.ui
@@ -57,20 +57,10 @@
        </property>
       </spacer>
      </item>
-     <item>
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string>MASTERNODES</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-       </property>
-      </widget>
-     </item>
      <item>
       <widget class="QTabWidget" name="tabWidget">
        <property name="currentIndex">
-        <number>0</number>
+        <number>1</number>
        </property>
        <widget class="QWidget" name="tabMyMasternodes">
         <attribute name="title">
diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
index a2355b569607..7a037b5652c5 100644
--- a/src/qt/forms/optionsdialog.ui
+++ b/src/qt/forms/optionsdialog.ui
@@ -6,10 +6,22 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>576</width>
+    <width>600</width>
     <height>469</height>
    </rect>
   </property>
+  <property name="minimumSize">
+   <size>
+    <width>600</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>600</width>
+    <height>16777215</height>
+   </size>
+  </property>
   <property name="windowTitle">
    <string>Options</string>
   </property>
@@ -18,9 +30,9 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <widget class="QTabWidget" name="tabWidget">
+    <widget class="QTabWidget" name="tabWidget_OptionsDialog">
      <property name="currentIndex">
-      <number>4</number>
+      <number>0</number>
      </property>
      <widget class="QWidget" name="tabMain">
       <attribute name="title">
@@ -53,7 +65,11 @@
           </widget>
          </item>
          <item>
-          <widget class="QSpinBox" name="databaseCache"/>
+          <widget class="QSpinBox" name="databaseCache">
+           <property name="class" stdset="0">
+            <string>SpinBoxSmall</string>
+           </property>
+          </widget>
          </item>
          <item>
           <widget class="QLabel" name="databaseCacheUnitLabel">
@@ -100,6 +116,9 @@
            <property name="toolTip">
             <string>(0 = auto, &lt;0 = leave that many cores free)</string>
            </property>
+           <property name="class" stdset="0">
+            <string>SpinBoxSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -229,6 +248,9 @@
            <property name="value">
             <number>4</number>
            </property>
+           <property name="class" stdset="0">
+            <string>SpinBoxSmall</string>
+           </property>
           </widget>
          </item>
         </layout>
@@ -271,6 +293,9 @@
            <property name="value">
             <number>20000</number>
            </property>
+           <property name="class" stdset="0">
+            <string>SpinBoxSmall</string>
+           </property>
           </widget>
          </item>
         </layout>
@@ -357,6 +382,9 @@
            <property name="toolTip">
             <string>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -389,6 +417,9 @@
            <property name="toolTip">
             <string>Port of the proxy (e.g. 9050)</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -544,6 +575,9 @@
            <property name="toolTip">
             <string>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -576,6 +610,9 @@
            <property name="toolTip">
             <string>Port of the proxy (e.g. 9050)</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -766,6 +803,9 @@
            <property name="toolTip">
             <string>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items.&lt;br/&gt;%s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
         </layout>
@@ -840,6 +880,9 @@
        <property name="toolTip">
         <string>Reset all client options to default.</string>
        </property>
+       <property name="styleSheet">
+        <string notr="true"/>
+       </property>
        <property name="text">
         <string>&amp;Reset Options</string>
        </property>
diff --git a/src/qt/locale/paccoin_en.ts b/src/qt/locale/paccoin_en.ts
index 41459004052f..0626eb9bb4ed 100644
--- a/src/qt/locale/paccoin_en.ts
+++ b/src/qt/locale/paccoin_en.ts
@@ -3210,7 +3210,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     <message>
         <location line="+3"/>
         <source>&amp;Message:</source>
-        <translation>&amp;Message:</translation>
+        <translation>Message:</translation>
     </message>
     <message>
         <location line="+13"/>
diff --git a/src/qt/locale/paccoin_es.ts b/src/qt/locale/paccoin_es.ts
index fa79a5c39b98..d32ad7394731 100644
--- a/src/qt/locale/paccoin_es.ts
+++ b/src/qt/locale/paccoin_es.ts
@@ -2040,7 +2040,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>&amp;Message:</source>
-        <translation>&amp;Mensaje:</translation>
+        <translation>Mensaje:</translation>
     </message>
     <message>
         <source>An optional label to associate with the new receiving address.</source>
@@ -2056,7 +2056,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>&amp;Label:</source>
-        <translation>&amp;Etiqueta:</translation>
+        <translation>Etiqueta:</translation>
     </message>
     <message>
         <source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
@@ -2064,11 +2064,11 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>&amp;Amount:</source>
-        <translation>&amp;Cuantía:</translation>
+        <translation>Cuantía:</translation>
     </message>
     <message>
         <source>&amp;Request payment</source>
-        <translation>&amp;Solicitar pago</translation>
+        <translation>Solicitar pago</translation>
     </message>
     <message>
         <source>Clear all fields of the form.</source>
diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index 852ef105e336..2ea753f32758 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -72,6 +72,11 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
     connect(timer, SIGNAL(timeout()), this, SLOT(updateMyNodeList()));
     timer->start(1000);
 
+    /*QLabel *lblMasternodes = new QLabel;
+    lblMasternodes->setText("MASTERNODES");
+    lblMasternodes->setAlignment(Qt::AlignBottom | Qt::AlignLeft);
+    lblMasternodes->setParent(this);*/
+
     fFilterUpdated = false;
     nTimeFilterUpdated = GetTime();
     updateNodeList();
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index fe68684ef8bf..86426eda362e 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -74,12 +74,12 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     /* Window elements init */
 #ifdef Q_OS_MAC
     /* remove Window tab on Mac */
-    ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tabWindow));
+    ui->tabWidget_OptionsDialog->removeTab(ui->tabWidget_OptionsDialog->indexOf(ui->tabWindow));
 #endif
 
     /* remove Wallet tab in case of -disablewallet */
     if (!enableWallet) {
-        ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tabWallet));
+        ui->tabWidget_OptionsDialog->removeTab(ui->tabWidget_OptionsDialog->indexOf(ui->tabWallet));
     }
 
     /* Display elements init */
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 4e97b166345a..8a176bcc476e 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -1,7 +1,7 @@
 /*
  *  Global GUI styles
  */
-QLabel{
+QLabel, QGroupBox::title{
     font-family: 'Volte Rounded',sans-serif !important;
     color: rgb(255,255,255) !important;
 }
@@ -18,7 +18,34 @@ QDialog{
     background-color:rgb(26,26,26);
     color:white;
 }
+/* Global TabBar styles */
+QTabWidget::pane {
+    background-color: transparent;
+    border: 0px !important;
+    border-radius:15px;
+}
+/* move to the right by 5px
+QTabWidget::tab-bar {
+    left: 200px;
+}*/
 
+/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
+QTabBar::tab {
+    background:#1D1D1D;
+    border: 0px solid transparent;
+    border-bottom-color: transparent; /* same as the pane color */
+    padding: 2px;
+    width: 180px;
+    color:#FFFFFF;
+    font-family: 'Volte Rounded',sans-serif !important;
+}
+QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog QTabBar::tab:selected, #tabWidget_OptionsDialog QTabBar::tab:hover {
+    background-color: #363636 !important;
+}
+QTabBar::tab:selected {
+    border-color: transparent !important;
+    border-bottom-color: transparent !important;
+}
 
 /* Global Progress Bar styles */
 QStatusBar{
@@ -46,41 +73,31 @@ QStatusBar{
 
 
 /* Global text inputs */
-[class="LineEdit"], [class="LineEdit_PacCoins"]{
+[class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
-    border-radius: 20px;
     outline:0;
     padding:3px;
     background-color: rgb(10, 10, 10);
     color: #fff;
-    height: 40px !important;
     font-family: 'Volte Rounded', sans-serif;
+}
+[class="LineEdit"], [class="LineEdit_PacCoins"]{
+    height: 40px !important;
     font-size: 15px;
+    border-radius: 20px;
+}
+[class="LineEditSmall"]{
+    height: 20px !important;
+    font-size: 13px;
+    border-radius: 10px;
 }
 [class="LineEdit"]:focus, [class="LineEditSmall"]:focus {
     font-size:12px;
 }
 [class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled {
-    background-color:#f2f2f2;
+    background-color:#474747;
+    color: #878787;
 }
-[class="QuickButton"]{
-    background-color: transparent;
-    border: none;
-}
-[class="LineEditSmall"]{
-    border: 0px;
-    border-radius: 10px;
-    outline:0;
-    padding:3px;
-    background-color: rgb(10, 10, 10);
-    color: #fff;
-    height: 20px !important;
-    font-family: 'Volte Rounded', sans-serif;
-    font-size: 13px;
-}
-
-
-
 [class="QuickButton"]{
     background-color: transparent;
     border: none;
@@ -234,12 +251,12 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
 /* GLOBAL SPINBOX */
 QAbstractSpinBox {
     border-radius: 20px;
+    font-size: 15px;
+    min-height:40px;
     background-color: rgb(10, 10, 10);
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 15px;
     text-align: center;
     border:0px;
-    min-height:40px;
     color:#fff;
     padding: 3px 5px 3px 5px;
 }
@@ -625,36 +642,28 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
     padding-right:1px;
     padding-left:1px;
 }
-
-
-/* TESTS */
-QTabWidget::pane { /* The tab widget frame */
-    border-top: 0px solid transparent;
-}
-QTabWidget::tab-bar {
-    left: 200px; /* move to the right by 5px */
-}
-/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
-QTabBar::tab {
-    background:#1D1D1D;
-    border: 0px solid transparent;
-    border-bottom-color: transparent; /* same as the pane color */
-    padding: 2px;
-    width: 180px;
-    color:#FFFFFF;
-    font-family: 'Volte Rounded',sans-serif !important;
+/*
+ * Masternodes Page
+*/
+MasternodeList > QTabBar::tab{
+    min-width:180px;
 }
-QTabBar::tab:selected, QTabBar::tab:hover {
-    background-color: #363636;
+/*
+ * OptionsDialog
+*/
+#tabWidget_OptionsDialog QTabBar::tab {
+    background: rgb(50,50,50);
+    width:80px;
 }
-QTabBar::tab:selected {
-    border-color: transparent;
-    border-bottom-color: transparent; /* same as pane color */
+#tabWidget_OptionsDialog::pane {
+    background-color: rgba(50,50,50,0.35);
 }
-MasternodeList > QTabBar::tab{
-    min-width:180px;
+#OptionsDialog > #resetButton{
+    width:200px !important;
 }
-OptionsDialo > QTabBar::tab {
-    min-width:100px;
+[class="SpinBoxSmall"]{
+    border-radius: 10px !important;
+    font-size: 12px !important;
+    min-width: 40px !important;
+    min-height:20px !important;
 }
-

From 402c3a4325ffe9f80e93137c807ad014b5e07b62 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 10:56:07 -0600
Subject: [PATCH 059/225] Table separations and overview layout test

---
 src/qt/forms/overviewpage.ui       | 126 +++++++++++++++++++----------
 src/qt/forms/receivecoinsdialog.ui |   8 +-
 src/qt/forms/sendcoinsdialog.ui    |   2 +-
 src/qt/res/css/pac.css             |   9 ++-
 4 files changed, 97 insertions(+), 48 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index dfff62a88a9a..220f1437d612 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -164,55 +164,93 @@
            <layout class="QVBoxLayout" name="verticalLayout_5">
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_4">
+              <property name="spacing">
+               <number>0</number>
+              </property>
               <item>
-               <widget class="QLabel" name="iconLabelAvailable">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
+               <spacer name="horizontalSpacer_5">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
                 </property>
-                <property name="minimumSize">
+                <property name="sizeType">
+                 <enum>QSizePolicy::Expanding</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
                  <size>
-                  <width>110</width>
-                  <height>0</height>
+                  <width>40</width>
+                  <height>20</height>
                  </size>
                 </property>
-                <property name="text">
-                 <string/>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                </property>
-               </widget>
+               </spacer>
               </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>
-                <property name="toolTip">
-                 <string>Your current spendable balance</string>
-                </property>
-                <property name="text">
-                 <string notr="true">0.000 000 00 BTC</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-                </property>
-                <property name="textInteractionFlags">
-                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
-                </property>
-               </widget>
+               <layout class="QHBoxLayout" name="horizontalLayout_5">
+                <property name="spacing">
+                 <number>0</number>
+                </property>
+                <item>
+                 <widget class="QLabel" name="iconLabelAvailable">
+                  <property name="sizePolicy">
+                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                   </sizepolicy>
+                  </property>
+                  <property name="minimumSize">
+                   <size>
+                    <width>0</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="maximumSize">
+                   <size>
+                    <width>60</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">background: green;  border: 1px solid #fff;</string>
+                  </property>
+                  <property name="text">
+                   <string/>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </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>
+                  <property name="toolTip">
+                   <string>Your current spendable balance</string>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">background: red; border: 1px solid #fff;</string>
+                  </property>
+                  <property name="text">
+                   <string notr="true">0.000 000 00 BTC</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="textInteractionFlags">
+                   <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                  </property>
+                  <property name="class" stdset="0">
+                   <string>pacCoinsLabel</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
               </item>
               <item>
                <spacer name="horizontalSpacer">
@@ -220,11 +258,11 @@
                  <enum>Qt::Horizontal</enum>
                 </property>
                 <property name="sizeType">
-                 <enum>QSizePolicy::Fixed</enum>
+                 <enum>QSizePolicy::Expanding</enum>
                 </property>
                 <property name="sizeHint" stdset="0">
                  <size>
-                  <width>122</width>
+                  <width>40</width>
                   <height>20</height>
                  </size>
                 </property>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index d96252b88e75..7ebe7c8542be 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -112,15 +112,21 @@ padding: 10px;</string>
            <enum>QFrame::Raised</enum>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_2">
+           <property name="leftMargin">
+            <number>20</number>
+           </property>
            <item>
             <spacer name="verticalSpacer_3">
              <property name="orientation">
               <enum>Qt::Vertical</enum>
              </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
              <property name="sizeHint" stdset="0">
               <size>
                <width>20</width>
-               <height>40</height>
+               <height>1</height>
               </size>
              </property>
             </spacer>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index e788b88bcc3d..e45711a46acc 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -843,7 +843,7 @@
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>120</width>
+                <width>170</width>
                 <height>20</height>
                </size>
               </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 4e97b166345a..1ca5c83f0d59 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -280,7 +280,6 @@ QHeaderView { /* Top of the table Header */
     background-color: #0F0F0F;
 }
 QHeaderView::section { /* Top of the table Header Sections */
-    qproperty-alignment:center;
     background-color: rgba(40, 40, 40, 0.3);
     color:#fff;
     min-height:25px;
@@ -288,6 +287,7 @@ QHeaderView::section { /* Top of the table Header Sections */
     font-size:11px;
     outline:0;
     border:0px solid #fff;
+    border-right:  1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.5, stop: 0 transparent, stop: 1 rgb(71, 71, 71));
     padding-left:5px;
     padding-right:5px;
     padding-top:2px;
@@ -507,10 +507,13 @@ QRadioButton::indicator:indeterminate:pressed {
 #ReceiveCoinsDialog{
     margin: 12px 42px 18px 42px;
 }
-
 #removeRequestButton{
     color: #FF1D1D;
 }
+#recentRequestsView QHeaderView::section{
+    border-bottom: 1px solid #474747;
+    border-right: 0px solid transparent;
+}
 
 /*
  * Transactions Page
@@ -658,3 +661,5 @@ OptionsDialo > QTabBar::tab {
     min-width:100px;
 }
 
+
+

From 252aad454e2b18ce88afad1327b8577bc2b69de7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 11:08:08 -0600
Subject: [PATCH 060/225] No longer posible to set old theme "light" with GUI

---
 src/qt/optionsdialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 86426eda362e..8f757d6f4628 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -93,7 +93,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     
     /* Theme selector */
     ui->theme->addItem(QString("pac theme"), QVariant("pac"));
-    ui->theme->addItem(QString("light"), QVariant("light"));
+    //ui->theme->addItem(QString("light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light-hires"), QVariant("light-hires"));
     //ui->theme->addItem(QString("PAC-blue"), QVariant("drkblue"));

From dde63a4a416ad3f0254cb88bd808dd112a4d20da Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 12:10:17 -0600
Subject: [PATCH 061/225] Overview icon spacing, masternode lineedit style

---
 src/qt/forms/masternodelist.ui  |   3 +
 src/qt/forms/overviewpage.ui    | 258 ++++++++++++++++++++++----------
 src/qt/forms/sendcoinsdialog.ui |  19 +--
 src/qt/res/css/pac.css          |  14 ++
 4 files changed, 197 insertions(+), 97 deletions(-)

diff --git a/src/qt/forms/masternodelist.ui b/src/qt/forms/masternodelist.ui
index c8e6b932374c..c12547b3189a 100644
--- a/src/qt/forms/masternodelist.ui
+++ b/src/qt/forms/masternodelist.ui
@@ -266,6 +266,9 @@
              <property name="toolTip">
               <string>Filter masternode list</string>
              </property>
+             <property name="class" stdset="0">
+              <string>LineEdit</string>
+             </property>
             </widget>
            </item>
            <item>
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 220f1437d612..0db5c9ec2b12 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -94,10 +94,10 @@
          </property>
          <layout class="QVBoxLayout" name="verticalLayout_4">
           <property name="leftMargin">
-           <number>0</number>
+           <number>9</number>
           </property>
           <property name="topMargin">
-           <number>0</number>
+           <number>9</number>
           </property>
           <property name="rightMargin">
            <number>10</number>
@@ -209,7 +209,7 @@
                    </size>
                   </property>
                   <property name="styleSheet">
-                   <string notr="true">background: green;  border: 1px solid #fff;</string>
+                   <string notr="true">margin:0px;</string>
                   </property>
                   <property name="text">
                    <string/>
@@ -217,8 +217,27 @@
                   <property name="alignment">
                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                   </property>
+                  <property name="class" stdset="0">
+                   <string>labelPacIcon</string>
+                  </property>
                  </widget>
                 </item>
+                <item>
+                 <spacer name="horizontalSpacer_8">
+                  <property name="orientation">
+                   <enum>Qt::Horizontal</enum>
+                  </property>
+                  <property name="sizeType">
+                   <enum>QSizePolicy::Fixed</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>10</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
                 <item>
                  <widget class="QLabel" name="labelBalance">
                   <property name="font">
@@ -234,7 +253,7 @@
                    <string>Your current spendable balance</string>
                   </property>
                   <property name="styleSheet">
-                   <string notr="true">background: red; border: 1px solid #fff;</string>
+                   <string notr="true">margin:0px;</string>
                   </property>
                   <property name="text">
                    <string notr="true">0.000 000 00 BTC</string>
@@ -350,48 +369,99 @@
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_6">
               <item>
-               <widget class="QLabel" name="iconLabelPending">
-                <property name="minimumSize">
+               <spacer name="horizontalSpacer_6">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
                  <size>
-                  <width>110</width>
-                  <height>0</height>
+                  <width>40</width>
+                  <height>20</height>
                  </size>
                 </property>
-                <property name="text">
-                 <string/>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                </property>
-               </widget>
+               </spacer>
               </item>
               <item>
-               <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 spendable balance</string>
-                </property>
-                <property name="text">
-                 <string notr="true">0.000 000 00 BTC</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-                </property>
-                <property name="textInteractionFlags">
-                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
+               <layout class="QHBoxLayout" name="horizontalLayout_12">
+                <property name="spacing">
+                 <number>0</number>
                 </property>
-               </widget>
+                <item>
+                 <widget class="QLabel" name="iconLabelPending">
+                  <property name="minimumSize">
+                   <size>
+                    <width>0</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="maximumSize">
+                   <size>
+                    <width>60</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">margin:0px;</string>
+                  </property>
+                  <property name="text">
+                   <string/>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="class" stdset="0">
+                   <string>labelPacIcon</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <spacer name="horizontalSpacer_9">
+                  <property name="orientation">
+                   <enum>Qt::Horizontal</enum>
+                  </property>
+                  <property name="sizeType">
+                   <enum>QSizePolicy::Fixed</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>10</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+                <item>
+                 <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 spendable balance</string>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">margin:0p;</string>
+                  </property>
+                  <property name="text">
+                   <string notr="true">0.000 000 00 BTC</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="textInteractionFlags">
+                   <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                  </property>
+                  <property name="class" stdset="0">
+                   <string>pacCoinsLabel</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
               </item>
               <item>
                <spacer name="horizontalSpacer_2">
@@ -399,11 +469,11 @@
                  <enum>Qt::Horizontal</enum>
                 </property>
                 <property name="sizeType">
-                 <enum>QSizePolicy::Fixed</enum>
+                 <enum>QSizePolicy::Expanding</enum>
                 </property>
                 <property name="sizeHint" stdset="0">
                  <size>
-                  <width>122</width>
+                  <width>40</width>
                   <height>20</height>
                  </size>
                 </property>
@@ -565,48 +635,74 @@
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_7">
               <item>
-               <widget class="QLabel" name="iconLabelTotal">
-                <property name="minimumSize">
+               <spacer name="horizontalSpacer_7">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
                  <size>
-                  <width>110</width>
-                  <height>0</height>
+                  <width>40</width>
+                  <height>20</height>
                  </size>
                 </property>
-                <property name="text">
-                 <string/>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                </property>
-               </widget>
+               </spacer>
               </item>
               <item>
-               <widget class="QLabel" name="labelTotal">
-                <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 total balance</string>
-                </property>
-                <property name="text">
-                 <string notr="true">0.000 000 00 BTC</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-                </property>
-                <property name="textInteractionFlags">
-                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
-                </property>
-               </widget>
+               <layout class="QHBoxLayout" name="horizontalLayout_13">
+                <item>
+                 <widget class="QLabel" name="iconLabelTotal">
+                  <property name="minimumSize">
+                   <size>
+                    <width>0</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">margin:0px;</string>
+                  </property>
+                  <property name="text">
+                   <string/>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="class" stdset="0">
+                   <string>labelPacIcon</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="labelTotal">
+                  <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 total balance</string>
+                  </property>
+                  <property name="styleSheet">
+                   <string notr="true">margin:0px;</string>
+                  </property>
+                  <property name="text">
+                   <string notr="true">0.000 000 00 BTC</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="textInteractionFlags">
+                   <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                  </property>
+                  <property name="class" stdset="0">
+                   <string>pacCoinsLabel</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
               </item>
               <item>
                <spacer name="horizontalSpacer_3">
@@ -614,11 +710,11 @@
                  <enum>Qt::Horizontal</enum>
                 </property>
                 <property name="sizeType">
-                 <enum>QSizePolicy::Maximum</enum>
+                 <enum>QSizePolicy::Expanding</enum>
                 </property>
                 <property name="sizeHint" stdset="0">
                  <size>
-                  <width>122</width>
+                  <width>40</width>
                   <height>20</height>
                  </size>
                 </property>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index e45711a46acc..0e5d3bfc0e2f 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1021,23 +1021,10 @@
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_9">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>10</width>
-                <height>20</height>
-               </size>
+              <property name="class" stdset="0">
+               <string>labelPacIcon</string>
               </property>
-             </spacer>
+             </widget>
             </item>
             <item>
              <widget class="QLabel" name="labelBalance">
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 0394612a84ed..1cc541698711 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -112,6 +112,7 @@ QLabel[class="titleLabel"]{
     text-transform:uppercase;
 }
 QLabel[class="pacCoinsLabel"]{
+    margin: 0px;
     color:rgb(243,232,56);
     font-family: 'Volte Rounded', sans-serif;
     font-size: 30px;/*20px*/
@@ -123,6 +124,10 @@ QLabel[class="usdLabel"]{
     font-size: 20px;
     font-weight: 100;
 }
+QLabel[class="labelPacIcon"]{
+    margin: 0px;
+}
+
 
 /*textarea*/
 QPlainTextEdit {
@@ -651,6 +656,12 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
 MasternodeList > QTabBar::tab{
     min-width:180px;
 }
+#filterLineEdit{
+    background-color: #0B0B0B;
+    border-radius: 12px;
+    height: 24px;
+}
+
 /*
  * OptionsDialog
 */
@@ -670,3 +681,6 @@ MasternodeList > QTabBar::tab{
     min-width: 40px !important;
     min-height:20px !important;
 }
+
+
+

From 796d9097420452e44c15ac21cc6f6df58b22368b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 12:24:03 -0600
Subject: [PATCH 062/225] new typography implemented gotham and Volte rounded

Volte rounded: light, medium, semibold and bold
gotham: medium and bold.
---
 src/qt/bitcoingui.cpp              |   9 ++++++++-
 src/qt/forms/privatepage.ui        |  21 ---------------------
 src/qt/paccoin.qrc                 |   2 ++
 src/qt/res/css/pac.css             |  25 +++++++++++++++++++------
 src/qt/res/fonts/Gotham-Bold.otf   | Bin 0 -> 30012 bytes
 src/qt/res/fonts/Gotham-Medium.ttf | Bin 0 -> 66488 bytes
 6 files changed, 29 insertions(+), 28 deletions(-)
 create mode 100644 src/qt/res/fonts/Gotham-Bold.otf
 create mode 100644 src/qt/res/fonts/Gotham-Medium.ttf

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index eaa35ecd0bf7..d1aa8eb789cc 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -132,7 +132,14 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 {
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
-    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Light");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Semibold");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Bold");
+    int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
+    QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
+
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: " << family.toStdString();
 
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 2cfc0dad1498..1c5f6387467c 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -166,9 +166,6 @@
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
              </widget>
             </item>
            </layout>
@@ -211,9 +208,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>titleLabel</string>
-                </property>
                </widget>
               </item>
               <item>
@@ -230,9 +224,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
-                </property>
                </widget>
               </item>
               <item>
@@ -259,9 +250,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>titleLabel</string>
-                </property>
                </widget>
               </item>
               <item>
@@ -272,9 +260,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
-                </property>
                </widget>
               </item>
               <item>
@@ -301,9 +286,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>titleLabel</string>
-                </property>
                </widget>
               </item>
               <item>
@@ -314,9 +296,6 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
-                <property name="class" stdset="0">
-                 <string>pacCoinsLabel</string>
-                </property>
                </widget>
               </item>
               <item>
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 537a1fda9b51..614c56d0dd71 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -11,6 +11,8 @@
         <file alias="VolteRounded-Light">res/fonts/VolteRounded-Light.otf</file>
         <file alias="VolteRounded-Medium">res/fonts/VolteRounded-Medium.otf</file>
         <file alias="VolteRounded-Semibold">res/fonts/VolteRounded-Semibold.otf</file>
+        <file alias="Gotham-Medium">res/fonts/Gotham-Medium.ttf</file>
+        <file alias="Gotham-Bold">res/fonts/Gotham-Bold.otf</file>
     </qresource>
     <qresource prefix="/icons/drkblue">
         <file alias="address-book">res/icons/drkblue/address-book.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 0394612a84ed..d8b558908e62 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -567,23 +567,36 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 /*
  * Private Page
  */
+
 #framePrivateSend{
     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));
     border: 0px !important;
 }
 #labelPrivateSendHeader{
-    font-size: 25px;
+    font-size: 27px;
+    font-family:"Gotham", sans-serif;
+    font-weight:bold;
+    color:#FFF;
 }
 #labelAnonymized{
-    font-size: 45px;
-    font: bolder;
+    font-size: 50px;
+    font-family:"Gotham", sans-serif;
+    font-weight:medium;
+    color: #FDF002;
 }
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
-    font-weight: 100;
+    font-size: 16px;
+    font-family:"Gotham", sans-serif;
+    font-weight:medium;
+    color:#FFF;
 }
-#labelAmountRounds, #labelPrivateSendEnabled, #labelPrivateSendHeader {
-    text-transform:uppercase;
+#labelAmountRounds, #labelPrivateSendEnabled {
+    font-size: 27px;
+    font-family:"Gotham", sans-serif;
+    font-weight:medium;
+    color: #FDF002;
 }
+
 /* Black button */
 [class="buttonAllBlack"]{
     background: #141414;
diff --git a/src/qt/res/fonts/Gotham-Bold.otf b/src/qt/res/fonts/Gotham-Bold.otf
new file mode 100644
index 0000000000000000000000000000000000000000..59ae7c2a231b7c4ab9038b95c96b61768f7d2955
GIT binary patch
diff --git a/src/qt/res/fonts/Gotham-Medium.ttf b/src/qt/res/fonts/Gotham-Medium.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..fd82211438196ef5d036cdf82405ca40b766b22f
GIT binary patch

From 626e674b70e489bc3bda7cad62ce5ead6a573464 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 12:26:47 -0600
Subject: [PATCH 063/225] merge

---
 src/qt/res/css/pac.css | 55 +++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 25 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 46011a3548c1..6d423ccb1e06 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -3,7 +3,8 @@
  */
 QLabel, QGroupBox::title{
     font-family: 'Volte Rounded',sans-serif !important;
-    color: rgb(255,255,255) !important;
+    color: white !important;
+    font-weight:normal;
 }
 
 QMainWindow{
@@ -106,23 +107,24 @@ QStatusBar{
 
 /* labels */
 QLabel[class="titleLabel"]{
-    color:rgb(255,255,255);
+    text-transform:uppercase;
+    color: #FFF;
     font-family: 'Volte Rounded', sans-serif;
+    font-weight: medium;
     font-size: 20px;
-    text-transform:uppercase;
 }
 QLabel[class="pacCoinsLabel"]{
     margin: 0px;
-    color:rgb(243,232,56);
+    color: #F4EA13;
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 30px;/*20px*/
-    font-weight: 100;
+    font-size: 32px;
+    font-weight: medium;
 }
 QLabel[class="usdLabel"]{
-    color:rgb(255,255,255);
+    color: #FFF;
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 20px;
-    font-weight: 100;
+    font-size: 23px;
+    font-weight: normal;
 }
 QLabel[class="labelPacIcon"]{
     margin: 0px;
@@ -367,14 +369,14 @@ QToolBar > QToolButton:checked {
 /* Global Button styles*/
 QPushButton {
     background: transparent;
-    border: 1px solid rgb(243,232,56);
-    color: rgb(243,232,56);
+    border: 1px solid #F4EA13;
+    color: #F4EA13;
     border-radius: 16px;
-    height: 30px;
-    width: 150px;
+    height: 35px;
+    width: 160px;
     font-family: 'Volte Rounded', sans-serif;
-    font-weight: bold;
-    font-size: 15px;
+    font-weight: medium;
+    font-size: 16px;
 }
 QPushButton:hover, QPushButton:focus {
     background: rgb(243,232,56) !important;
@@ -415,20 +417,20 @@ QPushButton:pressed {
     color: rgb(255,255,255) !important;
 }
 [class="accentButton"]{
+    text-transform:uppercase;
     border: none;
-    background: rgb(243,232,56);
+    background: #F4EA13;
     color: rgb(5,5,5);
     border-radius: 35px;
     height: 70px;
-    max-width:260px;
+    width: 280px;
     font-style: normal;
     font-family: 'Volte Rounded', sans-serif;
-    font-size: 18px;
-    font-weight:bold;
-    text-transform:uppercase;
+    font-size: 22px;
+    font-weight:medium;
 }
 QCheckBox {
-    color: rgb(255, 255, 255);
+    color: #FFF;
     width: 10px;
     height: 10px;
 }
@@ -589,13 +591,15 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     font-weight:medium;
     color: #FDF002;
 }
-#labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledTextP{
+#labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
+    text-transform:uppercase;
     font-size: 16px;
     font-family:"Gotham", sans-serif;
     font-weight:medium;
     color:#FFF;
 }
 #labelAmountRounds, #labelPrivateSendEnabled {
+    text-transform:uppercase;
     font-size: 27px;
     font-family:"Gotham", sans-serif;
     font-weight:medium;
@@ -604,14 +608,15 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
 
 /* Black button */
 [class="buttonAllBlack"]{
-    background: #141414;
+    text-transform:uppercase;
+    font-family:"Gotham", sans-serif;
+    background: #1A1919;
     border: 0px;
     color: #fff;
     border-radius: 11px;
     height: 50px;
-    font-weight: bold;
+    font-weight: medium;
     font-size: 18px;
-    text-transform:uppercase;
 }
 [class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
     background: #1A1919;

From e9ce2ef1f5b418a9e43b7eea37c63fdbf4d1fc7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 12:42:49 -0600
Subject: [PATCH 064/225] style fixed with Gotham Medium typography

family font was wrong
---
 src/qt/bitcoingui.cpp  |  7 ++++---
 src/qt/res/css/pac.css | 20 ++++++++------------
 2 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index d1aa8eb789cc..6455a83bf061 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -137,11 +137,12 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Semibold");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Bold");
-    int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
-    QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
+    QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
+    int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
-    std::cout<< "family: " << family.toStdString();
+    std::cout<< "family: ";
+    std::cout<< family.toStdString();
 
     QFont defaultFont("Volte Rounded",13, 1, false);
     defaultFont.setBold(false);
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 6d423ccb1e06..82c5263a1b19 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -586,37 +586,33 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     color:#FFF;
 }
 #labelAnonymized{
-    font-size: 50px;
-    font-family:"Gotham", sans-serif;
-    font-weight:medium;
+    font-size: 48px;
+    font-family:"Gotham Medium", sans-serif;
     color: #FDF002;
 }
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
     text-transform:uppercase;
-    font-size: 16px;
-    font-family:"Gotham", sans-serif;
-    font-weight:medium;
+    font-size: 14px;
+    font-family:"Gotham Medium", sans-serif;
     color:#FFF;
 }
 #labelAmountRounds, #labelPrivateSendEnabled {
     text-transform:uppercase;
-    font-size: 27px;
-    font-family:"Gotham", sans-serif;
-    font-weight:medium;
+    font-size: 25px;
+    font-family:"Gotham Medium", sans-serif;
     color: #FDF002;
 }
 
 /* Black button */
 [class="buttonAllBlack"]{
     text-transform:uppercase;
-    font-family:"Gotham", sans-serif;
+    font-family:"Gotham Medium", sans-serif;
     background: #1A1919;
     border: 0px;
     color: #fff;
     border-radius: 11px;
     height: 50px;
-    font-weight: medium;
-    font-size: 18px;
+    font-size: 16px;
 }
 [class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
     background: #1A1919;

From 9ccdac8ed6c9d1abeb3eb8e880cce2cc3b340897 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 12:53:14 -0600
Subject: [PATCH 065/225] clocks and eyes icons

---
 src/qt/res/icons/pac/clock1.png    | Bin 911 -> 673 bytes
 src/qt/res/icons/pac/clock2.png    | Bin 911 -> 1218 bytes
 src/qt/res/icons/pac/clock3.png    | Bin 921 -> 799 bytes
 src/qt/res/icons/pac/clock4.png    | Bin 917 -> 837 bytes
 src/qt/res/icons/pac/clock5.png    | Bin 929 -> 859 bytes
 src/qt/res/icons/pac/eye.png       | Bin 439 -> 4315 bytes
 src/qt/res/icons/pac/eye_minus.png | Bin 500 -> 4456 bytes
 src/qt/res/icons/pac/eye_plus.png  | Bin 548 -> 4582 bytes
 8 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/qt/res/icons/pac/clock1.png b/src/qt/res/icons/pac/clock1.png
index 214ac9b9f04a53db77ed850a72450218d5a029b6..3e93425823330272d0b46be9a7ec7e8c1acebfe5 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock2.png b/src/qt/res/icons/pac/clock2.png
index 5b0dd7afe391bc047026771cc555ac887839dd6e..3ea9ca856ebcd7e052ed340d82a44cda987284d6 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock3.png b/src/qt/res/icons/pac/clock3.png
index 523139f8fc11e5d6f93c2885d054bc6068d6d730..7ba498769403e00aa884c4acb4d29b881d187081 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock4.png b/src/qt/res/icons/pac/clock4.png
index c007f501fdd21f3c1f3b348dc51ece8ccd7546a2..0efd3ef12f915755c26cb90e12e6bac90373bb95 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/clock5.png b/src/qt/res/icons/pac/clock5.png
index 2d40197a0078d53c6c0cc77cdd803d5003dfbc46..31218dd51bd96704a0625ec6c533dccdc40eacd1 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye.png b/src/qt/res/icons/pac/eye.png
index 4ffaaee8b9c1b54a8abe71a3976f2705c690afc7..b833c638a5cfe2c8a1025db37081041235ef445b 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye_minus.png b/src/qt/res/icons/pac/eye_minus.png
index 96ebe8470f490135f7ae37c81d30de8c3dff28ea..649d9e411596422b99b67be26ae13bf12813d0e1 100644
GIT binary patch
diff --git a/src/qt/res/icons/pac/eye_plus.png b/src/qt/res/icons/pac/eye_plus.png
index 5d81923483d929cff2e198d74874d99193b16f30..7e7ca0e2db96d3c00f4badd27ff9166b43c18302 100644
GIT binary patch

From b68c40be5195b415b15006d6c6985e30578d4627 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 14:28:24 -0600
Subject: [PATCH 066/225] Overview info button

---
 src/qt/forms/overviewpage.ui | 18 +++++++++++++++---
 src/qt/overviewpage.cpp      |  7 ++++++-
 src/qt/overviewpage.h        |  1 +
 src/qt/res/css/pac.css       |  3 ++-
 src/qt/utilitydialog.cpp     | 12 ++++++++++++
 src/qt/utilitydialog.h       |  3 ++-
 6 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 0db5c9ec2b12..a35f88615467 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -779,16 +779,28 @@
                </widget>
               </item>
               <item>
-               <widget class="QLabel" name="iconLabelOverviewInfo">
+               <widget class="QPushButton" name="overviewInfo">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
                 <property name="maximumSize">
                  <size>
-                  <width>50</width>
-                  <height>16777215</height>
+                  <width>30</width>
+                  <height>30</height>
                  </size>
                 </property>
+                <property name="styleSheet">
+                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
+                </property>
                 <property name="text">
                  <string/>
                 </property>
+                <property name="class" stdset="0">
+                 <string>QuickButton</string>
+                </property>
                </widget>
               </item>
              </layout>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 6702e9248225..b59ad82f834e 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -197,7 +197,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->iconLabelAvailable->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelPending->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelTotal->setPixmap(QPixmap(":icons/bitcoin-32"));
-    ui->iconLabelOverviewInfo->setPixmap(QPixmap(":icons/pac/info"));
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, balance, false, BitcoinUnits::separatorAlways));
     ui->labelUnconfirmed->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
     ui->labelImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, immatureBalance, false, BitcoinUnits::separatorAlways));
@@ -206,6 +205,8 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->labelWatchPending->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchImmatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, false, BitcoinUnits::separatorAlways));
+    
+    connect(ui->overviewInfo, SIGNAL(clicked()), this, SLOT(overviewInfo()));
 
     // only show immature (newly mined) balance if it's non-zero, so as not to complicate things
     // for the non-mining users
@@ -328,3 +329,7 @@ void OverviewPage::SetupTransactionList(int nNumItems) {
     }
 }
 
+void OverviewPage::overviewInfo(){
+    HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
+    dlg.exec();
+}
\ No newline at end of file
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 62ae26866ef2..5ffa2b23404c 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -71,6 +71,7 @@ private Q_SLOTS:
     void updateAlerts(const QString &warnings);
     void updateWatchOnlyLabels(bool showWatchOnly);
     void handleOutOfSyncWarningClicks();
+    void overviewInfo();
 };
 
 #endif // BITCOIN_QT_OVERVIEWPAGE_H
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 82c5263a1b19..595848ec0b67 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -627,11 +627,12 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     background: rgb(243,232,56);
     color: #fff;
 }
-#privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed{
+#privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
     background: transparent;
     border: 0px;
 }
 
+
 /*
  * Proposal Page
  */
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 87713837e1a3..36715e267d4c 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -160,6 +160,18 @@ Consequently, users who have backups disabled will also have PrivatePAC disabled
         "));
 //For more info see <a href=\"https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend\">https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend</a> \
   //      "));
+        ui->aboutMessage->setWordWrap(true);
+        ui->helpMessage->setVisible(false);
+        ui->aboutLogo->setVisible(false);
+    } else if (helpMode == ovhelp) {
+        setWindowTitle(tr("OverviewPAC information"));
+
+        ui->aboutMessage->setTextFormat(Qt::RichText);
+        ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+        ui->aboutMessage->setText(tr("\
+<h3>PAC Basics</h3> \
+Ask for the information on this window"));
+        
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);
         ui->aboutLogo->setVisible(false);
diff --git a/src/qt/utilitydialog.h b/src/qt/utilitydialog.h
index c3493ac28bb8..b2e7aca74ddb 100644
--- a/src/qt/utilitydialog.h
+++ b/src/qt/utilitydialog.h
@@ -24,7 +24,8 @@ class HelpMessageDialog : public QDialog
     enum HelpMode {
         about,
         cmdline,
-        pshelp
+        pshelp,
+        ovhelp
     };
 
     explicit HelpMessageDialog(QWidget *parent, HelpMode helpMode);

From d2dd93467dce3c6368bdf32b24fdf47b04dd90b3 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 16:36:29 -0600
Subject: [PATCH 067/225] Checkbox and Radio button disable icon

---
 src/qt/paccoin.qrc                        |   4 ++++
 src/qt/res/css/pac.css                    |  14 ++++++++++++--
 src/qt/res/images/pac/checked_b_dis.png   | Bin 0 -> 832 bytes
 src/qt/res/images/pac/checked_dis.png     | Bin 0 -> 918 bytes
 src/qt/res/images/pac/unchecked_b_dis.png | Bin 0 -> 546 bytes
 src/qt/res/images/pac/unchecked_dis.png   | Bin 0 -> 708 bytes
 6 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 src/qt/res/images/pac/checked_b_dis.png
 create mode 100644 src/qt/res/images/pac/checked_dis.png
 create mode 100644 src/qt/res/images/pac/unchecked_b_dis.png
 create mode 100644 src/qt/res/images/pac/unchecked_dis.png

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 614c56d0dd71..2588e840697f 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -374,6 +374,10 @@
         <file alias="header_bkg">res/images/pac/header_bkg.png</file>
         <file alias="checked_b">res/images/pac/checked_b.png</file>
         <file alias="unchecked_b">res/images/pac/unchecked_b.png</file>
+        <file alias="checked_b_dis">res/images/pac/checked_b_dis.png</file>
+        <file alias="unchecked_b_dis">res/images/pac/unchecked_b_dis.png</file>
+        <file alias="checked_dis">res/images/pac/checked_dis.png</file>
+        <file alias="unchecked_dis">res/images/pac/unchecked_dis.png</file>
     </qresource>
     <qresource prefix="/images/trad">
         <file alias="about">res/images/trad/about.png</file>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 595848ec0b67..7fae17a1a4c0 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -464,7 +464,12 @@ QCheckBox::indicator:indeterminate:hover {
 QCheckBox::indicator:indeterminate:pressed {
     image:url(':/images/pac/checked_b');
 }
-
+QCheckBox::indicator:checked:disabled{
+    image:url(':/images/pac/checked_b_dis');
+}
+QCheckBox::indicator:unchecked:disabled{
+    image:url(':/images/pac/unchecked_b_dis');
+}
 
 /* GLOBAL RADIO BUTTON */
 QRadioButton::indicator:unchecked {
@@ -491,7 +496,12 @@ QRadioButton::indicator:indeterminate:hover {
 QRadioButton::indicator:indeterminate:pressed {
     image:url(':/images/pac/checked');
 }
-
+QRadioButton::indicator:checked:disabled{
+    image:url(':/images/pac/checked_dis');
+}
+QRadioButton::indicator:unchecked:disabled{
+    image:url(':/images/pac/unchecked_dis');
+}
 
 /*
  * Overview Page
diff --git a/src/qt/res/images/pac/checked_b_dis.png b/src/qt/res/images/pac/checked_b_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffef8637bc45ddfd1bb098942e45f02278660299
GIT binary patch
diff --git a/src/qt/res/images/pac/checked_dis.png b/src/qt/res/images/pac/checked_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..09957dd4ea4bebccb8784501a8a6801dfbe29be5
GIT binary patch
diff --git a/src/qt/res/images/pac/unchecked_b_dis.png b/src/qt/res/images/pac/unchecked_b_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..20f5fdc3ad97d11e6f163421480e885a2cd796ef
GIT binary patch
diff --git a/src/qt/res/images/pac/unchecked_dis.png b/src/qt/res/images/pac/unchecked_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..76c8904893ef6d7c75cfd0bf9f08dabfce20190b
GIT binary patch

From 5e83a5024ac5d5aed1080674f4cdcb6708c56ad2 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 30 Jan 2019 17:23:42 -0600
Subject: [PATCH 068/225] Backend for the balance on the receive page

---
 src/qt/forms/receivecoinsdialog.ui |  9 ++++++++-
 src/qt/receivecoinsdialog.cpp      | 22 ++++++++++++++++++++++
 src/qt/receivecoinsdialog.h        |  2 ++
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 7ebe7c8542be..8b546b6989aa 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>916</width>
+    <width>1033</width>
     <height>775</height>
    </rect>
   </property>
@@ -485,6 +485,13 @@ padding: 10px;</string>
          <property name="bottomMargin">
           <number>20</number>
          </property>
+         <item>
+          <widget class="QLabel" name="labelBalance">
+           <property name="text">
+            <string>TextLabel</string>
+           </property>
+          </widget>
+         </item>
          <item>
           <spacer name="verticalSpacer">
            <property name="orientation">
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 9a1dfb67a920..4b5644366f8d 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -75,6 +75,12 @@ void ReceiveCoinsDialog::setModel(WalletModel *model)
     {
         model->getRecentRequestsTableModel()->sort(RecentRequestsTableModel::Date, Qt::DescendingOrder);
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
+
+        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
+                    model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
+        connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
+
         updateDisplayUnit();
 
         QTableView* tableView = ui->recentRequestsView;
@@ -128,6 +134,9 @@ void ReceiveCoinsDialog::updateDisplayUnit()
     {
         ui->reqAmount->setDisplayUnit(model->getOptionsModel()->getDisplayUnit());
     }
+    setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
+                   model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
+    
 }
 
 void ReceiveCoinsDialog::on_receiveButton_clicked()
@@ -296,3 +305,16 @@ void ReceiveCoinsDialog::copyAmount()
 {
     copyColumnToClipboard(RecentRequestsTableModel::Amount);
 }
+
+void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
+                                 const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance)
+{
+    Q_UNUSED(unconfirmedBalance);
+    Q_UNUSED(immatureBalance);
+    Q_UNUSED(anonymizedBalance);
+    Q_UNUSED(watchBalance);
+    Q_UNUSED(watchUnconfirmedBalance);
+    Q_UNUSED(watchImmatureBalance);
+
+    ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance));
+}
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 0fef8c47b933..4a9d9b585176 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -49,6 +49,8 @@ public Q_SLOTS:
     void clear();
     void reject();
     void accept();
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
+                                 const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance);
 
 protected:
     virtual void keyPressEvent(QKeyEvent *event);

From 93fa9b6f5c5d097eaf6fd4343161b4fcfafca3fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 18:23:41 -0600
Subject: [PATCH 069/225] fix toolbar button height

---
 src/qt/res/css/pac.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7fae17a1a4c0..94f7e2392370 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -349,7 +349,7 @@ QToolBar {
 QToolBar > QToolButton {
     background-color:transparent;
     border: 0px;
-    height: 68px !important;
+    height: 63px !important;
     width: 120px;
     color: #fff;
 }

From e558ae7c1cf2c7d8fd2e49a18c79d2b707a9e099 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 18:25:07 -0600
Subject: [PATCH 070/225] Receive coins re-formulated

---
 src/qt/bitcoinamountfield.cpp      |   5 +-
 src/qt/forms/receivecoinsdialog.ui | 807 ++++++++++++++---------------
 2 files changed, 406 insertions(+), 406 deletions(-)

diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index 9975db3cb08a..3d79f5552a72 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -27,8 +27,8 @@ class AmountSpinBox: public QAbstractSpinBox
         currentUnit(BitcoinUnits::PAC),
         singleStep(100000) // satoshis
     {
-        setAlignment(Qt::AlignRight);
-
+        setAlignment(Qt::AlignHCenter);
+        setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//Expanding, Fixed
         connect(lineEdit(), SIGNAL(textEdited(QString)), this, SIGNAL(valueChanged()));
     }
 
@@ -198,6 +198,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) :
     amount->setLocale(QLocale::c());
     amount->installEventFilter(this);
     //amount->setMaximumWidth(170);
+    amount->setAlignment(Qt::AlignHCenter);//:v
 
     QHBoxLayout *layout = new QHBoxLayout(this);
     layout->addWidget(amount);
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 7ebe7c8542be..957de371d3fd 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>916</width>
-    <height>775</height>
+    <width>938</width>
+    <height>456</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -24,44 +24,7 @@
   <property name="class" stdset="0">
    <string>container</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0">
-   <item>
-    <widget class="QLabel" name="label_5">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>40</height>
-      </size>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>40</height>
-      </size>
-     </property>
-     <property name="font">
-      <font>
-       <pointsize>11</pointsize>
-      </font>
-     </property>
-     <property name="styleSheet">
-      <string notr="true">color: rgba(255,255,255,0.5);
-padding: 10px;</string>
-     </property>
-     <property name="text">
-      <string>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</string>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-     </property>
-    </widget>
-   </item>
+  <layout class="QVBoxLayout" name="verticalLayout" stretch="0">
    <item>
     <widget class="QFrame" name="container">
      <property name="sizePolicy">
@@ -72,344 +35,261 @@ padding: 10px;</string>
      </property>
      <layout class="QHBoxLayout" name="horizontalLayout_3">
       <item>
-       <layout class="QGridLayout" name="gridLayout_2">
-        <property name="leftMargin">
-         <number>40</number>
-        </property>
-        <property name="rightMargin">
-         <number>40</number>
+       <widget class="QFrame" name="gridFrame">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
         </property>
-        <property name="bottomMargin">
-         <number>10</number>
+        <property name="maximumSize">
+         <size>
+          <width>1000</width>
+          <height>16777215</height>
+         </size>
         </property>
-        <item row="1" column="0">
-         <widget class="QFrame" name="frame">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>600</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>1000</width>
-            <height>16777215</height>
-           </size>
-          </property>
-          <property name="styleSheet">
-           <string notr="true"/>
-          </property>
-          <property name="frameShape">
-           <enum>QFrame::StyledPanel</enum>
-          </property>
-          <property name="frameShadow">
-           <enum>QFrame::Raised</enum>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayout_2">
-           <property name="leftMargin">
-            <number>20</number>
+        <layout class="QGridLayout" name="gridForLeft">
+         <item row="1" column="0">
+          <widget class="QFrame" name="verticalFrame">
+           <property name="maximumSize">
+            <size>
+             <width>16777215</width>
+             <height>450</height>
+            </size>
            </property>
-           <item>
-            <spacer name="verticalSpacer_3">
-             <property name="orientation">
-              <enum>Qt::Vertical</enum>
-             </property>
-             <property name="sizeType">
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>20</width>
-               <height>1</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayout_2">
-             <item>
-              <widget class="QLabel" name="label_6">
-               <property name="font">
-                <font>
-                 <pointsize>11</pointsize>
-                 <weight>75</weight>
-                 <bold>true</bold>
-                </font>
-               </property>
-               <property name="text">
-                <string>Requested payments history</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QPushButton" name="showRequestButton">
-               <property name="enabled">
-                <bool>false</bool>
-               </property>
-               <property name="toolTip">
-                <string>Show the selected request (does the same as double clicking an entry)</string>
-               </property>
-               <property name="styleSheet">
-                <string notr="true"/>
-               </property>
-               <property name="text">
-                <string>Show</string>
-               </property>
-               <property name="autoDefault">
-                <bool>false</bool>
-               </property>
-               <property name="class" stdset="0">
-                <string>linkButton</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QPushButton" name="removeRequestButton">
-               <property name="enabled">
-                <bool>false</bool>
-               </property>
-               <property name="toolTip">
-                <string>Remove the selected entries from the list</string>
-               </property>
-               <property name="styleSheet">
-                <string notr="true"/>
-               </property>
-               <property name="text">
-                <string>Remove</string>
-               </property>
-               <property name="autoDefault">
-                <bool>false</bool>
-               </property>
-               <property name="class" stdset="0">
-                <string>linkButton</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>
-            </layout>
-           </item>
-           <item>
-            <widget class="QTableView" name="recentRequestsView">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="minimumSize">
-              <size>
-               <width>0</width>
-               <height>100</height>
-              </size>
-             </property>
-             <property name="maximumSize">
-              <size>
-               <width>16777215</width>
-               <height>120</height>
-              </size>
-             </property>
-             <property name="contextMenuPolicy">
-              <enum>Qt::CustomContextMenu</enum>
-             </property>
-             <property name="styleSheet">
-              <string notr="true"/>
-             </property>
-             <property name="tabKeyNavigation">
-              <bool>false</bool>
-             </property>
-             <property name="sortingEnabled">
-              <bool>true</bool>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item row="0" column="0">
-         <widget class="QFrame" name="frame2">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>0</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>1000</width>
-            <height>16777215</height>
-           </size>
-          </property>
-          <property name="frameShape">
-           <enum>QFrame::StyledPanel</enum>
-          </property>
-          <property name="frameShadow">
-           <enum>QFrame::Sunken</enum>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayout_3">
-           <item>
-            <layout class="QGridLayout" name="gridLayout">
-             <item row="6" column="2">
-              <widget class="BitcoinAmountField" name="reqAmount">
-               <property name="minimumSize">
-                <size>
-                 <width>500</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-               </property>
-               <property name="class" stdset="0">
-                <string>LineEdit</string>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="2">
-              <widget class="QLabel" name="label_2">
-               <property name="toolTip">
-                <string>An optional label to associate with the new receiving address.</string>
-               </property>
-               <property name="text">
-                <string>&amp;Label:</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignCenter</set>
-               </property>
-               <property name="class" stdset="0">
-                <string>titleLabel</string>
-               </property>
-              </widget>
-             </item>
-             <item row="7" column="2">
-              <widget class="QLabel" name="label_3">
-               <property name="toolTip">
-                <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
-               </property>
-               <property name="text">
-                <string>&amp;Message:</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignCenter</set>
-               </property>
-               <property name="class" stdset="0">
-                <string>titleLabel</string>
-               </property>
-              </widget>
-             </item>
-             <item row="5" column="2">
-              <widget class="QLabel" name="label">
-               <property name="toolTip">
-                <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-               </property>
-               <property name="text">
-                <string>&amp;Amount:</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignCenter</set>
-               </property>
-               <property name="class" stdset="0">
-                <string>titleLabel</string>
-               </property>
-              </widget>
-             </item>
-             <item row="10" column="0">
-              <widget class="QLabel" name="label_4">
-               <property name="text">
-                <string/>
-               </property>
-              </widget>
-             </item>
-             <item row="8" column="2">
-              <widget class="QLineEdit" name="reqMessage">
-               <property name="minimumSize">
-                <size>
-                 <width>500</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
-               </property>
-               <property name="class" stdset="0">
-                <string>LineEdit</string>
-               </property>
-              </widget>
-             </item>
-             <item row="4" column="2">
-              <widget class="QLineEdit" name="reqLabel">
-               <property name="minimumSize">
-                <size>
-                 <width>500</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>An optional label to associate with the new receiving address.</string>
-               </property>
-               <property name="class" stdset="0">
-                <string>LineEdit</string>
-               </property>
-              </widget>
-             </item>
-             <item row="12" column="0">
-              <widget class="QLabel" name="label_7">
-               <property name="text">
-                <string/>
-               </property>
-              </widget>
-             </item>
-             <item row="9" column="2">
+           <layout class="QVBoxLayout" name="formLayouts">
+            <item>
+             <widget class="QLabel" name="label_2">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="toolTip">
+               <string>An optional label to associate with the new receiving address.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Label:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="labelLayout">
+              <item>
+               <widget class="QLineEdit" name="reqLabel">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>200</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>700</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>An optional label to associate with the new receiving address.</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>LineEdit</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="toolTip">
+               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Amount:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="amountLayout">
+              <item>
+               <widget class="BitcoinAmountField" name="reqAmount">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>202</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+                </property>
+                <property name="styleSheet">
+                 <string notr="true">width:200px !important;
+max-width:400px !important;
+</string>
+                </property>
+                <property name="class" stdset="0">
+                 <string>LineEdit</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_3">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="toolTip">
+               <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Paccoin network.</string>
+              </property>
+              <property name="text">
+               <string>&amp;Message:</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="messageLayout">
+              <item>
+               <widget class="QLineEdit" name="reqMessage">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>500</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>700</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Paccoin network.</string>
+                </property>
+                <property name="class" stdset="0">
+                 <string>LineEdit</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="QFrame" name="frameLabels">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <layout class="QHBoxLayout" name="horizontalLayout_4">
+               <item>
+                <widget class="QLabel" name="label_7">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="text">
+                  <string/>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLabel" name="label_4">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="text">
+                  <string/>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <spacer name="horizontalSpacer_4">
+                 <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="QCheckBox" name="reuseAddress">
                  <property name="sizePolicy">
-                  <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>400</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="toolTip">
                   <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
                  </property>
@@ -421,14 +301,14 @@ padding: 10px;</string>
                <item>
                 <widget class="QCheckBox" name="checkUseInstantSend">
                  <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
                  <property name="minimumSize">
                   <size>
-                   <width>200</width>
+                   <width>150</width>
                    <height>0</height>
                   </size>
                  </property>
@@ -447,18 +327,136 @@ padding: 10px;</string>
                 </widget>
                </item>
               </layout>
-             </item>
-            </layout>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item row="2" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <widget class="QLabel" name="label_6">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>11</pointsize>
+               <weight>75</weight>
+               <bold>true</bold>
+              </font>
+             </property>
+             <property name="text">
+              <string>Requested payments history</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="showRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Show the selected request (does the same as double clicking an entry)</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Show</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="removeRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Remove the selected entries from the list</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Remove</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+            </spacer>
            </item>
           </layout>
-         </widget>
-        </item>
-       </layout>
+         </item>
+         <item row="4" column="0">
+          <widget class="QTableView" name="recentRequestsView">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>80</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>16777215</width>
+             <height>200</height>
+            </size>
+           </property>
+           <property name="contextMenuPolicy">
+            <enum>Qt::CustomContextMenu</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
+           <property name="tabKeyNavigation">
+            <bool>false</bool>
+           </property>
+           <property name="sortingEnabled">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
       </item>
       <item>
        <widget class="QFrame" name="QRCodeFrame">
         <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+         <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
@@ -485,6 +483,13 @@ padding: 10px;</string>
          <property name="bottomMargin">
           <number>20</number>
          </property>
+         <item>
+          <widget class="QLabel" name="lblQRCode">
+           <property name="text">
+            <string>QRCODE</string>
+           </property>
+          </widget>
+         </item>
          <item>
           <spacer name="verticalSpacer">
            <property name="orientation">
@@ -502,30 +507,29 @@ padding: 10px;</string>
           </spacer>
          </item>
          <item>
-          <layout class="QHBoxLayout" name="horizontalLayout">
-           <item>
-            <widget class="QPushButton" name="receiveButton">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="minimumSize">
-              <size>
-               <width>260</width>
-               <height>0</height>
-              </size>
-             </property>
-             <property name="text">
-              <string>&amp;Request payment</string>
-             </property>
-             <property name="class" stdset="0">
-              <string>accentButton</string>
-             </property>
-            </widget>
-           </item>
-          </layout>
+          <widget class="QPushButton" name="receiveButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>260</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string>&amp;Request payment</string>
+           </property>
+           <property name="class" stdset="0">
+            <string>accentButton</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout"/>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontaLayoutlButton">
@@ -598,11 +602,6 @@ padding: 10px;</string>
   </customwidget>
  </customwidgets>
  <tabstops>
-  <tabstop>reqLabel</tabstop>
-  <tabstop>reqAmount</tabstop>
-  <tabstop>reqMessage</tabstop>
-  <tabstop>receiveButton</tabstop>
-  <tabstop>recentRequestsView</tabstop>
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
  </tabstops>

From 0ca977d0ab569169e3342387ac1b8c6f1e41d278 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 30 Jan 2019 19:53:52 -0600
Subject: [PATCH 071/225] Image Picker beta 1

still testing
---
 src/qt/bitcoingui.cpp  | 49 ++++++++++++++++++++++++++++++++++++++++--
 src/qt/bitcoingui.h    |  3 +++
 src/qt/res/css/pac.css |  2 +-
 3 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 6455a83bf061..2a8a1822dfd5 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -61,6 +61,7 @@
 #include <QFontDatabase>
 #include <QSpacerItem>
 #include <QFont>
+#include <QFileDialog>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -424,6 +425,7 @@ void BitcoinGUI::createActions()
     connect(privateAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
     connect(proposalAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
     connect(proposalAction, SIGNAL(triggered()), this, SLOT(gotoProposalPage()));
+
 #endif // ENABLE_WALLET
 
     quitAction = new QAction(QIcon(":/icons/" + theme + "/quit"), tr("E&xit"), this);
@@ -684,11 +686,10 @@ void BitcoinGUI::createHeaderBar()
     QLabel *messageLabel = new QLabel(this);
     QFrame *frameImg = new QFrame;
     QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
-    QPushButton *btnImg = new QPushButton;
+    btnImg = new QPushButton;
     QSpacerItem *item = new QSpacerItem(15,1, QSizePolicy::Fixed, QSizePolicy::Expanding);
     QSpacerItem *messageLeftSpacer = new QSpacerItem(30,1, QSizePolicy::Fixed, QSizePolicy::Fixed);
 
-
     headerFrame->setFixedHeight(100);
     headerFrame->setObjectName("headerFrameLayout");
     headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");
@@ -722,6 +723,24 @@ void BitcoinGUI::createHeaderBar()
     headerFrameLayout->addWidget(messageLabel);
     headerFrameLayout->addWidget(frameImg);
     headerFrame->setLayout(headerFrameLayout);
+
+    /** initializing profile image */
+    QSettings settings;
+    QString strImgValue = settings.value("profilePicture").toString();
+    if(strImgValue != "" && strImgValue != NULL){
+        QPixmap pixmap(strImgValue);
+        QIcon ButtonIcon(pixmap);
+        btnImg->setIcon(ButtonIcon);
+        btnImg->setIconSize(QSize(80,80));
+        btnImg->setFixedSize(80,80);
+        //btnImg->setMask(QRegion(btnImg->geometry(),QRegion::Ellipse));
+        btnImg->setStyleSheet("#btnChangeImage{height: 80px !important;border-radius: 40px !important;#btnChangeImage:hover {border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;}#btnChangeImage:pressed {background-color: rgb(263,252,76) !important;}");
+    }
+    else{
+        std::cout << "ther is no image";
+        //ask for the user to choose the profile picture as pop up message and then set it.
+    }
+    connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
 }
 
 void BitcoinGUI::setClientModel(ClientModel *clientModel)
@@ -1492,6 +1511,32 @@ void BitcoinGUI::setEncryptionStatus(int status)
 }
 #endif // ENABLE_WALLET
 
+void BitcoinGUI::selectProfileImageFile(){
+    QFileDialog dialog(this);
+    dialog.setFileMode(QFileDialog::ExistingFile);
+    dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
+    dialog.setViewMode(QFileDialog::Detail);
+
+    QString picturePath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.png *.xpm *.jpg)"));
+
+    QPixmap pixmap(picturePath);
+    QIcon ButtonIcon(pixmap);
+    btnImg->setIcon(ButtonIcon);
+    btnImg->setIconSize(QSize(80,80));
+    btnImg->setFixedSize(80,80);
+    //btnImg->setMask(QRegion(btnImg->geometry(),QRegion::Ellipse));
+    btnImg->setStyleSheet("#btnChangeImage{height: 80px !important;border-radius: 40px !important;#btnChangeImage:hover {border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;}#btnChangeImage:pressed {background-color: rgb(263,252,76) !important;}");
+
+    if(picturePath != "" && picturePath != NULL){
+        QSettings settings;
+        settings.setValue("profilePicture", picturePath);
+        settings.sync();
+        std::cout << "picturePath: " << picturePath.toStdString() << std::endl;
+        std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
+    }
+
+}
+
 void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)
 {
     if(!clientModel)
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 53a046171677..30aced374e4d 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -139,6 +139,7 @@ class BitcoinGUI : public QMainWindow
     ModalOverlay *modalOverlay;
 
     QFrame *headerFrame;
+    QPushButton *btnImg;
 
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
@@ -242,6 +243,8 @@ private Q_SLOTS:
     /** Show open dialog */
     void openClicked();
 #endif // ENABLE_WALLET
+    /** It will open a file picker to choose the image file*/
+    void selectProfileImageFile();
     /** Show configuration dialog */
     void optionsClicked();
     /** Show about dialog */
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 94f7e2392370..7d78e44f1c9f 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -56,7 +56,7 @@ QStatusBar{
 #btnChangeImage{
     height: 80px !important;
     border-radius: 40px !important;
-    border-image: url(:/images/pac/profile) 0 0 0 0 stretch stretch;
+    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;
 }
 #btnChangeImage:hover {
     border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;

From 78fd9db5e620a27fb33d8d1fcb81d3940eb89e80 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 31 Jan 2019 11:13:14 -0600
Subject: [PATCH 072/225] Receive page front end balance, and responsive layout

---
 src/qt/forms/receivecoinsdialog.ui | 211 ++++++++++++++++++++++++-----
 src/qt/receivecoinsdialog.cpp      |   1 +
 2 files changed, 177 insertions(+), 35 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 957de371d3fd..2e5c12d88e70 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>938</width>
-    <height>456</height>
+    <width>986</width>
+    <height>504</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -44,11 +44,23 @@
         </property>
         <property name="maximumSize">
          <size>
-          <width>1000</width>
+          <width>16777215</width>
           <height>16777215</height>
          </size>
         </property>
         <layout class="QGridLayout" name="gridForLeft">
+         <property name="leftMargin">
+          <number>50</number>
+         </property>
+         <property name="topMargin">
+          <number>35</number>
+         </property>
+         <property name="rightMargin">
+          <number>50</number>
+         </property>
+         <property name="bottomMargin">
+          <number>20</number>
+         </property>
          <item row="1" column="0">
           <widget class="QFrame" name="verticalFrame">
            <property name="maximumSize">
@@ -98,7 +110,7 @@
                 </property>
                 <property name="maximumSize">
                  <size>
-                  <width>700</width>
+                  <width>16777215</width>
                   <height>16777215</height>
                  </size>
                 </property>
@@ -155,7 +167,7 @@
                 </property>
                 <property name="maximumSize">
                  <size>
-                  <width>202</width>
+                  <width>16777215</width>
                   <height>16777215</height>
                  </size>
                 </property>
@@ -214,7 +226,7 @@ max-width:400px !important;
                 </property>
                 <property name="maximumSize">
                  <size>
-                  <width>700</width>
+                  <width>16777215</width>
                   <height>16777215</height>
                  </size>
                 </property>
@@ -456,14 +468,20 @@ max-width:400px !important;
       <item>
        <widget class="QFrame" name="QRCodeFrame">
         <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
+        <property name="minimumSize">
+         <size>
+          <width>315</width>
+          <height>0</height>
+         </size>
+        </property>
         <property name="maximumSize">
          <size>
-          <width>300</width>
+          <width>450</width>
           <height>16777215</height>
          </size>
         </property>
@@ -472,32 +490,125 @@ max-width:400px !important;
           <number>6</number>
          </property>
          <property name="leftMargin">
-          <number>20</number>
+          <number>27</number>
          </property>
          <property name="topMargin">
-          <number>1</number>
+          <number>47</number>
          </property>
          <property name="rightMargin">
           <number>20</number>
          </property>
          <property name="bottomMargin">
-          <number>20</number>
+          <number>34</number>
          </property>
          <item>
-          <widget class="QLabel" name="lblQRCode">
+          <widget class="QLabel" name="label_5">
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>15</height>
+            </size>
+           </property>
            <property name="text">
-            <string>QRCODE</string>
+            <string>AVAILABLE BALANCE</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <property name="class" stdset="0">
+            <string>titleLabel</string>
            </property>
           </widget>
          </item>
          <item>
-          <spacer name="verticalSpacer">
+          <layout class="QHBoxLayout" name="horizontalLayout_5">
+           <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="QLabel" name="iconLabelAvailableBalance">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>30</width>
+               <height>30</height>
+              </size>
+             </property>
+             <property name="text">
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLabel" name="labelBalance">
+             <property name="minimumSize">
+              <size>
+               <width>0</width>
+               <height>70</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>123,456.00</string>
+             </property>
+             <property name="class" stdset="0">
+              <string>pacCoinsLabel</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_5">
+             <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>
+          <widget class="QLabel" name="label_8">
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>50</height>
+            </size>
+           </property>
+           <property name="text">
+            <string>$ 578.03 USD</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <property name="class" stdset="0">
+            <string>usdLabel</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="verticalSpacer_2">
            <property name="orientation">
             <enum>Qt::Vertical</enum>
            </property>
-           <property name="sizeType">
-            <enum>QSizePolicy::Expanding</enum>
-           </property>
            <property name="sizeHint" stdset="0">
             <size>
              <width>20</width>
@@ -507,32 +618,62 @@ max-width:400px !important;
           </spacer>
          </item>
          <item>
-          <widget class="QPushButton" name="receiveButton">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>260</width>
-             <height>0</height>
-            </size>
-           </property>
+          <widget class="QLabel" name="lblQRCode">
            <property name="text">
-            <string>&amp;Request payment</string>
+            <string>QRCODE</string>
            </property>
-           <property name="class" stdset="0">
-            <string>accentButton</string>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item>
-          <layout class="QHBoxLayout" name="horizontalLayout"/>
+          <spacer name="verticalSpacer">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Expanding</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout">
+           <item>
+            <widget class="QPushButton" name="receiveButton">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>260</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>&amp;Request payment</string>
+             </property>
+             <property name="class" stdset="0">
+              <string>accentButton</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontaLayoutlButton">
+           <property name="topMargin">
+            <number>9</number>
+           </property>
            <item>
             <spacer name="horizontalSpacer_3">
              <property name="orientation">
@@ -543,7 +684,7 @@ max-width:400px !important;
              </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>124</width>
+               <width>120</width>
                <height>20</height>
               </size>
              </property>
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 4b5644366f8d..0bc223ba853e 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -43,6 +43,7 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
         ui->showRequestButton->setIcon(QIcon(":/icons/" + theme + "/edit"));
         ui->removeRequestButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
     }
+    ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32")); 
 
     // context menu actions
     QAction *copyURIAction = new QAction(tr("Copy URI"), this);

From cb2a46142827c3e03cb004fb31ee99e87125e575 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 31 Jan 2019 12:24:54 -0600
Subject: [PATCH 073/225] Combobox fix, overlay style, possible fix on receive
 send page

---
 src/qt/bitcoingui.cpp              | 19 ++++++++++++++++++-
 src/qt/forms/modaloverlay.ui       | 21 +++++++++++++++++----
 src/qt/forms/receivecoinsdialog.ui |  8 ++++----
 src/qt/forms/sendcoinsdialog.ui    | 10 +++++-----
 src/qt/res/css/pac.css             |  5 +----
 5 files changed, 45 insertions(+), 18 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 2a8a1822dfd5..ad63b042184b 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -62,6 +62,7 @@
 #include <QSpacerItem>
 #include <QFont>
 #include <QFileDialog>
+#include <QProxyStyle>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -82,6 +83,19 @@ const std::string BitcoinGUI::DEFAULT_UIPLATFORM =
 
 const QString BitcoinGUI::DEFAULT_WALLET = "~Default";
 
+class MyProxyStyle : public QProxyStyle
+{
+public:
+    int styleHint( StyleHint hint, const QStyleOption*
+    option = 0, const QWidget* widget = 0, QStyleHintReturn* returnData =
+    0 ) const   
+    {
+    if( SH_ComboBox_Popup == hint )
+            return 0;//disable combo-box popup top & bottom areas
+        return QProxyStyle::styleHint( hint, option, widget, returnData );   
+    }
+};
+
 BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent) :
     QMainWindow(parent),
     clientModel(0),
@@ -97,8 +111,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     appMenuBar(0),
     overviewAction(0),
     historyAction(0),
-    privateAction(0),
     masternodeAction(0),
+    privateAction(0),
     proposalAction(0),
     quitAction(0),
     sendCoinsAction(0),
@@ -526,6 +540,9 @@ void BitcoinGUI::createActions()
     // prevents an open debug window from becoming stuck/unusable on client shutdown
     connect(quitAction, SIGNAL(triggered()), rpcConsole, SLOT(hide()));
 
+    // TEST for combobox
+    qApp->setStyle( new MyProxyStyle );
+
 #ifdef ENABLE_WALLET
     if(walletFrame)
     {
diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui
index 4a7fd09f0d4d..57820423c0c2 100644
--- a/src/qt/forms/modaloverlay.ui
+++ b/src/qt/forms/modaloverlay.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>640</width>
-    <height>391</height>
+    <height>397</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -32,9 +32,7 @@
    <item>
     <widget class="QWidget" name="bgWidget" native="true">
      <property name="styleSheet">
-      <string notr="true">#bgWidget, #contentWidget{
-background-color: rgba(128,128,128,0.6)
-}</string>
+      <string notr="true">background:#171717;</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayoutMain" stretch="0">
       <property name="leftMargin">
@@ -92,6 +90,21 @@ background-color: rgba(128,128,128,0.6)
                <property name="enabled">
                 <bool>false</bool>
                </property>
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="minimumSize">
+                <size>
+                 <width>0</width>
+                 <height>55</height>
+                </size>
+               </property>
+               <property name="styleSheet">
+                <string notr="true">border:0px;</string>
+               </property>
                <property name="text">
                 <string/>
                </property>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 2e5c12d88e70..f171dafd51f6 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -53,7 +53,7 @@
           <number>50</number>
          </property>
          <property name="topMargin">
-          <number>35</number>
+          <number>17</number>
          </property>
          <property name="rightMargin">
           <number>50</number>
@@ -475,7 +475,7 @@ max-width:400px !important;
         </property>
         <property name="minimumSize">
          <size>
-          <width>315</width>
+          <width>350</width>
           <height>0</height>
          </size>
         </property>
@@ -490,10 +490,10 @@ max-width:400px !important;
           <number>6</number>
          </property>
          <property name="leftMargin">
-          <number>27</number>
+          <number>5</number>
          </property>
          <property name="topMargin">
-          <number>47</number>
+          <number>27</number>
          </property>
          <property name="rightMargin">
           <number>20</number>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 0e5d3bfc0e2f..01efea53bde3 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -52,7 +52,7 @@
          <number>50</number>
         </property>
         <property name="topMargin">
-         <number>50</number>
+         <number>30</number>
         </property>
         <property name="rightMargin">
          <number>50</number>
@@ -634,7 +634,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>194</height>
+             <height>204</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -970,7 +970,7 @@
          <number>25</number>
         </property>
         <property name="topMargin">
-         <number>50</number>
+         <number>30</number>
         </property>
         <property name="rightMargin">
          <number>9</number>
@@ -1342,8 +1342,8 @@
             <widget class="QWidget" name="scrollAreaWidgetContents_3">
              <property name="geometry">
               <rect>
-               <x>-2</x>
-               <y>-141</y>
+               <x>0</x>
+               <y>0</y>
                <width>293</width>
                <height>484</height>
               </rect>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7d78e44f1c9f..4a1581eb4283 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -182,7 +182,7 @@ QDialog#SendCoinsDialog QComboBox QAbstractItemView::item, QDialog#ReceiveCoinsD
     margin:4px;
 }
 QDialog#SendCoinsDialog QComboBox::item, QDialog#ReceiveCoinsDialog QComboBox::item {
-    color:#fff;
+    color:#fff !important;
 }
 QDialog#SendCoinsDialog QComboBox::item:alternate, QDialog#ReceiveCoinsDialog QComboBox::item:alternate {
     background:rgb(20, 20, 20);
@@ -706,6 +706,3 @@ MasternodeList > QTabBar::tab{
     min-width: 40px !important;
     min-height:20px !important;
 }
-
-
-

From 4027cc32ef65c20c1afa12a256aae4c3ecfaea24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 31 Jan 2019 12:29:08 -0600
Subject: [PATCH 074/225] Merging headers on bitcoingui

---
 src/qt/bitcoingui.cpp  | 64 +++++++++++++++++++++++++-----------------
 src/qt/res/css/pac.css | 18 ++++++++----
 2 files changed, 52 insertions(+), 30 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index ad63b042184b..a408e9549869 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -63,6 +63,7 @@
 #include <QFont>
 #include <QFileDialog>
 #include <QProxyStyle>
+#include <QPainter>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -744,19 +745,27 @@ void BitcoinGUI::createHeaderBar()
     /** initializing profile image */
     QSettings settings;
     QString strImgValue = settings.value("profilePicture").toString();
+    QString imgPath;
     if(strImgValue != "" && strImgValue != NULL){
-        QPixmap pixmap(strImgValue);
-        QIcon ButtonIcon(pixmap);
-        btnImg->setIcon(ButtonIcon);
-        btnImg->setIconSize(QSize(80,80));
-        btnImg->setFixedSize(80,80);
-        //btnImg->setMask(QRegion(btnImg->geometry(),QRegion::Ellipse));
-        btnImg->setStyleSheet("#btnChangeImage{height: 80px !important;border-radius: 40px !important;#btnChangeImage:hover {border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;}#btnChangeImage:pressed {background-color: rgb(263,252,76) !important;}");
+        imgPath = "/Users/IvanPacheco/Desktop/Captura de pantalla 2019-01-30 a la(s) 22.15.39.png";
     }
     else{
-        std::cout << "ther is no image";
-        //ask for the user to choose the profile picture as pop up message and then set it.
+        imgPath = ":/icons/bitcoin";
     }
+    QPixmap target(80, 80);
+    target.fill(Qt::transparent);
+    QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
+    QPainter painter(&target);
+    painter.setRenderHint(QPainter::Antialiasing);
+    painter.setRenderHint(QPainter::Antialiasing, true);
+    QPainterPath p;
+    p.addEllipse(QRect(0,0,80,80));
+    painter.setClipPath(p);
+    painter.drawPixmap(0, 0,pixmap);
+    //btnImg->setPixmap(target); this for a Qlabel
+    QIcon ButtonIcon(target);
+    btnImg->setIcon(ButtonIcon);
+    btnImg->setIconSize(QSize(78,78));
     connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
 }
 
@@ -1534,24 +1543,29 @@ void BitcoinGUI::selectProfileImageFile(){
     dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
     dialog.setViewMode(QFileDialog::Detail);
 
-    QString picturePath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.png *.xpm *.jpg)"));
+    QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.png *.xpm *.jpg)"));
 
-    QPixmap pixmap(picturePath);
-    QIcon ButtonIcon(pixmap);
-    btnImg->setIcon(ButtonIcon);
-    btnImg->setIconSize(QSize(80,80));
-    btnImg->setFixedSize(80,80);
-    //btnImg->setMask(QRegion(btnImg->geometry(),QRegion::Ellipse));
-    btnImg->setStyleSheet("#btnChangeImage{height: 80px !important;border-radius: 40px !important;#btnChangeImage:hover {border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;}#btnChangeImage:pressed {background-color: rgb(263,252,76) !important;}");
-
-    if(picturePath != "" && picturePath != NULL){
-        QSettings settings;
-        settings.setValue("profilePicture", picturePath);
-        settings.sync();
-        std::cout << "picturePath: " << picturePath.toStdString() << std::endl;
-        std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
-    }
 
+    QSettings settings;
+    settings.setValue("profilePicture", imgPath);
+    //settings.sync();
+    std::cout << "picturePath: " << imgPath.toStdString() << std::endl;
+    std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
+
+    QPixmap target(80, 80);
+    target.fill(Qt::transparent);
+    QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
+    QPainter painter(&target);
+    painter.setRenderHint(QPainter::Antialiasing);
+    painter.setRenderHint(QPainter::Antialiasing, true);
+    QPainterPath p;
+    p.addEllipse(QRect(0,0,80,80));
+    painter.setClipPath(p);
+    painter.drawPixmap(0, 0,pixmap);
+    //btnImg->setPixmap(target); this for a Qlabel
+    QIcon ButtonIcon(target);
+    btnImg->setIcon(ButtonIcon);
+    btnImg->setIconSize(QSize(78,78));
 }
 
 void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 4a1581eb4283..5ef60fdacd5c 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -54,15 +54,23 @@ QStatusBar{
 }
 
 #btnChangeImage{
-    height: 80px !important;
-    border-radius: 40px !important;
-    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:hover {
-    border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch !important;
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    border: 1px solid rgb(255,255,255) !important;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:pressed {
-    background-color: rgb(263,252,76) !important;
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    border: 1px solid rgb(263,252,76) !important;
 }
 
 

From f2254015d8d95f05a41b0e6f23c19e3dda27ac59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 31 Jan 2019 14:51:42 -0600
Subject: [PATCH 075/225] Image picker now storage the image inside Paccoincore
 folder

depending in each plataform the program will copy and paste the image selected, overwrite it if it exist and then each time the wallet loads it will choose the image from that path.

The image will be copied where the .conf is located without file extention.

Only allowed .xmp and .jpg images since .png files can't be loaded (QT bug apparently)
---
 src/qt/bitcoingui.cpp | 28 +++++++++++++++++++---------
 src/qt/bitcoingui.h   |  1 +
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index a408e9549869..7220c350ca4a 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -18,6 +18,7 @@
 #include "platformstyle.h"
 #include "rpcconsole.h"
 #include "utilitydialog.h"
+#include "util.h"
 
 #ifdef ENABLE_WALLET
 #include "walletframe.h"
@@ -745,16 +746,14 @@ void BitcoinGUI::createHeaderBar()
     /** initializing profile image */
     QSettings settings;
     QString strImgValue = settings.value("profilePicture").toString();
-    QString imgPath;
-    if(strImgValue != "" && strImgValue != NULL){
-        imgPath = "/Users/IvanPacheco/Desktop/Captura de pantalla 2019-01-30 a la(s) 22.15.39.png";
-    }
-    else{
-        imgPath = ":/icons/bitcoin";
+
+    if(strImgValue == "" && strImgValue == NULL){
+        strImgValue = ":/icons/bitcoin";
     }
+
     QPixmap target(80, 80);
     target.fill(Qt::transparent);
-    QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
+    QPixmap pixmap = QPixmap::fromImage( QImage(strImgValue).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
     QPainter painter(&target);
     painter.setRenderHint(QPainter::Antialiasing);
     painter.setRenderHint(QPainter::Antialiasing, true);
@@ -1543,12 +1542,23 @@ void BitcoinGUI::selectProfileImageFile(){
     dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
     dialog.setViewMode(QFileDialog::Detail);
 
-    QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.png *.xpm *.jpg)"));
+    //there is a bug with qt which won't let load .png files: output error will be:  libpng error: Read Error
+    QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.xpm *.jpg)"));
+
+    /** Copy the image to the Pac Folder: */
+    boost::filesystem::path directoryToCopy = GetDefaultDataDir();
+    std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
+    std::cout << "imgPath: " << imgPath.toStdString() << std::endl;//debug
+    std::cout << "imgFinalPath: " << imgFinalPath << std::endl;//debug
 
+    std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
+    std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
+    ofs << ifs.rdbuf();
+    imgPath = QString::fromUtf8(imgFinalPath.c_str());//parse from std string to QString
 
     QSettings settings;
     settings.setValue("profilePicture", imgPath);
-    //settings.sync();
+    settings.sync();
     std::cout << "picturePath: " << imgPath.toStdString() << std::endl;
     std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
 
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 30aced374e4d..166b6b9b2c36 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -18,6 +18,7 @@
 #include <QPoint>
 #include <QPushButton>
 #include <QSystemTrayIcon>
+#include <boost/filesystem/path.hpp>
 
 class ClientModel;
 class NetworkStyle;

From e9994068b5433236c5586872b6ee74f6f4aa39ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 31 Jan 2019 15:00:58 -0600
Subject: [PATCH 076/225] Bug fixed: img picker when cancelling button clicked

if you were about to select an image from the file picker and decided to not select anything. When clicking cancel button the button would set the image as black. Now it keeps the last image.
---
 src/qt/bitcoingui.cpp | 67 +++++++++++++++++++++----------------------
 1 file changed, 33 insertions(+), 34 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 7220c350ca4a..f30cb90f9ce4 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -1537,45 +1537,44 @@ void BitcoinGUI::setEncryptionStatus(int status)
 #endif // ENABLE_WALLET
 
 void BitcoinGUI::selectProfileImageFile(){
-    QFileDialog dialog(this);
-    dialog.setFileMode(QFileDialog::ExistingFile);
-    dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
-    dialog.setViewMode(QFileDialog::Detail);
-
     //there is a bug with qt which won't let load .png files: output error will be:  libpng error: Read Error
     QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.xpm *.jpg)"));
 
-    /** Copy the image to the Pac Folder: */
-    boost::filesystem::path directoryToCopy = GetDefaultDataDir();
-    std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
-    std::cout << "imgPath: " << imgPath.toStdString() << std::endl;//debug
-    std::cout << "imgFinalPath: " << imgFinalPath << std::endl;//debug
-
-    std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
-    std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
-    ofs << ifs.rdbuf();
-    imgPath = QString::fromUtf8(imgFinalPath.c_str());//parse from std string to QString
+    if(!imgPath.isEmpty() && !imgPath.isNull()){/** when the user click on ok button inside the file picker */
+        /** Copy the image to the Pac Folder: */
+        boost::filesystem::path directoryToCopy = GetDefaultDataDir();
+        std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
+        std::cout << "imgPath: " << imgPath.toStdString() << std::endl;//debug
+        std::cout << "imgFinalPath: " << imgFinalPath << std::endl;//debug
 
-    QSettings settings;
-    settings.setValue("profilePicture", imgPath);
-    settings.sync();
-    std::cout << "picturePath: " << imgPath.toStdString() << std::endl;
-    std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
+        std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
+        std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
+        ofs << ifs.rdbuf();
+        imgPath = QString::fromUtf8(imgFinalPath.c_str());//parse from std string to QString
 
-    QPixmap target(80, 80);
-    target.fill(Qt::transparent);
-    QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
-    QPainter painter(&target);
-    painter.setRenderHint(QPainter::Antialiasing);
-    painter.setRenderHint(QPainter::Antialiasing, true);
-    QPainterPath p;
-    p.addEllipse(QRect(0,0,80,80));
-    painter.setClipPath(p);
-    painter.drawPixmap(0, 0,pixmap);
-    //btnImg->setPixmap(target); this for a Qlabel
-    QIcon ButtonIcon(target);
-    btnImg->setIcon(ButtonIcon);
-    btnImg->setIconSize(QSize(78,78));
+        // saves the path as setting
+        QSettings settings;
+        settings.setValue("profilePicture", imgPath);
+        settings.sync();
+        std::cout << "picturePath: " << imgPath.toStdString() << std::endl;
+        std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
+
+        //load the image from that path as the icon of the button
+        QPixmap target(80, 80);
+        target.fill(Qt::transparent);
+        QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
+        QPainter painter(&target);
+        painter.setRenderHint(QPainter::Antialiasing);
+        painter.setRenderHint(QPainter::Antialiasing, true);
+        QPainterPath p;
+        p.addEllipse(QRect(0,0,80,80));
+        painter.setClipPath(p);
+        painter.drawPixmap(0, 0,pixmap);
+        //btnImg->setPixmap(target); this for a Qlabel
+        QIcon ButtonIcon(target);
+        btnImg->setIcon(ButtonIcon);
+        btnImg->setIconSize(QSize(78,78));
+    }
 }
 
 void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)

From d04dd3775698e85069dfdb1de2068f81211dbf26 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 31 Jan 2019 16:20:02 -0600
Subject: [PATCH 077/225] Fix to the Private and overview displays

---
 src/qt/bitcoingui.cpp   |  3 ++-
 src/qt/overviewpage.cpp | 12 ++++++++----
 src/qt/overviewpage.h   |  3 ++-
 src/qt/privatepage.cpp  | 25 ++++++++++++++++++++-----
 src/qt/privatepage.h    |  8 +++++++-
 5 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index a408e9549869..ec49d4bf30d7 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -84,6 +84,7 @@ const std::string BitcoinGUI::DEFAULT_UIPLATFORM =
 
 const QString BitcoinGUI::DEFAULT_WALLET = "~Default";
 
+/** For the style on the comboBox */
 class MyProxyStyle : public QProxyStyle
 {
 public:
@@ -541,7 +542,7 @@ void BitcoinGUI::createActions()
     // prevents an open debug window from becoming stuck/unusable on client shutdown
     connect(quitAction, SIGNAL(triggered()), rpcConsole, SLOT(hide()));
 
-    // TEST for combobox
+    // Setting the new style for the comboBox
     qApp->setStyle( new MyProxyStyle );
 
 #ifdef ENABLE_WALLET
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index b59ad82f834e..45299b9ceb9f 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -186,7 +186,7 @@ OverviewPage::~OverviewPage()
     delete ui;
 }
 
-void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
+void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
 {
     currentBalance = balance;
     currentUnconfirmedBalance = unconfirmedBalance;
@@ -194,6 +194,10 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     currentWatchOnlyBalance = watchOnlyBalance;
     currentWatchUnconfBalance = watchUnconfBalance;
     currentWatchImmatureBalance = watchImmatureBalance;
+
+    // Not used
+    currentAnonymizedBalance = anonymizedBalance;
+
     ui->iconLabelAvailable->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelPending->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelTotal->setPixmap(QPixmap(":icons/bitcoin-32"));
@@ -263,9 +267,9 @@ void OverviewPage::setWalletModel(WalletModel *model)
         // update the display unit, to not use the default ("PAC")
         updateDisplayUnit();
         // Keep up to date with wallet
-        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(),
+        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
                    model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
-        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
 
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
         connect(model->getOptionsModel(), SIGNAL(advancedPSUIChanged(bool)), this, SLOT(updateAdvancedPSUI(bool)));
@@ -283,7 +287,7 @@ void OverviewPage::updateDisplayUnit()
     {
         nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
         if(currentBalance != -1)
-            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance,
+            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentAnonymizedBalance,
                        currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
 
         // Update txdelegate->unit with the current unit
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 5ffa2b23404c..39965010a33f 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -38,7 +38,7 @@ class OverviewPage : public QWidget
     void showOutOfSyncWarning(bool fShow);
 
 public Q_SLOTS:
-    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
                     const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
 
 Q_SIGNALS:
@@ -53,6 +53,7 @@ public Q_SLOTS:
     CAmount currentBalance;
     CAmount currentUnconfirmedBalance;
     CAmount currentImmatureBalance;
+    CAmount currentAnonymizedBalance;
     CAmount currentWatchOnlyBalance;
     CAmount currentWatchUnconfBalance;
     CAmount currentWatchImmatureBalance;
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 5926f747b6b3..0b07a0374a15 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -44,7 +44,12 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
     ui(new Ui::PrivatePage),
     clientModel(0),
     walletModel(0),
-    currentBalance(-1)
+    currentBalance(-1),
+    currentUnconfirmedBalance(-1),
+    currentImmatureBalance(-1),
+    currentWatchOnlyBalance(-1),
+    currentWatchUnconfBalance(-1),
+    currentWatchImmatureBalance(-1)
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
@@ -101,10 +106,18 @@ PrivatePage::~PrivatePage()
     delete ui;
 }
 
-void PrivatePage::setBalance(const CAmount& balance, const CAmount& anonymizedBalance)
+void PrivatePage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
 {
     currentBalance = balance;
     currentAnonymizedBalance = anonymizedBalance;
+
+    // Not used
+    currentUnconfirmedBalance = unconfirmedBalance;
+    currentImmatureBalance = immatureBalance;
+    currentWatchOnlyBalance = watchOnlyBalance;
+    currentWatchUnconfBalance = watchUnconfBalance;
+    currentWatchImmatureBalance = watchImmatureBalance;
+
     ui->labelAnonymized->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, anonymizedBalance, false, BitcoinUnits::separatorAlways));
 
     // for symmetry reasons also show immature label when the watch-only one is shown
@@ -135,8 +148,9 @@ void PrivatePage::setModel(WalletModel *model)
         // update the display unit, to not use the default ("PAC")
         updateDisplayUnit();
         // Keep up to date with wallet
-        setBalance(model->getBalance(), model->getAnonymizedBalance());
-        connect(model, SIGNAL(balanceChanged(CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount)));
+        setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getAnonymizedBalance(),
+                   model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
+        connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
 
         connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
         connect(model->getOptionsModel(), SIGNAL(privateSendRoundsChanged()), this, SLOT(updatePrivateSendProgress()));
@@ -158,7 +172,8 @@ void PrivatePage::updateDisplayUnit()
     {
         nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
         if(currentBalance != -1)
-            setBalance(currentBalance, currentAnonymizedBalance);
+            setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentAnonymizedBalance,
+                       currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
     }
 }
 
diff --git a/src/qt/privatepage.h b/src/qt/privatepage.h
index 8550e4492d0a..f478c80ddd44 100644
--- a/src/qt/privatepage.h
+++ b/src/qt/privatepage.h
@@ -39,7 +39,8 @@ class PrivatePage : public QWidget
 
 public Q_SLOTS:
     void privateSendStatus();
-    void setBalance(const CAmount& balance, const CAmount& anonymizedBalance);
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
+                    const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
 
 Q_SIGNALS:
     void outOfSyncWarningClicked();
@@ -51,6 +52,11 @@ public Q_SLOTS:
     WalletModel *walletModel;
     CAmount currentBalance;
     CAmount currentAnonymizedBalance;
+    CAmount currentUnconfirmedBalance;
+    CAmount currentImmatureBalance;
+    CAmount currentWatchOnlyBalance;
+    CAmount currentWatchUnconfBalance;
+    CAmount currentWatchImmatureBalance;
     int nDisplayUnit;
     bool fShowAdvancedPSUI;
 

From 41737cb9335da6166da4a87ffb0f4c42455a2f9b Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 31 Jan 2019 17:25:15 -0600
Subject: [PATCH 078/225] Amount on receive and send rearrange

---
 src/qt/bitcoinamountfield.cpp      |   2 -
 src/qt/forms/receivecoinsdialog.ui | 346 +++++++++++++++--------------
 src/qt/forms/sendcoinsentry.ui     |  24 ++
 3 files changed, 199 insertions(+), 173 deletions(-)

diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index 3d79f5552a72..0f7c36c7a1df 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -197,8 +197,6 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) :
     amount = new AmountSpinBox(this);
     amount->setLocale(QLocale::c());
     amount->installEventFilter(this);
-    //amount->setMaximumWidth(170);
-    amount->setAlignment(Qt::AlignHCenter);//:v
 
     QHBoxLayout *layout = new QHBoxLayout(this);
     layout->addWidget(amount);
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index f171dafd51f6..05186aa528b0 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>986</width>
-    <height>504</height>
+    <width>1118</width>
+    <height>523</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -61,6 +61,124 @@
          <property name="bottomMargin">
           <number>20</number>
          </property>
+         <item row="4" column="0">
+          <widget class="QTableView" name="recentRequestsView">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>80</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>16777215</width>
+             <height>200</height>
+            </size>
+           </property>
+           <property name="contextMenuPolicy">
+            <enum>Qt::CustomContextMenu</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
+           <property name="tabKeyNavigation">
+            <bool>false</bool>
+           </property>
+           <property name="sortingEnabled">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+         <item row="2" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <widget class="QLabel" name="label_6">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>11</pointsize>
+               <weight>75</weight>
+               <bold>true</bold>
+              </font>
+             </property>
+             <property name="text">
+              <string>Requested payments history</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="showRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Show the selected request (does the same as double clicking an entry)</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Show</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="removeRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Remove the selected entries from the list</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Remove</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </item>
          <item row="1" column="0">
           <widget class="QFrame" name="verticalFrame">
            <property name="maximumSize">
@@ -71,26 +189,58 @@
            </property>
            <layout class="QVBoxLayout" name="formLayouts">
             <item>
-             <widget class="QLabel" name="label_2">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="toolTip">
-               <string>An optional label to associate with the new receiving address.</string>
-              </property>
-              <property name="text">
-               <string>&amp;Label:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_6">
+              <item>
+               <widget class="QLabel" name="label_2">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="toolTip">
+                 <string>An optional label to associate with the new receiving address.</string>
+                </property>
+                <property name="text">
+                 <string>&amp;Label:</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>300</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
+                </property>
+                <property name="text">
+                 <string>&amp;Amount:</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class" stdset="0">
+                 <string>titleLabel</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
             <item>
              <layout class="QHBoxLayout" name="labelLayout">
@@ -125,32 +275,6 @@
                 </property>
                </widget>
               </item>
-             </layout>
-            </item>
-            <item>
-             <widget class="QLabel" name="label">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="toolTip">
-               <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
-              </property>
-              <property name="text">
-               <string>&amp;Amount:</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <layout class="QHBoxLayout" name="amountLayout">
               <item>
                <widget class="BitcoinAmountField" name="reqAmount">
                 <property name="sizePolicy">
@@ -167,7 +291,7 @@
                 </property>
                 <property name="maximumSize">
                  <size>
-                  <width>16777215</width>
+                  <width>300</width>
                   <height>16777215</height>
                  </size>
                 </property>
@@ -175,9 +299,7 @@
                  <string>An optional amount to request. Leave this empty or zero to not request a specific amount.</string>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true">width:200px !important;
-max-width:400px !important;
-</string>
+                 <string notr="true"/>
                 </property>
                 <property name="class" stdset="0">
                  <string>LineEdit</string>
@@ -344,124 +466,6 @@ max-width:400px !important;
            </layout>
           </widget>
          </item>
-         <item row="2" column="0">
-          <layout class="QHBoxLayout" name="horizontalLayout_2">
-           <item>
-            <widget class="QLabel" name="label_6">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="font">
-              <font>
-               <pointsize>11</pointsize>
-               <weight>75</weight>
-               <bold>true</bold>
-              </font>
-             </property>
-             <property name="text">
-              <string>Requested payments history</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="showRequestButton">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>Show the selected request (does the same as double clicking an entry)</string>
-             </property>
-             <property name="styleSheet">
-              <string notr="true"/>
-             </property>
-             <property name="text">
-              <string>Show</string>
-             </property>
-             <property name="autoDefault">
-              <bool>false</bool>
-             </property>
-             <property name="class" stdset="0">
-              <string>linkButton</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="removeRequestButton">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>Remove the selected entries from the list</string>
-             </property>
-             <property name="styleSheet">
-              <string notr="true"/>
-             </property>
-             <property name="text">
-              <string>Remove</string>
-             </property>
-             <property name="autoDefault">
-              <bool>false</bool>
-             </property>
-             <property name="class" stdset="0">
-              <string>linkButton</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <spacer name="horizontalSpacer_2">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType">
-              <enum>QSizePolicy::Expanding</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>0</width>
-               <height>0</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-          </layout>
-         </item>
-         <item row="4" column="0">
-          <widget class="QTableView" name="recentRequestsView">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>0</width>
-             <height>80</height>
-            </size>
-           </property>
-           <property name="maximumSize">
-            <size>
-             <width>16777215</width>
-             <height>200</height>
-            </size>
-           </property>
-           <property name="contextMenuPolicy">
-            <enum>Qt::CustomContextMenu</enum>
-           </property>
-           <property name="styleSheet">
-            <string notr="true"/>
-           </property>
-           <property name="tabKeyNavigation">
-            <bool>false</bool>
-           </property>
-           <property name="sortingEnabled">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
         </layout>
        </widget>
       </item>
@@ -594,7 +598,7 @@ max-width:400px !important;
             </size>
            </property>
            <property name="text">
-            <string>$ 578.03 USD</string>
+            <string>$ 00.00 USD</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index fd7934b37cbb..e30a122fc7d6 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -51,6 +51,12 @@
      <layout class="QHBoxLayout" name="labelAmounTitles">
       <item>
        <widget class="QLabel" name="labellLabel">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
         <property name="text">
          <string>&amp;Label:</string>
         </property>
@@ -67,6 +73,18 @@
       </item>
       <item>
        <widget class="QLabel" name="amountLabel">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>300</width>
+          <height>16777215</height>
+         </size>
+        </property>
         <property name="text">
          <string>A&amp;mount:</string>
         </property>
@@ -226,6 +244,12 @@
       </item>
       <item>
        <widget class="BitcoinAmountField" name="payAmount">
+        <property name="maximumSize">
+         <size>
+          <width>300</width>
+          <height>16777215</height>
+         </size>
+        </property>
         <property name="class" stdset="0">
          <string>LineEdit_PacCoins</string>
         </property>

From 212066a4eecae2f7d273106a22448b8e6f3f691f Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 1 Feb 2019 12:27:08 -0600
Subject: [PATCH 079/225] New background, fix to info doubleclicked

---
 src/qt/overviewpage.cpp                       |   7 +++----
 src/qt/overviewpage.h                         |   2 +-
 .../res/images/pac/drkblue_walletFrame_bg.jpg | Bin 346947 -> 157481 bytes
 .../res/images/pac/drkblue_walletFrame_bg.png | Bin 218238 -> 0 bytes
 4 files changed, 4 insertions(+), 5 deletions(-)
 delete mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.png

diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 45299b9ceb9f..81d521bbf80c 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -209,8 +209,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
     ui->labelWatchPending->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchImmatureBalance, false, BitcoinUnits::separatorAlways));
     ui->labelWatchTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, false, BitcoinUnits::separatorAlways));
-    
-    connect(ui->overviewInfo, SIGNAL(clicked()), this, SLOT(overviewInfo()));
 
     // only show immature (newly mined) balance if it's non-zero, so as not to complicate things
     // for the non-mining users
@@ -333,7 +331,8 @@ void OverviewPage::SetupTransactionList(int nNumItems) {
     }
 }
 
-void OverviewPage::overviewInfo(){
+void OverviewPage::on_overviewInfo_clicked()
+{
     HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
     dlg.exec();
-}
\ No newline at end of file
+}
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 39965010a33f..65ab4fae9a57 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -72,7 +72,7 @@ private Q_SLOTS:
     void updateAlerts(const QString &warnings);
     void updateWatchOnlyLabels(bool showWatchOnly);
     void handleOutOfSyncWarningClicks();
-    void overviewInfo();
+    void on_overviewInfo_clicked();
 };
 
 #endif // BITCOIN_QT_OVERVIEWPAGE_H
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg b/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
index dfe41aad71d76c853d12ecae1f645ced85c7cf40..829f27fd86662a47e086b7fbb264a6effc1da177 100644
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.png b/src/qt/res/images/pac/drkblue_walletFrame_bg.png
deleted file mode 100644
index 0d4f197ee9b6b39829f1ca89ad5608e8ec7967ed..0000000000000000000000000000000000000000
GIT binary patch

From 0364b0df9bea8bf251a822cf9a47d8847d066e53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 1 Feb 2019 13:14:35 -0600
Subject: [PATCH 080/225] Bug Fixed: AccentButton lost shape with small screens

Sending coins page
---
 src/qt/forms/sendcoinsdialog.ui | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 01efea53bde3..90fcaff9b16f 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1263</width>
-    <height>765</height>
+    <width>1183</width>
+    <height>606</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -634,7 +634,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>204</height>
+             <height>70</height>
             </rect>
            </property>
            <property name="styleSheet">

From ca9008ede1707cdbfd78c10088d91b6314e2b588 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 1 Feb 2019 13:14:57 -0600
Subject: [PATCH 081/225] Icons replaced

accurate style and color correction
---
 src/qt/res/icons/pac/tx_inout.png     | Bin 974 -> 412 bytes
 src/qt/res/images/pac/profile_bkg.png | Bin 1675 -> 1330 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 mode change 100755 => 100644 src/qt/res/images/pac/profile_bkg.png

diff --git a/src/qt/res/icons/pac/tx_inout.png b/src/qt/res/icons/pac/tx_inout.png
index 956089035594852a1cd0cca163ec2e15cbe1a9c7..c93f8ac55ab46fd691bcd86ddbb1197164cd1467 100644
GIT binary patch
diff --git a/src/qt/res/images/pac/profile_bkg.png b/src/qt/res/images/pac/profile_bkg.png
old mode 100755
new mode 100644
index 98fbd8a6b7c3249e9a2e903331fb6747d1a0c41a..3d35d986fc833e083e7c48ca550945a66fce489a
GIT binary patch

From 9c66d1438578f31f11535f16a4b0d73f36854025 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 1 Feb 2019 13:17:15 -0600
Subject: [PATCH 082/225] CSS Code optimization and combobox color fixed

removing innecesary code and code that was being repeated

CSS:
- table header height fixed
- arrow for sorting customized
---
 src/qt/res/css/pac.css | 289 ++++++++++++++++++-----------------------
 1 file changed, 126 insertions(+), 163 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 5ef60fdacd5c..2c0fda01ca64 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -6,7 +6,6 @@ QLabel, QGroupBox::title{
     color: white !important;
     font-weight:normal;
 }
-
 QMainWindow{
     border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
 }
@@ -19,6 +18,37 @@ QDialog{
     background-color:rgb(26,26,26);
     color:white;
 }
+/* Global ComboBox */
+QComboBox{
+    background-color: #0B0B0B;
+    border:0px;
+    height: 26px;
+    padding: 3px 5px 3px 5px;
+    color:#fff;
+    min-height: 24px !important;
+}
+QComboBox::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+QComboBox::drop-down {
+    width:25px;
+    border:3px red;
+}
+QComboBox QListView {
+    color: #FFF;
+    background-color:  rgb(20, 20, 20);
+    border:0px;
+    height:100px;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+QComboBox QAbstractItemView::item {
+    color: rgb(255, 255, 255) !important;
+    selection-background-color: #494949;
+    height: 35px !important;
+    min-width: 100px !important;
+}
 /* Global TabBar styles */
 QTabWidget::pane {
     background-color: transparent;
@@ -29,7 +59,6 @@ QTabWidget::pane {
 QTabWidget::tab-bar {
     left: 200px;
 }*/
-
 /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
 QTabBar::tab {
     background:#1D1D1D;
@@ -52,7 +81,6 @@ QTabBar::tab:selected {
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
-
 #btnChangeImage{
     height:80px;
     width:80px;
@@ -72,15 +100,11 @@ QStatusBar{
     border-radius: 40px;
     border: 1px solid rgb(263,252,76) !important;
 }
-
-
 /* Global containers */
 [class="container"]{
     background-color: rgba(50,50,50,0.35);
     border: 0px !important;
 }
-
-
 /* Global text inputs */
 [class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
@@ -111,8 +135,12 @@ QStatusBar{
     background-color: transparent;
     border: none;
 }
-
-
+[class="SpinBoxSmall"]{
+    border-radius: 10px !important;
+    font-size: 12px !important;
+    min-width: 40px !important;
+    min-height:20px !important;
+}
 /* labels */
 QLabel[class="titleLabel"]{
     text-transform:uppercase;
@@ -137,8 +165,6 @@ QLabel[class="usdLabel"]{
 QLabel[class="labelPacIcon"]{
     margin: 0px;
 }
-
-
 /*textarea*/
 QPlainTextEdit {
     background: rgb(255, 0, 0);
@@ -146,66 +172,6 @@ QPlainTextEdit {
     font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
-
-
-/* Dropdown Menus  not for the tables */
-QDialog#SendCoinsDialog QComboBox, QDialog#ReceiveCoinsDialog QComboBox { 
-    border-radius: 20px;
-    background-color: rgb(10, 10, 10);
-    font-family: 'Volte Rounded', sans-serif;
-    font-size: 15px;
-    text-align: center;
-    border:0px;
-    padding: 3px 5px 3px 5px;
-    min-height:40px;
-    color:#fff;
-}
-QDialog#SendCoinsDialog QComboBox:disabled, QDialog#ReceiveCoinsDialog QComboBox:disabled{
-    background-color: rgb(61,61,61);
-    color: #efefef;
-}
-QDialog#SendCoinsDialog QComboBox:checked, QDialog#ReceiveCoinsDialog QComboBox:checked{
-    background-color: rgba(219, 219, 219,0.5);
-}
-QDialog#SendCoinsDialog QComboBox:editable, QDialog#ReceiveCoinsDialog QComboBox:editable {
-    background-color: rgba(219, 219, 219,0.5);
-    color:#616161;
-    border:0px;
-}
-QDialog#SendCoinsDialog QComboBox::drop-down, QDialog#ReceiveCoinsDialog QComboBox::drop-down {
-    width:25px;
-    border:0px;
-}
-QDialog#SendCoinsDialog QComboBox::down-arrow, QDialog#ReceiveCoinsDialog QComboBox::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
-}
-QDialog#SendCoinsDialog QComboBox QListView, QDialog#ReceiveCoinsDialog QComboBox QListView {
-    background-color:  rgb(20, 20, 20);
-    border:1px solid transparent;
-    border-radius: 5px;
-    padding-right:1px;
-    padding-left:1px;
-}
-QDialog#SendCoinsDialog QComboBox QAbstractItemView::item, QDialog#ReceiveCoinsDialog QComboBox QAbstractItemView::item {
-    margin:4px;
-}
-QDialog#SendCoinsDialog QComboBox::item, QDialog#ReceiveCoinsDialog QComboBox::item {
-    color:#fff !important;
-}
-QDialog#SendCoinsDialog QComboBox::item:alternate, QDialog#ReceiveCoinsDialog QComboBox::item:alternate {
-    background:rgb(20, 20, 20);
-}
-QDialog#SendCoinsDialog QComboBox::item:selected, QDialog#ReceiveCoinsDialog QComboBox::item:selected {
-    border:0px solid transparent;
-    background-color:  rgb(40, 40, 40);
-}
-QDialog#SendCoinsDialog QComboBox::indicator, QDialog#ReceiveCoinsDialog QComboBox::indicator {
-    background-color:transparent;
-    selection-background-color:transparent;
-    color:transparent;
-    selection-color:transparent;
-}
-
 /* ScrollBar */
 QScrollBar:vertical {
     background-color: #191919;
@@ -262,7 +228,6 @@ QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
 QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
     background: none;
 }
-
 /* GLOBAL SPINBOX */
 QAbstractSpinBox {
     border-radius: 20px;
@@ -305,16 +270,15 @@ QAbstractSpinBox::down-button {
 QAbstractSpinBox::down-arrow {
     image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
 }
-
-
 /* GLOBAL TABLES*/
 QHeaderView { /* Top of the table Header */
     background-color: #0F0F0F;
 }
 QHeaderView::section { /* Top of the table Header Sections */
-    background-color: rgba(40, 40, 40, 0.3);
+    background-color: #0F0F0F;
     color:#fff;
     min-height:25px;
+    height:40px;
     font-weight:bold;
     font-size:11px;
     outline:0;
@@ -325,6 +289,18 @@ QHeaderView::section { /* Top of the table Header Sections */
     padding-top:2px;
     padding-bottom:2px;
 }
+QHeaderView::down-arrow{
+    image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    width: 13px;
+    height: 13px;
+    margin-right: 5px;
+}
+QHeaderView::up-arrow{
+    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    width: 13px;
+    height: 13px;
+    margin-right: 5px;
+}
 QScrollArea {
     background:transparent;
     border:2px solid transparent;
@@ -345,8 +321,6 @@ QTableView::item:selected { /* Table Item Selected */
 QTableWidget{
     background-color: rgba(40, 40, 40, 0.3);
 }
-
-
 /* ToolBar Menu */
 QToolBar {
     background-color: #000000;
@@ -373,7 +347,6 @@ QToolBar > QToolButton:checked {
     background-color: rgba(255,0,0,0.6);
     border:1px green !important;
 }
-
 /* Global Button styles*/
 QPushButton {
     background: transparent;
@@ -430,7 +403,8 @@ QPushButton:pressed {
     background: #F4EA13;
     color: rgb(5,5,5);
     border-radius: 35px;
-    height: 70px;
+    min-height:70px !important;
+    height: 70px !important;
     width: 280px;
     font-style: normal;
     font-family: 'Volte Rounded', sans-serif;
@@ -445,31 +419,11 @@ QCheckBox {
 QRadioButton {
     color: rgb(255, 255, 255);
 }
-
-
 /* GLOBAL CHECKBOX */
-QCheckBox::indicator:unchecked {
+QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
     image:url(':/images/pac/unchecked_b');
 }
-QCheckBox::indicator:unchecked:hover {
-    image:url(':/images/pac/unchecked_b');
-}
-QCheckBox::indicator:unchecked:pressed {
-    image:url(':/images/pac/unchecked_b');
-}
-QCheckBox::indicator:checked {
-    image:url(':/images/pac/checked_b');
-}
-QCheckBox::indicator:checked:hover {
-    image:url(':/images/pac/checked_b');
-}
-QCheckBox::indicator:checked:pressed {
-    image:url(':/images/pac/checked_b');
-}
-QCheckBox::indicator:indeterminate:hover {
-    image:url(':/images/pac/unchecked_b');
-}
-QCheckBox::indicator:indeterminate:pressed {
+QCheckBox::indicator:checked, QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed, QCheckBox::indicator:indeterminate:pressed {
     image:url(':/images/pac/checked_b');
 }
 QCheckBox::indicator:checked:disabled{
@@ -478,54 +432,98 @@ QCheckBox::indicator:checked:disabled{
 QCheckBox::indicator:unchecked:disabled{
     image:url(':/images/pac/unchecked_b_dis');
 }
-
 /* GLOBAL RADIO BUTTON */
-QRadioButton::indicator:unchecked {
+QRadioButton::indicator:unchecked, QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:checked:pressed, QRadioButton::indicator:indeterminate:hover {
     image:url(':/images/pac/unchecked');
 }
-QRadioButton::indicator:unchecked:hover {
-    image:url(':/images/pac/unchecked');
-}
-QRadioButton::indicator:unchecked:pressed {
+QRadioButton::indicator:unchecked:pressed, QRadioButton::indicator:checked, QRadioButton::indicator:checked:hover , QRadioButton::indicator:indeterminate:pressed {
     image:url(':/images/pac/checked');
 }
-QRadioButton::indicator:checked {
-    image:url(':/images/pac/checked');
+QRadioButton::indicator:checked:disabled{
+    image:url(':/images/pac/checked_dis');
 }
-QRadioButton::indicator:checked:hover {
-    image:url(':/images/pac/checked');
+QRadioButton::indicator:unchecked:disabled{
+    image:url(':/images/pac/unchecked_dis');
 }
-QRadioButton::indicator:checked:pressed {
-    image:url(':/images/pac/unchecked');
+/* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
+BitcoinAmountField QComboBox {
+    border-radius: 20px;
+    background-color: #0A0A0A;
+    font-family: 'Volte Rounded', sans-serif;
+    font-size: 15px;
+    text-align: center;
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    min-height:40px;
+    color:#fff;
 }
-QRadioButton::indicator:indeterminate:hover {
-    image:url(':/images/pac/unchecked');
+/* when the combo box is disabled */
+BitcoinAmountField QComboBox{
+    border-radius: 20px;
+    background-color: rgb(10, 10, 10);
+    font-family: 'Volte Rounded', sans-serif;
+    font-size: 15px;
+    text-align: center;
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    min-height:40px;
+    color:#fff;
 }
-QRadioButton::indicator:indeterminate:pressed {
-    image:url(':/images/pac/checked');
+BitcoinAmountField QComboBox:disabled{
+    background-color: rgb(61,61,61);
+    color: #efefef;
 }
-QRadioButton::indicator:checked:disabled{
-    image:url(':/images/pac/checked_dis');
+BitcoinAmountField QComboBox:checked{
+    background-color: rgba(219, 219, 219,0.5);
 }
-QRadioButton::indicator:unchecked:disabled{
-    image:url(':/images/pac/unchecked_dis');
+BitcoinAmountField QComboBox:editable{
+    background-color: rgba(219, 219, 219,0.5);
+    color:#616161;
+    border:0px;
+}
+BitcoinAmountField QComboBox::drop-down {
+    width:25px;
+    border:0px;
+}
+BitcoinAmountField QComboBox::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+BitcoinAmountField QComboBox QListView{
+    color: #FFF;
+    background-color:  rgb(20, 20, 20);
+    border:1px solid transparent;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+BitcoinAmountField QComboBox QAbstractItemView::item {
+    margin:4px;
+}
+BitcoinAmountField QComboBox::item {
+    color:#fff !important;
+}
+BitcoinAmountField QComboBox::item:alternate{
+    background:rgb(20, 20, 20);
+}
+BitcoinAmountField QComboBox::item:selected{
+    border:0px solid transparent;
+    background-color:  rgb(40, 40, 40);
+}
+BitcoinAmountField QComboBox::indicator {
+    background-color:transparent;
+    selection-background-color:transparent;
+    color:transparent;
+    selection-color:transparent;
 }
-
 /*
  * Overview Page
 */
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
-
-
 /*
  * SendCoins Page
  */
-/*#SendCoinsEntry>QValidatedLineEdit, #SendCoinsEntry>BitcoinAmountField, #payAmount{
-    background:red !important;
-    border: 0px !important;
-}*/
 #frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
     border: 0px !important;
 }
@@ -542,7 +540,6 @@ QRadioButton::indicator:unchecked:disabled{
 #verticalWidget{
     margin-left: 25px !important;
 }
-
 /*
  * ReceiveCoins Page
  */
@@ -556,7 +553,6 @@ QRadioButton::indicator:unchecked:disabled{
     border-bottom: 1px solid #474747;
     border-right: 0px solid transparent;
 }
-
 /*
  * Transactions Page
  */
@@ -567,32 +563,9 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget{
     border:0px;
     min-height: 30px !important;
 }
-QComboBox#watchOnlyWidget, QComboBox#dateWidget, QComboBox#typeWidget {
-    background-color: #0B0B0B;
-    border:0px;
-    padding: 3px 5px 3px 5px;
-    color:#fff;
-    min-height: 24px !important;
-}
-#watchOnlyWidget::down-arrow, #dateWidget::down-arrow, #typeWidget::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
-}
-#watchOnlyWidget::drop-down, #dateWidget::drop-down, #typeWidget::drop-down {
-    width:25px;
-    border:3px red;
-}
-QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#typeWidget QListView {
-    background-color:  rgb(20, 20, 20);
-    border:0px;
-    border-radius: 5px;
-    padding-right:1px;
-    padding-left:1px;
-}
-
 /*
  * Private Page
  */
-
 #framePrivateSend{
     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));
     border: 0px !important;
@@ -620,7 +593,6 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     font-family:"Gotham Medium", sans-serif;
     color: #FDF002;
 }
-
 /* Black button */
 [class="buttonAllBlack"]{
     text-transform:uppercase;
@@ -649,8 +621,6 @@ QComboBox#watchOnlyWidget QListView, QComboBox#dateWidget QListView, QComboBox#t
     background: transparent;
     border: 0px;
 }
-
-
 /*
  * Proposal Page
  */
@@ -694,7 +664,6 @@ MasternodeList > QTabBar::tab{
     border-radius: 12px;
     height: 24px;
 }
-
 /*
  * OptionsDialog
 */
@@ -708,9 +677,3 @@ MasternodeList > QTabBar::tab{
 #OptionsDialog > #resetButton{
     width:200px !important;
 }
-[class="SpinBoxSmall"]{
-    border-radius: 10px !important;
-    font-size: 12px !important;
-    min-width: 40px !important;
-    min-height:20px !important;
-}

From eec29bbee187c3d680824860bd31cc20b4b525de Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Feb 2019 10:46:18 -0600
Subject: [PATCH 083/225] Socket news connected only the half

---
 src/qt/bitcoingui.cpp             | 16 +++++++++++++++-
 src/qt/bitcoingui.h               |  8 ++++++++
 src/qt/overviewpage.cpp           |  2 --
 src/qt/websocketclientwrapper.cpp |  2 ++
 src/qt/websocketclientwrapper.h   |  3 +++
 src/qt/websockettransport.cpp     |  1 +
 src/qt/websockettransport.h       |  5 +++++
 7 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index c36572fe33fc..0a5677d72080 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -35,6 +35,7 @@
 #include "util.h"
 #include "masternode-sync.h"
 #include "masternodelist.h"
+#include "websocketclientwrapper.h"
 
 #include <iostream>
 
@@ -300,11 +301,17 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     connect(labelConnectionsIcon, SIGNAL(clicked(QPoint)), this, SLOT(showPeers()));
 
     modalOverlay = new ModalOverlay(this->centralWidget());
+
+    // Socket connection
+    // WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
+    m_websocketclientwrapper = new WebSocketClientWrapper(QUrl("ws://144.202.121.149"));
+
 #ifdef ENABLE_WALLET
     if(enableWallet) {
         connect(walletFrame, SIGNAL(requestedSyncWarningInfo()), this, SLOT(showModalOverlay()));
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
+        connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_object(QString)));
     }
 #endif
 }
@@ -703,7 +710,7 @@ void BitcoinGUI::createHeaderBar()
     /** Creating the profile image widget */
     headerFrame = new QFrame;
     QHBoxLayout *headerFrameLayout = new QHBoxLayout(this);
-    QLabel *messageLabel = new QLabel(this);
+    messageLabel = new QLabel(this);
     QFrame *frameImg = new QFrame;
     QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
     btnImg = new QPushButton;
@@ -1773,3 +1780,10 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
         optionsModel->setDisplayUnit(action->data());
     }
 }
+
+void BitcoinGUI::receive_from_object(QString message)
+{
+    messageLabel->setText(message);
+    //messageLabel->setText(message);
+    //ui->lineEdit->setText("true");
+}
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 166b6b9b2c36..b15fc980b005 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -10,6 +10,7 @@
 #endif
 
 #include "amount.h"
+#include "websocketclientwrapper.h"
 
 #include <QLabel>
 #include <QMainWindow>
@@ -141,6 +142,10 @@ class BitcoinGUI : public QMainWindow
 
     QFrame *headerFrame;
     QPushButton *btnImg;
+    QLabel *messageLabel;
+
+    //WebSocketTransport m_websockettransport;
+    WebSocketClientWrapper *m_websocketclientwrapper;
 
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
@@ -241,6 +246,9 @@ private Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
+    /** Receive the news from the web socket */
+    void receive_from_object(QString data);
+
     /** Show open dialog */
     void openClicked();
 #endif // ENABLE_WALLET
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 81d521bbf80c..4c04c19f5ccc 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -166,8 +166,6 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     // start with displaying the "out of sync" warnings
     showOutOfSyncWarning(true);
     
-    //Socket connection
-    //WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
diff --git a/src/qt/websocketclientwrapper.cpp b/src/qt/websocketclientwrapper.cpp
index 3b628d63997f..c4261a15ab40 100644
--- a/src/qt/websocketclientwrapper.cpp
+++ b/src/qt/websocketclientwrapper.cpp
@@ -27,4 +27,6 @@ void WebSocketClientWrapper::handleNewConnection()
     qWarning() << "WebSocket connected: " << m_url;
     Q_EMIT clientConnected(new WebSocketTransport(&m_webSocket));
     cout << "AfterConnecting" << endl;
+
+    Q_EMIT transmit_to_gui("messageDataaaaaaa");
 }
diff --git a/src/qt/websocketclientwrapper.h b/src/qt/websocketclientwrapper.h
index 0fe77cf4e8de..bf59cae095eb 100644
--- a/src/qt/websocketclientwrapper.h
+++ b/src/qt/websocketclientwrapper.h
@@ -1,6 +1,8 @@
 #ifndef WEBSOCKETCLIENTWRAPPER_H
 #define WEBSOCKETCLIENTWRAPPER_H
 
+//#include "bitcoingui.h"
+
 #include <QObject>
 #include <QtWebSockets/QWebSocket>
 
@@ -17,6 +19,7 @@ class WebSocketClientWrapper : public QObject
 
 Q_SIGNALS:
     void clientConnected(WebSocketTransport* client);
+    void transmit_to_gui(QString message);
 
 private Q_SLOTS:
     void handleNewConnection();
diff --git a/src/qt/websockettransport.cpp b/src/qt/websockettransport.cpp
index a276df1e09cd..99404c0cec60 100644
--- a/src/qt/websockettransport.cpp
+++ b/src/qt/websockettransport.cpp
@@ -38,4 +38,5 @@ void WebSocketTransport::textMessageReceived(const QString &messageData)
     cout << messageData.toStdString() << endl;
     qDebug() << messageData;
     cout << "Message out..." << endl;
+    //emit transmit_to_gui(messageData);
 }
diff --git a/src/qt/websockettransport.h b/src/qt/websockettransport.h
index 40792ee426b9..87d7dcc24935 100644
--- a/src/qt/websockettransport.h
+++ b/src/qt/websockettransport.h
@@ -1,6 +1,8 @@
 #ifndef WEBSOCKETTRANSPORT_H
 #define WEBSOCKETTRANSPORT_H
 
+//#include "bitcoingui.h"
+
 #include <QtWebChannel/QWebChannelAbstractTransport>
 #include <QtWebSockets/QWebSocket>
 
@@ -15,6 +17,9 @@ class WebSocketTransport : public QWebChannelAbstractTransport
 
     void sendMessage(const QJsonObject &message) Q_DECL_OVERRIDE;
 
+//Q_SIGNALS:
+//	void transmit_to_gui(QString message);
+
 private Q_SLOTS:
     void textMessageReceived(const QString &message);
 

From abf51663fa5802f461192e8338bad4f5efe87cfd Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Feb 2019 12:09:45 -0600
Subject: [PATCH 084/225] Socket news working

---
 src/qt/bitcoingui.cpp             |  4 ++--
 src/qt/bitcoingui.h               |  2 +-
 src/qt/websocketclientwrapper.cpp | 11 ++++++++---
 src/qt/websocketclientwrapper.h   |  5 ++++-
 src/qt/websockettransport.cpp     |  2 ++
 src/qt/websockettransport.h       |  4 ++--
 6 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 0a5677d72080..b6729c684530 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -311,7 +311,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(walletFrame, SIGNAL(requestedSyncWarningInfo()), this, SLOT(showModalOverlay()));
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
-        connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_object(QString)));
+        connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_wrapper(QString)));
     }
 #endif
 }
@@ -1781,7 +1781,7 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     }
 }
 
-void BitcoinGUI::receive_from_object(QString message)
+void BitcoinGUI::receive_from_wrapper(QString message)
 {
     messageLabel->setText(message);
     //messageLabel->setText(message);
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index b15fc980b005..2b47c746142e 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -247,7 +247,7 @@ private Q_SLOTS:
     void gotoVerifyMessageTab(QString addr = "");
 
     /** Receive the news from the web socket */
-    void receive_from_object(QString data);
+    void receive_from_wrapper(QString data);
 
     /** Show open dialog */
     void openClicked();
diff --git a/src/qt/websocketclientwrapper.cpp b/src/qt/websocketclientwrapper.cpp
index c4261a15ab40..1a09e5084c09 100644
--- a/src/qt/websocketclientwrapper.cpp
+++ b/src/qt/websocketclientwrapper.cpp
@@ -25,8 +25,13 @@ void WebSocketClientWrapper::handleNewConnection()
 {
     cout << "BeforeConnecting" << endl;
     qWarning() << "WebSocket connected: " << m_url;
-    Q_EMIT clientConnected(new WebSocketTransport(&m_webSocket));
+    m_websockettransport = new WebSocketTransport(&m_webSocket);
+    connect(m_websockettransport,SIGNAL(transmit_to_wrapper(QString)),this,SLOT(receive_from_transport(QString)));
+    Q_EMIT clientConnected(m_websockettransport);
     cout << "AfterConnecting" << endl;
-
-    Q_EMIT transmit_to_gui("messageDataaaaaaa");
 }
+
+void WebSocketClientWrapper::receive_from_transport(QString message)
+{
+    Q_EMIT transmit_to_gui(message);
+}
\ No newline at end of file
diff --git a/src/qt/websocketclientwrapper.h b/src/qt/websocketclientwrapper.h
index bf59cae095eb..866707b2a222 100644
--- a/src/qt/websocketclientwrapper.h
+++ b/src/qt/websocketclientwrapper.h
@@ -1,7 +1,7 @@
 #ifndef WEBSOCKETCLIENTWRAPPER_H
 #define WEBSOCKETCLIENTWRAPPER_H
 
-//#include "bitcoingui.h"
+#include "websockettransport.h"
 
 #include <QObject>
 #include <QtWebSockets/QWebSocket>
@@ -23,10 +23,13 @@ class WebSocketClientWrapper : public QObject
 
 private Q_SLOTS:
     void handleNewConnection();
+    /** Receive the news from the web socket */
+    void receive_from_transport(QString data);
 
 private:
     QUrl m_url;
     QWebSocket m_webSocket;
+    WebSocketTransport *m_websockettransport;
 };
 
 QT_END_NAMESPACE
diff --git a/src/qt/websockettransport.cpp b/src/qt/websockettransport.cpp
index 99404c0cec60..beb7a74babba 100644
--- a/src/qt/websockettransport.cpp
+++ b/src/qt/websockettransport.cpp
@@ -39,4 +39,6 @@ void WebSocketTransport::textMessageReceived(const QString &messageData)
     qDebug() << messageData;
     cout << "Message out..." << endl;
     //emit transmit_to_gui(messageData);
+
+    Q_EMIT transmit_to_wrapper(messageData);
 }
diff --git a/src/qt/websockettransport.h b/src/qt/websockettransport.h
index 87d7dcc24935..1e6cca86ee55 100644
--- a/src/qt/websockettransport.h
+++ b/src/qt/websockettransport.h
@@ -17,8 +17,8 @@ class WebSocketTransport : public QWebChannelAbstractTransport
 
     void sendMessage(const QJsonObject &message) Q_DECL_OVERRIDE;
 
-//Q_SIGNALS:
-//	void transmit_to_gui(QString message);
+Q_SIGNALS:
+	void transmit_to_wrapper(QString message);
 
 private Q_SLOTS:
     void textMessageReceived(const QString &message);

From 4fed509f79b8e05c7f130405bcb1ad9051b18c8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 7 Feb 2019 09:49:30 -0600
Subject: [PATCH 085/225] Replaced icon editpaste

---
 src/qt/res/icons/pac/editpaste.png | Bin 343 -> 2433 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/qt/res/icons/pac/editpaste.png b/src/qt/res/icons/pac/editpaste.png
index 9668753ce8b517f4d2d026384049bc6e08837ea8..17d9036954ef14edf1d3b98d935f83a06f3bd012 100644
GIT binary patch

From f4ea519b528161fc0b7a0bfb44c9efe5776d0a14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 7 Feb 2019 10:06:44 -0600
Subject: [PATCH 086/225] css header table

---
 src/qt/res/css/pac.css | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 2c0fda01ca64..6b25a893a5b6 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -277,8 +277,8 @@ QHeaderView { /* Top of the table Header */
 QHeaderView::section { /* Top of the table Header Sections */
     background-color: #0F0F0F;
     color:#fff;
-    min-height:25px;
-    height:40px;
+    min-height:20px;
+    height:35px;
     font-weight:bold;
     font-size:11px;
     outline:0;
@@ -550,9 +550,14 @@ BitcoinAmountField QComboBox::indicator {
     color: #FF1D1D;
 }
 #recentRequestsView QHeaderView::section{
-    border-bottom: 1px solid #474747;
-    border-right: 0px solid transparent;
+    text-transform:uppercase;
+    height:20px !important;
+    border-bottom: 1px solid #707070 !important;
+    border-right: 0px solid transparent !important;
+    background: transparent !important;
+    color: #8E8E8E !important;
 }
+
 /*
  * Transactions Page
  */

From b6d58f16fb4f387ded4d9a02d0451b1cddab2e86 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Feb 2019 12:39:17 -0600
Subject: [PATCH 087/225] Getting the PAC USD value

---
 src/qt/bitcoingui.cpp   | 39 ++++++++++++++++++++++++++++++++++++---
 src/qt/bitcoingui.h     |  1 -
 src/qt/overviewpage.cpp |  1 -
 src/qt/overviewpage.h   |  2 ++
 4 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index b6729c684530..983e2abc5e44 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -66,6 +66,9 @@
 #include <QFileDialog>
 #include <QProxyStyle>
 #include <QPainter>
+#include <QJsonDocument>
+#include <QJsonObject>
+#include <QJsonValue>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -1781,9 +1784,39 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     }
 }
 
+/** Setss the message for the news and the value of the PAC to USD */
 void BitcoinGUI::receive_from_wrapper(QString message)
 {
-    messageLabel->setText(message);
-    //messageLabel->setText(message);
-    //ui->lineEdit->setText("true");
+    QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8());
+    if(!doc.isNull())
+    {
+        if(doc.isObject())
+        {
+            QJsonObject ob = doc.object();
+            if(ob.isEmpty())
+            {
+                messageLabel->setText("There's an issue getting the latest news.");
+            }
+            else
+            {
+                if (ob.contains("message"))
+                {
+                    messageLabel->setText(ob["message"].toString());
+                    
+                }
+                else
+                {
+                    messageLabel->setText("There's an issue getting the latest news.");
+                }
+            }
+        }
+        else
+        {
+            messageLabel->setText("There's an issue getting the latest news.");
+        }
+    }
+    else
+    {
+        messageLabel->setText("There's an issue getting the latest news.");
+    }
 }
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 2b47c746142e..04c40b1e4d75 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -144,7 +144,6 @@ class BitcoinGUI : public QMainWindow
     QPushButton *btnImg;
     QLabel *messageLabel;
 
-    //WebSocketTransport m_websockettransport;
     WebSocketClientWrapper *m_websocketclientwrapper;
 
     /** Keep track of previous number of blocks, to detect progress */
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 4c04c19f5ccc..198ed45dd015 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -29,7 +29,6 @@
 
 #include "qwebchannel.h"
 #include <QCoreApplication>
-#include "websocketclientwrapper.h"
 
 #include <string>
 #include <iostream>
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 65ab4fae9a57..ca5d52394e8a 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -64,6 +64,8 @@ public Q_SLOTS:
     std::unique_ptr<TransactionFilterProxy> filter;
 
     void SetupTransactionList(int nNumItems);
+    void getadata();
+    void myFunction();
 
 private Q_SLOTS:
     void updateDisplayUnit();

From d2353d66a4b654c580d50281019be8749d504a2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Sun, 10 Feb 2019 22:35:13 -0600
Subject: [PATCH 088/225] QRC header file fix

---
 src/qt/paccoin.qrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 2588e840697f..89fe1a837618 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -1,4 +1,4 @@
-<RCC>
+<!DOCTYPE RCC><RCC version="1.0">
     <qresource prefix="/icons">
         <file alias="bitcoin">res/icons/bitcoin.png</file>
         <file alias="prompticon">res/icons/chevron.png</file>

From 108e7cce76a1552e886ff32190a06dc1eae996b3 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Sun, 10 Feb 2019 23:22:27 -0600
Subject: [PATCH 089/225] Overview message info and PAC value send to the
 wallet frame

---
 src/qt/bitcoingui.cpp    |  4 ++--
 src/qt/bitcoingui.h      |  3 +++
 src/qt/utilitydialog.cpp | 12 ++++++++++--
 src/qt/walletframe.cpp   |  5 +++++
 src/qt/walletframe.h     |  5 +++++
 5 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 983e2abc5e44..cc6741e64c99 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -306,7 +306,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     modalOverlay = new ModalOverlay(this->centralWidget());
 
     // Socket connection
-    // WebSocketClientWrapper clientWrapper(QUrl("ws://144.202.121.149"));
     m_websocketclientwrapper = new WebSocketClientWrapper(QUrl("ws://144.202.121.149"));
 
 #ifdef ENABLE_WALLET
@@ -315,6 +314,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_wrapper(QString)));
+        connect(this,SIGNAL(transmit_to_walletframe(QString)), walletFrame, SLOT(receive_from_bitcoingui(QString)));
     }
 #endif
 }
@@ -1802,7 +1802,7 @@ void BitcoinGUI::receive_from_wrapper(QString message)
                 if (ob.contains("message"))
                 {
                     messageLabel->setText(ob["message"].toString());
-                    
+                    Q_EMIT transmit_to_walletframe("messageDataaaaaaa");
                 }
                 else
                 {
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 04c40b1e4d75..ce96a4ce7ea9 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -182,6 +182,9 @@ class BitcoinGUI : public QMainWindow
     void receivedURI(const QString &uri);
     /** Restart handling */
     void requestedRestart(QStringList args);
+    
+    /** Send PAC value to the walletframe */
+    void transmit_to_walletframe(QString pacValue);
 
 public Q_SLOTS:
     /** Set number of connections shown in the UI */
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 36715e267d4c..704c5f86a518 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -169,8 +169,16 @@ Consequently, users who have backups disabled will also have PrivatePAC disabled
         ui->aboutMessage->setTextFormat(Qt::RichText);
         ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
         ui->aboutMessage->setText(tr("\
-<h3>PAC Basics</h3> \
-Ask for the information on this window"));
+<h3>PAC Overview</h3> \
+PAC is a digital currency that enables anonymous, instant payments to anyone, anywhere in the world. \
+PAC uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. \
+PAC is the name of the open source software which enables the use of this currency.<hr><br> \
+On the left side of this window you can watch your balance, the available balance is the balance you can spend and do use of while the pending balance \
+first need to be confirme by the network, this means that it is yours but first to avoid securit issues it is need to be confirmed, and at the bottom is the total \
+(the sum of the available and pending). <br><br> \
+On the right side you can see all of your transactions, the coins you send, receive or get rewarded, if you click on one of them it will redirect you to \
+see all of the information of the transaction. <br> \
+For more information see https://wallets.paccoin.net/."));
         
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index cf08db81a0ad..90dfdec56414 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -228,3 +228,8 @@ void WalletFrame::outOfSyncWarningClicked()
 {
     Q_EMIT requestedSyncWarningInfo();
 }
+
+void WalletFrame::receive_from_bitcoingui(QString data)
+{
+    // QEMIT next step
+}
\ No newline at end of file
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index 64a6fafb8ad8..bdd1b1eb65b9 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -8,6 +8,8 @@
 #include <QFrame>
 #include <QMap>
 
+#include "bitcoingui.h"
+
 class BitcoinGUI;
 class ClientModel;
 class PlatformStyle;
@@ -92,6 +94,9 @@ public Q_SLOTS:
     void usedReceivingAddresses();
     /** Pass on signal over requested out-of-sync-warning information */
     void outOfSyncWarningClicked();
+
+    /** Gets the value of the PAC from bitcoingui */
+    void receive_from_bitcoingui(QString data);
 };
 
 #endif // BITCOIN_QT_WALLETFRAME_H

From 7cd0cfadd08bde18420c432865984fcfa58e0d3b Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 00:59:21 -0600
Subject: [PATCH 090/225] PAC value send to walletview

---
 src/qt/walletframe.cpp | 3 ++-
 src/qt/walletframe.h   | 1 +
 src/qt/walletview.cpp  | 6 ++++++
 src/qt/walletview.h    | 4 ++++
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index 90dfdec56414..c22ed1feb812 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -58,6 +58,7 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
     connect(walletView, SIGNAL(showNormalIfMinimized()), gui, SLOT(showNormalIfMinimized()));
 
     connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
+    connect(this,SIGNAL(transmit_to_walletview(QString)), walletView, SLOT(receive_from_walletframe(QString)));
 
     return true;
 }
@@ -231,5 +232,5 @@ void WalletFrame::outOfSyncWarningClicked()
 
 void WalletFrame::receive_from_bitcoingui(QString data)
 {
-    // QEMIT next step
+    Q_EMIT transmit_to_walletview(data);
 }
\ No newline at end of file
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index bdd1b1eb65b9..a2daad90a6a8 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -43,6 +43,7 @@ class WalletFrame : public QFrame
 Q_SIGNALS:
     /** Notify that the user has requested more information about the out-of-sync warning */
     void requestedSyncWarningInfo();
+    void transmit_to_walletview(QString message);
 
 private:
     QStackedWidget *walletStack;
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index b418abdc829c..104a9b71a888 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -20,6 +20,7 @@
 #include "transactionview.h"
 #include "walletmodel.h"
 #include "privatepage.h"
+#include "walletframe.h"
 
 #include "ui_interface.h"
 
@@ -412,3 +413,8 @@ void WalletView::trxAmount(QString amount)
 {
     transactionSum->setText(amount);
 }
+
+void WalletView::receive_from_walletframe(QString data)
+{
+    // QEMIT next step
+}
diff --git a/src/qt/walletview.h b/src/qt/walletview.h
index 2813cd6e2424..b44a0282adcd 100644
--- a/src/qt/walletview.h
+++ b/src/qt/walletview.h
@@ -8,6 +8,7 @@
 #include "amount.h"
 #include "masternodelist.h"
 #include "proposallist.h"
+#include "walletframe.h"
 
 #include <QStackedWidget>
 
@@ -98,6 +99,9 @@ public Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
+    /** Gets the value of the PAC from walletframe */
+    void receive_from_walletframe(QString data);
+
     /** Show incoming transaction notification for new transactions.
 
         The new items are those between start and end inclusive, under the given parent item.

From 4d8b197c3c9492a08041b3ffbc767f97fd85fcf6 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 10:45:20 -0600
Subject: [PATCH 091/225] UI Fixes for small screens (send and receive page)

---
 src/qt/forms/receivecoinsdialog.ui |  4 +-
 src/qt/forms/sendcoinsdialog.ui    | 89 ++++++------------------------
 src/qt/overviewpage.cpp            | 10 +++-
 src/qt/overviewpage.h              |  2 +
 src/qt/res/css/pac.css             |  4 +-
 src/qt/walletframe.h               |  1 +
 src/qt/walletview.cpp              |  6 +-
 src/qt/walletview.h                |  2 +
 8 files changed, 40 insertions(+), 78 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 05186aa528b0..9624bfb67da6 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -563,7 +563,7 @@
              <property name="minimumSize">
               <size>
                <width>0</width>
-               <height>70</height>
+               <height>50</height>
               </size>
              </property>
              <property name="text">
@@ -594,7 +594,7 @@
            <property name="minimumSize">
             <size>
              <width>0</width>
-             <height>50</height>
+             <height>30</height>
             </size>
            </property>
            <property name="text">
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 90fcaff9b16f..a7bbc17d76c0 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -52,13 +52,13 @@
          <number>50</number>
         </property>
         <property name="topMargin">
-         <number>30</number>
+         <number>25</number>
         </property>
         <property name="rightMargin">
          <number>50</number>
         </property>
         <property name="bottomMargin">
-         <number>50</number>
+         <number>30</number>
         </property>
         <item>
          <widget class="QFrame" name="frameCoinControl">
@@ -634,7 +634,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>70</height>
+             <height>186</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -672,12 +672,12 @@
                <enum>Qt::Vertical</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>20</width>
-                <height>40</height>
+                <height>150</height>
                </size>
               </property>
              </spacer>
@@ -760,73 +760,18 @@
         </item>
         <item>
          <layout class="QVBoxLayout" name="verticalLayout_4">
-          <item>
-           <spacer name="verticalSpacer_10">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>10</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item>
-           <widget class="QLabel" name="label_5">
-            <property name="text">
-             <string>Comments</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-            <property name="class" stdset="0">
-             <string>titleLabel</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="verticalSpacer_2">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>10</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item>
-           <widget class="QLineEdit" name="lineComment">
-            <property name="placeholderText">
-             <string>Add a comment to the payment</string>
-            </property>
-            <property name="class" stdset="0">
-             <string>LineEdit</string>
-            </property>
-           </widget>
-          </item>
           <item>
            <spacer name="verticalSpacer_3">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
+             <enum>QSizePolicy::Preferred</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
               <width>20</width>
-              <height>10</height>
+              <height>5</height>
              </size>
             </property>
            </spacer>
@@ -843,7 +788,7 @@
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>170</width>
+                <width>200</width>
                 <height>20</height>
                </size>
               </property>
@@ -880,12 +825,12 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
+             <enum>QSizePolicy::Preferred</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
               <width>20</width>
-              <height>10</height>
+              <height>5</height>
              </size>
             </property>
            </spacer>
@@ -906,12 +851,12 @@
              <enum>Qt::Vertical</enum>
             </property>
             <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
+             <enum>QSizePolicy::Preferred</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
               <width>20</width>
-              <height>10</height>
+              <height>5</height>
              </size>
             </property>
            </spacer>
@@ -970,13 +915,13 @@
          <number>25</number>
         </property>
         <property name="topMargin">
-         <number>30</number>
+         <number>25</number>
         </property>
         <property name="rightMargin">
          <number>9</number>
         </property>
         <property name="bottomMargin">
-         <number>50</number>
+         <number>30</number>
         </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
@@ -1037,7 +982,7 @@
               <property name="minimumSize">
                <size>
                 <width>0</width>
-                <height>70</height>
+                <height>50</height>
                </size>
               </property>
               <property name="text">
@@ -1243,7 +1188,7 @@
             <property name="minimumSize">
              <size>
               <width>0</width>
-              <height>50</height>
+              <height>30</height>
              </size>
             </property>
             <property name="text">
@@ -1342,7 +1287,7 @@
             <widget class="QWidget" name="scrollAreaWidgetContents_3">
              <property name="geometry">
               <rect>
-               <x>0</x>
+               <x>-95</x>
                <y>0</y>
                <width>293</width>
                <height>484</height>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 198ed45dd015..2485ca9016fc 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -17,6 +17,7 @@
 #include "transactiontablemodel.h"
 #include "utilitydialog.h"
 #include "walletmodel.h"
+#include "walletview.h"
 
 #include "instantx.h"
 #include "darksendconfig.h"
@@ -164,7 +165,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
 
     // start with displaying the "out of sync" warnings
     showOutOfSyncWarning(true);
-    
+
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
@@ -333,3 +334,10 @@ void OverviewPage::on_overviewInfo_clicked()
     HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
     dlg.exec();
 }
+
+void OverviewPage::receive_from_walletview(QString data)
+{
+    //ui->labelBalanceUSD->setText(data);
+
+    ui->labelBalanceUSD->setText("TEST");
+}
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index ca5d52394e8a..558201c5bc08 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -6,6 +6,7 @@
 #define BITCOIN_QT_OVERVIEWPAGE_H
 
 #include "amount.h"
+#include "walletview.h"
 
 #include <QWidget>
 #include <memory>
@@ -75,6 +76,7 @@ private Q_SLOTS:
     void updateWatchOnlyLabels(bool showWatchOnly);
     void handleOutOfSyncWarningClicks();
     void on_overviewInfo_clicked();
+    void receive_from_walletview(QString data);
 };
 
 #endif // BITCOIN_QT_OVERVIEWPAGE_H
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 6b25a893a5b6..e5eea36295af 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -402,8 +402,8 @@ QPushButton:pressed {
     border: none;
     background: #F4EA13;
     color: rgb(5,5,5);
-    border-radius: 35px;
-    min-height:70px !important;
+    border-radius: 30px;
+    min-height:60px !important;
     height: 70px !important;
     width: 280px;
     font-style: normal;
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index a2daad90a6a8..d1051af21018 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -43,6 +43,7 @@ class WalletFrame : public QFrame
 Q_SIGNALS:
     /** Notify that the user has requested more information about the out-of-sync warning */
     void requestedSyncWarningInfo();
+    /** Transmit to walletview the PAC value */
     void transmit_to_walletview(QString message);
 
 private:
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 104a9b71a888..87fbd85217ad 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -120,6 +120,9 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
 
     // Pass through messages from transactionView
     connect(transactionView, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int)));
+
+    // Sends the value of the PAC to the overviewPage
+    connect(this,SIGNAL(transmit_to_overview(QString)), overviewPage, SLOT(receive_from_walletview(QString)));
 }
 
 WalletView::~WalletView()
@@ -416,5 +419,6 @@ void WalletView::trxAmount(QString amount)
 
 void WalletView::receive_from_walletframe(QString data)
 {
-    // QEMIT next step
+    overviewPage->setStyleSheet("background: red;");
+    Q_EMIT transmit_to_overview(data);
 }
diff --git a/src/qt/walletview.h b/src/qt/walletview.h
index b44a0282adcd..b0447d210e95 100644
--- a/src/qt/walletview.h
+++ b/src/qt/walletview.h
@@ -148,6 +148,8 @@ public Q_SLOTS:
     void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label);
     /** Notify that the out of sync warning icon has been pressed */
     void outOfSyncWarningClicked();
+    /** Send PAC value to overviewPage */
+    void transmit_to_overview(QString message);
 };
 
 #endif // BITCOIN_QT_WALLETVIEW_H

From 36d27f8d93f0956c8ce5e0741e54f39547567bd0 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 11:40:20 -0600
Subject: [PATCH 092/225] Unused code

---
 depends/packages/qt.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index a9731dfd2daa..84526d36fdfa 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -7,7 +7,7 @@ $(package)_sha256_hash=7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a
 $(package)_dependencies=openssl
 $(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext
 $(package)_build_subdir=qtbase
-$(package)_qt_libs=corelib network widgets gui plugins testlib webchannel websockets
+$(package)_qt_libs=corelib network widgets gui plugins testlib
 $(package)_patches=mac-qmake.conf fix-xcb-include-order.patch mingw-uuidof.patch pidlist_absolute.patch
 
 $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)

From 91e437cc427a84eb166c1036e7210730017de5ff Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 11:59:32 -0600
Subject: [PATCH 093/225] PAC value using QSettings

---
 src/qt/bitcoingui.cpp   | 4 +++-
 src/qt/overviewpage.cpp | 2 ++
 src/qt/walletframe.cpp  | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index cc6741e64c99..394f8115c78f 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -1802,7 +1802,9 @@ void BitcoinGUI::receive_from_wrapper(QString message)
                 if (ob.contains("message"))
                 {
                     messageLabel->setText(ob["message"].toString());
-                    Q_EMIT transmit_to_walletframe("messageDataaaaaaa");
+                    QSettings settings;
+                    settings.setValue("PACvalue",ob["pacusd"].toString());
+                    settings.sync();
                 }
                 else
                 {
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 2485ca9016fc..e692e4aa2516 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -291,6 +291,8 @@ void OverviewPage::updateDisplayUnit()
 
         ui->listTransactions->update();
     }
+    QSettings settings;
+    ui->labelBalanceUSD->setText(settings.value("PACvalue").toString() + "" + currentBalance);
 }
 
 void OverviewPage::updateAlerts(const QString &warnings)
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index c22ed1feb812..30903182bed5 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -59,7 +59,7 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
 
     connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
     connect(this,SIGNAL(transmit_to_walletview(QString)), walletView, SLOT(receive_from_walletframe(QString)));
-
+    
     return true;
 }
 

From 6326b216360c35a0948168bd71f926adc09f41bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 11 Feb 2019 12:00:41 -0600
Subject: [PATCH 094/225] QRCode implementation and restyle

---
 src/qt/bitcoingui.cpp              |   2 +-
 src/qt/forms/receivecoinsdialog.ui |  77 +++++++--------
 src/qt/receivecoinsdialog.cpp      | 149 ++++++++++++++++++++++-------
 src/qt/receivecoinsdialog.h        |   8 +-
 4 files changed, 155 insertions(+), 81 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 983e2abc5e44..529691a9c6df 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -764,7 +764,7 @@ void BitcoinGUI::createHeaderBar()
 
     QPixmap target(80, 80);
     target.fill(Qt::transparent);
-    QPixmap pixmap = QPixmap::fromImage( QImage(strImgValue).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
+    QPixmap pixmap = QPixmap::fromImage( QImage(strImgValue).scaled(80,80,Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
     QPainter painter(&target);
     painter.setRenderHint(QPainter::Antialiasing);
     painter.setRenderHint(QPainter::Antialiasing, true);
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 05186aa528b0..892ad9f6ef99 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -61,40 +61,6 @@
          <property name="bottomMargin">
           <number>20</number>
          </property>
-         <item row="4" column="0">
-          <widget class="QTableView" name="recentRequestsView">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>0</width>
-             <height>80</height>
-            </size>
-           </property>
-           <property name="maximumSize">
-            <size>
-             <width>16777215</width>
-             <height>200</height>
-            </size>
-           </property>
-           <property name="contextMenuPolicy">
-            <enum>Qt::CustomContextMenu</enum>
-           </property>
-           <property name="styleSheet">
-            <string notr="true"/>
-           </property>
-           <property name="tabKeyNavigation">
-            <bool>false</bool>
-           </property>
-           <property name="sortingEnabled">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
          <item row="2" column="0">
           <layout class="QHBoxLayout" name="horizontalLayout_2">
            <item>
@@ -179,6 +145,40 @@
            </item>
           </layout>
          </item>
+         <item row="4" column="0">
+          <widget class="QTableView" name="recentRequestsView">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>80</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>16777215</width>
+             <height>200</height>
+            </size>
+           </property>
+           <property name="contextMenuPolicy">
+            <enum>Qt::CustomContextMenu</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
+           <property name="tabKeyNavigation">
+            <bool>false</bool>
+           </property>
+           <property name="sortingEnabled">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
          <item row="1" column="0">
           <widget class="QFrame" name="verticalFrame">
            <property name="maximumSize">
@@ -622,13 +622,8 @@
           </spacer>
          </item>
          <item>
-          <widget class="QLabel" name="lblQRCode">
-           <property name="text">
-            <string>QRCODE</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignCenter</set>
-           </property>
+          <widget class="QFrame" name="">
+           <layout class="QHBoxLayout" name="qrLayoutContainer"/>
           </widget>
          </item>
          <item>
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 0bc223ba853e..79cd9c4be1cf 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -14,6 +14,8 @@
 #include "receiverequestdialog.h"
 #include "recentrequeststablemodel.h"
 #include "walletmodel.h"
+#include "receiverequestdialog.h"
+#include "guiconstants.h"
 
 #include <QAction>
 #include <QCursor>
@@ -22,6 +24,28 @@
 #include <QScrollBar>
 #include <QTextDocument>
 
+#include <QClipboard>
+#include <QDrag>
+#include <QMenu>
+#include <QMimeData>
+#include <QMouseEvent>
+#include <QPixmap>
+#include <QDebug>
+#include <QPainter>
+
+
+#if QT_VERSION < 0x050000
+#include <QUrl>
+#endif
+
+#if defined(HAVE_CONFIG_H)
+#include "config/paccoin-config.h" /* for USE_QRCODE */
+#endif
+
+#ifdef USE_QRCODE
+#include <qrencode.h>
+#endif
+
 ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent) :
     QDialog(parent),
     ui(new Ui::ReceiveCoinsDialog),
@@ -31,7 +55,16 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
-    
+
+    lblQRCode = new QRImageWidget;
+    lblQRCode->setAlignment(Qt::AlignCenter);
+    lblQRCode->setContentsMargins(0,0,0,0);
+    lblQRCode->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+
+    ui->qrLayoutContainer->setAlignment(Qt::AlignCenter);
+    ui->qrLayoutContainer->setContentsMargins(0,0,0,0);
+    ui->qrLayoutContainer->addWidget(lblQRCode);
+
     if (!platformStyle->getImagesOnButtons()) {
         ui->clearButton->setIcon(QIcon());
         ui->receiveButton->setIcon(QIcon());
@@ -109,7 +142,84 @@ ReceiveCoinsDialog::~ReceiveCoinsDialog()
 {
     delete ui;
 }
+void ReceiveCoinsDialog::generateQRCode()
+{
+    if(!model || !model->getOptionsModel() || !model->getAddressTableModel() || !model->getRecentRequestsTableModel())
+        return;
+    QString address;
+    QString label = ui->reqLabel->text();
+    if(ui->reuseAddress->isChecked())
+    {
+        /* Choose existing receiving address */
+        AddressBookPage dlg(platformStyle, AddressBookPage::ForSelection, AddressBookPage::ReceivingTab, this);
+        dlg.setModel(model->getAddressTableModel());
+        if(dlg.exec())
+        {
+            address = dlg.getReturnValue();
+            if(label.isEmpty()) /* If no label provided, use the previously used label */
+            {
+                label = model->getAddressTableModel()->labelForAddress(address);
+            }
+        } else {
+            return;
+        }
+    } else {
+        /* Generate new receiving address */
+        address = model->getAddressTableModel()->addRow(AddressTableModel::Receive, label, "");
+    }
+    SendCoinsRecipient info(address, label, ui->reqAmount->value(), ui->reqMessage->text());
+    info.fUseInstantSend = ui->checkUseInstantSend->isChecked();
+    clear();
+    /* Store request for later reference */
+    model->getRecentRequestsTableModel()->addNewRequest(info);
+    QString uri = GUIUtil::formatBitcoinURI(info);
 
+#ifdef USE_QRCODE
+    lblQRCode->setText("");
+    if(!uri.isEmpty())
+    {
+        // limit URI length
+        if (uri.length() > MAX_URI_LENGTH)
+        {
+            lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
+        } else {
+            QRcode *code = QRcode_encodeString(uri.toUtf8().constData(), 0, QR_ECLEVEL_L, QR_MODE_8, 1);
+            if (!code)
+            {
+                lblQRCode->setText(tr("Error encoding URI into QR Code."));
+                return;
+            }
+            QImage myImage = QImage(code->width + 8, code->width + 8, QImage::Format_RGB32);
+            myImage.fill(0xffffff);
+            unsigned char *p = code->data;
+            for (int y = 0; y < code->width; y++)
+            {
+                for (int x = 0; x < code->width; x++)
+                {
+                    myImage.setPixel(x + 4, y + 4, ((*p & 1) ? 0x0 : 0xffffff));
+                    p++;
+                }
+            }
+            QRcode_free(code);
+            int LabelSize = 200;
+
+            QPixmap target(200, 200);
+            target.fill(Qt::transparent);
+            QPixmap pixmap = QPixmap::fromImage(myImage).scaled(150, 150,Qt::KeepAspectRatioByExpanding);
+            QPainter painter(&target);
+            painter.setRenderHint(QPainter::Antialiasing, true);
+            QPainterPath painterPath;
+            painterPath.addEllipse(QRect(0,0,200,200));
+            painter.setClipPath(painterPath);
+            painter.fillPath(painterPath, Qt::white);
+            painter.drawPixmap(25,25,pixmap);
+            lblQRCode->setPixmap(target);
+            lblQRCode->setSizePolicy();
+            //lblQRCode->setPixmap(QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding));
+        }
+    }
+#endif
+}
 void ReceiveCoinsDialog::clear()
 {
     ui->reqAmount->clear();
@@ -142,42 +252,7 @@ void ReceiveCoinsDialog::updateDisplayUnit()
 
 void ReceiveCoinsDialog::on_receiveButton_clicked()
 {
-    if(!model || !model->getOptionsModel() || !model->getAddressTableModel() || !model->getRecentRequestsTableModel())
-        return;
-
-    QString address;
-    QString label = ui->reqLabel->text();
-    if(ui->reuseAddress->isChecked())
-    {
-        /* Choose existing receiving address */
-        AddressBookPage dlg(platformStyle, AddressBookPage::ForSelection, AddressBookPage::ReceivingTab, this);
-        dlg.setModel(model->getAddressTableModel());
-        if(dlg.exec())
-        {
-            address = dlg.getReturnValue();
-            if(label.isEmpty()) /* If no label provided, use the previously used label */
-            {
-                label = model->getAddressTableModel()->labelForAddress(address);
-            }
-        } else {
-            return;
-        }
-    } else {
-        /* Generate new receiving address */
-        address = model->getAddressTableModel()->addRow(AddressTableModel::Receive, label, "");
-    }
-    SendCoinsRecipient info(address, label,
-        ui->reqAmount->value(), ui->reqMessage->text());
-    info.fUseInstantSend = ui->checkUseInstantSend->isChecked();
-    ReceiveRequestDialog *dialog = new ReceiveRequestDialog(this);
-    dialog->setAttribute(Qt::WA_DeleteOnClose);
-    dialog->setModel(model->getOptionsModel());
-    dialog->setInfo(info);
-    dialog->show();
-    clear();
-
-    /* Store request for later reference */
-    model->getRecentRequestsTableModel()->addNewRequest(info);
+    generateQRCode();
 }
 
 void ReceiveCoinsDialog::on_recentRequestsView_doubleClicked(const QModelIndex &index)
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 4a9d9b585176..3e02023cbeef 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -6,6 +6,7 @@
 #define BITCOIN_QT_RECEIVECOINSDIALOG_H
 
 #include "guiutil.h"
+#include "receiverequestdialog.h"
 
 #include <QDialog>
 #include <QHeaderView>
@@ -14,6 +15,8 @@
 #include <QMenu>
 #include <QPoint>
 #include <QVariant>
+#include <QImage>
+#include <QLabel>
 
 class OptionsModel;
 class PlatformStyle;
@@ -49,8 +52,7 @@ public Q_SLOTS:
     void clear();
     void reject();
     void accept();
-    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
-                                 const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance);
+    void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance, const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance);
 
 protected:
     virtual void keyPressEvent(QKeyEvent *event);
@@ -65,6 +67,8 @@ public Q_SLOTS:
     QModelIndex selectedRow();
     void copyColumnToClipboard(int column);
     virtual void resizeEvent(QResizeEvent *event);
+    void generateQRCode();
+    QRImageWidget *lblQRCode;
 
 private Q_SLOTS:
     void on_receiveButton_clicked();

From a1cd34cda183cc63b996a558976b1705cdb830bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 11 Feb 2019 12:02:42 -0600
Subject: [PATCH 095/225] Code mistake fixed

forgot to delete it
---
 src/qt/receivecoinsdialog.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 79cd9c4be1cf..83b394d590a2 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -214,7 +214,6 @@ void ReceiveCoinsDialog::generateQRCode()
             painter.fillPath(painterPath, Qt::white);
             painter.drawPixmap(25,25,pixmap);
             lblQRCode->setPixmap(target);
-            lblQRCode->setSizePolicy();
             //lblQRCode->setPixmap(QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding));
         }
     }

From 46c11b6d7f9afe92c9b689d2e0586efdb07a2f52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 11 Feb 2019 12:11:52 -0600
Subject: [PATCH 096/225] QRCode on receivecoins size fixed

---
 src/qt/receivecoinsdialog.cpp | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 83b394d590a2..26bda7467f95 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -173,7 +173,6 @@ void ReceiveCoinsDialog::generateQRCode()
     /* Store request for later reference */
     model->getRecentRequestsTableModel()->addNewRequest(info);
     QString uri = GUIUtil::formatBitcoinURI(info);
-
 #ifdef USE_QRCODE
     lblQRCode->setText("");
     if(!uri.isEmpty())
@@ -201,20 +200,19 @@ void ReceiveCoinsDialog::generateQRCode()
                 }
             }
             QRcode_free(code);
-            int LabelSize = 200;
-
-            QPixmap target(200, 200);
+            int QRCodeLabelSize = 160;
+            int QRCodeSize = QRCodeLabelSize - 20;
+            QPixmap target(QRCodeLabelSize, QRCodeLabelSize);
             target.fill(Qt::transparent);
-            QPixmap pixmap = QPixmap::fromImage(myImage).scaled(150, 150,Qt::KeepAspectRatioByExpanding);
+            QPixmap pixmap = QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding);
             QPainter painter(&target);
             painter.setRenderHint(QPainter::Antialiasing, true);
             QPainterPath painterPath;
-            painterPath.addEllipse(QRect(0,0,200,200));
+            painterPath.addEllipse(QRect(0,0,QRCodeLabelSize,QRCodeLabelSize));
             painter.setClipPath(painterPath);
             painter.fillPath(painterPath, Qt::white);
-            painter.drawPixmap(25,25,pixmap);
+            painter.drawPixmap(10,10,pixmap);
             lblQRCode->setPixmap(target);
-            //lblQRCode->setPixmap(QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding));
         }
     }
 #endif

From 16a5466e10c0d3cab11eb249765ddf838df80022 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 18:37:22 -0600
Subject: [PATCH 097/225] Show the USD value of your PACs

---
 src/qt/bitcoingui.cpp              |  3 ++-
 src/qt/bitcoingui.h                |  3 ---
 src/qt/bitcoinunits.cpp            | 11 +++++++++++
 src/qt/bitcoinunits.h              |  2 ++
 src/qt/forms/receivecoinsdialog.ui |  4 ++--
 src/qt/forms/sendcoinsdialog.ui    |  4 ++--
 src/qt/overviewpage.cpp            | 15 +++++----------
 src/qt/overviewpage.h              |  2 --
 src/qt/receivecoinsdialog.cpp      |  1 +
 src/qt/sendcoinsdialog.cpp         |  1 +
 src/qt/walletframe.cpp             |  8 +-------
 src/qt/walletframe.h               |  7 -------
 src/qt/walletview.cpp              |  9 +--------
 src/qt/walletview.h                |  4 ----
 14 files changed, 28 insertions(+), 46 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 394f8115c78f..63534286d9af 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -314,7 +314,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_wrapper(QString)));
-        connect(this,SIGNAL(transmit_to_walletframe(QString)), walletFrame, SLOT(receive_from_bitcoingui(QString)));
     }
 #endif
 }
@@ -1801,7 +1800,9 @@ void BitcoinGUI::receive_from_wrapper(QString message)
             {
                 if (ob.contains("message"))
                 {
+                    // Printing the value on the message bar
                     messageLabel->setText(ob["message"].toString());
+                    // Setting the value for the other views to use it
                     QSettings settings;
                     settings.setValue("PACvalue",ob["pacusd"].toString());
                     settings.sync();
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index ce96a4ce7ea9..04c40b1e4d75 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -182,9 +182,6 @@ class BitcoinGUI : public QMainWindow
     void receivedURI(const QString &uri);
     /** Restart handling */
     void requestedRestart(QStringList args);
-    
-    /** Send PAC value to the walletframe */
-    void transmit_to_walletframe(QString pacValue);
 
 public Q_SLOTS:
     /** Set number of connections shown in the UI */
diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index 152b85f2949e..f8000b1210a2 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -277,3 +277,14 @@ CAmount BitcoinUnits::maxMoney()
 {
     return MAX_MONEY;
 }
+
+QString BitcoinUnits::pacToUsd(CAmount balance)
+{
+    QSettings settings;
+    qint64 bal = (qint64)balance;
+    qint64 tbal = (bal > 0 ? bal : -bal);
+    double dbal = tbal;
+    double dval = (settings.value("PACvalue").toString()).toDouble();
+    QString s_n_abs = QString::number((dbal/100000000)*dval);
+    return s_n_abs;
+}
\ No newline at end of file
diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h
index 40011ea34180..fef5ff2c3720 100644
--- a/src/qt/bitcoinunits.h
+++ b/src/qt/bitcoinunits.h
@@ -102,6 +102,8 @@ class BitcoinUnits: public QAbstractListModel
     static QString getAmountColumnTitle(int unit);
     ///@}
 
+    static QString pacToUsd(CAmount balance);
+
     //! @name AbstractListModel implementation
     //! List model for unit drop-down selection box.
     ///@{
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 9624bfb67da6..d3058291dfbe 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -590,7 +590,7 @@
           </layout>
          </item>
          <item>
-          <widget class="QLabel" name="label_8">
+          <widget class="QLabel" name="labelAvailableUSD">
            <property name="minimumSize">
             <size>
              <width>0</width>
@@ -598,7 +598,7 @@
             </size>
            </property>
            <property name="text">
-            <string>$ 00.00 USD</string>
+            <string>$ 0.00 USD</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index a7bbc17d76c0..a32c37d0f4d6 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1178,7 +1178,7 @@
            </layout>
           </item>
           <item row="3" column="0">
-           <widget class="QLabel" name="label_4">
+           <widget class="QLabel" name="labelAvailableUSD">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
               <horstretch>0</horstretch>
@@ -1192,7 +1192,7 @@
              </size>
             </property>
             <property name="text">
-             <string>$ 578.03 USD</string>
+             <string>$ 0.0 USD</string>
             </property>
             <property name="alignment">
              <set>Qt::AlignCenter</set>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index e692e4aa2516..12fa9a4dd66d 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -17,7 +17,6 @@
 #include "transactiontablemodel.h"
 #include "utilitydialog.h"
 #include "walletmodel.h"
-#include "walletview.h"
 
 #include "instantx.h"
 #include "darksendconfig.h"
@@ -224,6 +223,11 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
         cachedTxLocks = nCompleteTXLocks;
         ui->listTransactions->update();
     }
+
+    
+    ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
+    ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(unconfirmedBalance) + " USD");
+    ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(balance + unconfirmedBalance + immatureBalance) + " USD");
 }
 
 // show/hide watch-only labels
@@ -291,8 +295,6 @@ void OverviewPage::updateDisplayUnit()
 
         ui->listTransactions->update();
     }
-    QSettings settings;
-    ui->labelBalanceUSD->setText(settings.value("PACvalue").toString() + "" + currentBalance);
 }
 
 void OverviewPage::updateAlerts(const QString &warnings)
@@ -336,10 +338,3 @@ void OverviewPage::on_overviewInfo_clicked()
     HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
     dlg.exec();
 }
-
-void OverviewPage::receive_from_walletview(QString data)
-{
-    //ui->labelBalanceUSD->setText(data);
-
-    ui->labelBalanceUSD->setText("TEST");
-}
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 558201c5bc08..ca5d52394e8a 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -6,7 +6,6 @@
 #define BITCOIN_QT_OVERVIEWPAGE_H
 
 #include "amount.h"
-#include "walletview.h"
 
 #include <QWidget>
 #include <memory>
@@ -76,7 +75,6 @@ private Q_SLOTS:
     void updateWatchOnlyLabels(bool showWatchOnly);
     void handleOutOfSyncWarningClicks();
     void on_overviewInfo_clicked();
-    void receive_from_walletview(QString data);
 };
 
 #endif // BITCOIN_QT_OVERVIEWPAGE_H
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 0bc223ba853e..11aabd690963 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -318,4 +318,5 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchImmatureBalance);
 
     ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance));
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
 }
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 6ef3674bc4b7..29fc1d77874d 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -587,6 +587,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    }
 
         ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), bal));
+        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
     }
 }
 
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index 30903182bed5..66e7d47c8baa 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -58,8 +58,7 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
     connect(walletView, SIGNAL(showNormalIfMinimized()), gui, SLOT(showNormalIfMinimized()));
 
     connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
-    connect(this,SIGNAL(transmit_to_walletview(QString)), walletView, SLOT(receive_from_walletframe(QString)));
-    
+
     return true;
 }
 
@@ -228,9 +227,4 @@ WalletView *WalletFrame::currentWalletView()
 void WalletFrame::outOfSyncWarningClicked()
 {
     Q_EMIT requestedSyncWarningInfo();
-}
-
-void WalletFrame::receive_from_bitcoingui(QString data)
-{
-    Q_EMIT transmit_to_walletview(data);
 }
\ No newline at end of file
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index d1051af21018..64a6fafb8ad8 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -8,8 +8,6 @@
 #include <QFrame>
 #include <QMap>
 
-#include "bitcoingui.h"
-
 class BitcoinGUI;
 class ClientModel;
 class PlatformStyle;
@@ -43,8 +41,6 @@ class WalletFrame : public QFrame
 Q_SIGNALS:
     /** Notify that the user has requested more information about the out-of-sync warning */
     void requestedSyncWarningInfo();
-    /** Transmit to walletview the PAC value */
-    void transmit_to_walletview(QString message);
 
 private:
     QStackedWidget *walletStack;
@@ -96,9 +92,6 @@ public Q_SLOTS:
     void usedReceivingAddresses();
     /** Pass on signal over requested out-of-sync-warning information */
     void outOfSyncWarningClicked();
-
-    /** Gets the value of the PAC from bitcoingui */
-    void receive_from_bitcoingui(QString data);
 };
 
 #endif // BITCOIN_QT_WALLETFRAME_H
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 87fbd85217ad..cd945325828d 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -20,7 +20,6 @@
 #include "transactionview.h"
 #include "walletmodel.h"
 #include "privatepage.h"
-#include "walletframe.h"
 
 #include "ui_interface.h"
 
@@ -415,10 +414,4 @@ void WalletView::requestedSyncWarningInfo()
 void WalletView::trxAmount(QString amount)
 {
     transactionSum->setText(amount);
-}
-
-void WalletView::receive_from_walletframe(QString data)
-{
-    overviewPage->setStyleSheet("background: red;");
-    Q_EMIT transmit_to_overview(data);
-}
+}
\ No newline at end of file
diff --git a/src/qt/walletview.h b/src/qt/walletview.h
index b0447d210e95..c589c619972f 100644
--- a/src/qt/walletview.h
+++ b/src/qt/walletview.h
@@ -8,7 +8,6 @@
 #include "amount.h"
 #include "masternodelist.h"
 #include "proposallist.h"
-#include "walletframe.h"
 
 #include <QStackedWidget>
 
@@ -99,9 +98,6 @@ public Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
-    /** Gets the value of the PAC from walletframe */
-    void receive_from_walletframe(QString data);
-
     /** Show incoming transaction notification for new transactions.
 
         The new items are those between start and end inclusive, under the given parent item.

From cb050267b6b3891de1155fdaeb528c34e8227265 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 11 Feb 2019 19:05:54 -0600
Subject: [PATCH 098/225] Overview message updated

---
 src/qt/utilitydialog.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 704c5f86a518..53fc76741441 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -178,7 +178,8 @@ first need to be confirme by the network, this means that it is yours but first
 (the sum of the available and pending). <br><br> \
 On the right side you can see all of your transactions, the coins you send, receive or get rewarded, if you click on one of them it will redirect you to \
 see all of the information of the transaction. <br> \
-For more information see https://wallets.paccoin.net/."));
+For more information see https://wallets.paccoin.net/.<hr><br> \
+IMPORTANT: the convertion PAC to USD can have some fluctuation since the value is obtained from an external API and the value is obtained every certain time."));
         
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);

From a2d6cc43f58e7b85b12f0e39a612ee98813d96bf Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 12 Feb 2019 11:59:03 -0600
Subject: [PATCH 099/225] USD PAC conversion validated

---
 src/qt/forms/sendcoinsdialog.ui | 77 ++++++++++++++++++++++++++++-----
 src/qt/sendcoinsdialog.cpp      | 25 +++++++++++
 src/qt/sendcoinsdialog.h        |  2 +
 src/qt/utilitydialog.cpp        |  2 +-
 4 files changed, 94 insertions(+), 12 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index a32c37d0f4d6..e3ab43881b8d 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -634,7 +634,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>186</height>
+             <height>180</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -864,21 +864,76 @@
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_7">
             <item>
-             <widget class="QLabel" name="iconLabelConvertedCurrency">
-              <property name="text">
-               <string/>
+             <spacer name="horizontalSpacer_9">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-              <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+              <property name="sizeType">
+               <enum>QSizePolicy::Expanding</enum>
               </property>
-             </widget>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
             </item>
             <item>
-             <widget class="QLabel" name="label_9">
-              <property name="text">
-               <string>00.00 $PAC</string>
+             <layout class="QHBoxLayout" name="horizontalLayout_12">
+              <item>
+               <widget class="QLabel" name="iconLabelConvertedCurrency">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>30</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string/>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelConvertionUSD">
+                <property name="font">
+                 <font>
+                  <pointsize>22</pointsize>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text">
+                 <string>0.0</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_11">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-             </widget>
+              <property name="sizeType">
+               <enum>QSizePolicy::Expanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
             </item>
            </layout>
           </item>
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 29fc1d77874d..7c957f4c3d6f 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -949,3 +949,28 @@ void SendCoinsDialog::coinControlUpdateLabels()
         ui->labelCoinControlInsuffFunds->hide();
     }
 }
+
+void SendCoinsDialog::on_lineConvertCurrency_textChanged(const QString &arg1)
+{
+    bool ok;
+    double dbal;
+    dbal = arg1.toDouble(&ok);
+    if(ok){
+        QSettings settings;
+        double dval = (settings.value("PACvalue").toString()).toDouble();
+        QString sconv = QString::number(dbal/dval, 'g', 17);
+
+        QStringList list1 = sconv.split('.');
+        int q_size = list1[0].size();
+            for (int i = 3; i < q_size; i += 3)
+                list1[0].insert(q_size - i, ',');
+        if(list1.length() == 1){
+            ui->labelConvertionUSD->setText(list1[0]);
+        }else{
+            ui->labelConvertionUSD->setText(list1[0] + '.' + list1[1]);
+        }
+    }else{
+        ui->labelConvertionUSD->setText("0.0");
+    }
+    
+}
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
index 1d690aef1108..218bb1b66648 100644
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -98,6 +98,8 @@ private Q_SLOTS:
     void updateSmartFeeLabel();
     void updateGlobalFeeVariables();
 
+    void on_lineConvertCurrency_textChanged(const QString &arg1);
+
 Q_SIGNALS:
     // Fired when a message should be reported to the user
     void message(const QString &title, const QString &message, unsigned int style);
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 53fc76741441..28e38012feac 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -174,7 +174,7 @@ PAC is a digital currency that enables anonymous, instant payments to anyone, an
 PAC uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. \
 PAC is the name of the open source software which enables the use of this currency.<hr><br> \
 On the left side of this window you can watch your balance, the available balance is the balance you can spend and do use of while the pending balance \
-first need to be confirme by the network, this means that it is yours but first to avoid securit issues it is need to be confirmed, and at the bottom is the total \
+first need to be confirmed by the network, this means that it is yours but first to avoid security issues it is need to be confirmed, and at the bottom is the total \
 (the sum of the available and pending). <br><br> \
 On the right side you can see all of your transactions, the coins you send, receive or get rewarded, if you click on one of them it will redirect you to \
 see all of the information of the transaction. <br> \

From 897196638e768b8f84b8fa8b2f2335d48c4d9fab Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 12 Feb 2019 12:02:57 -0600
Subject: [PATCH 100/225] UI receive page minor fix for small screens

---
 src/qt/forms/receivecoinsdialog.ui | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index d405a833ab9b..c65c73fb1d54 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -503,7 +503,7 @@
           <number>20</number>
          </property>
          <property name="bottomMargin">
-          <number>34</number>
+          <number>15</number>
          </property>
          <item>
           <widget class="QLabel" name="label_5">
@@ -622,7 +622,7 @@
           </spacer>
          </item>
          <item>
-          <widget class="QFrame" name="">
+          <widget class="QFrame" name="frame">
            <layout class="QHBoxLayout" name="qrLayoutContainer"/>
           </widget>
          </item>

From 12b2e2ec890ce2eed1a732ec18cf1d4f13087f35 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 10:19:16 -0600
Subject: [PATCH 101/225] Wallet without sockets

---
 build-aux/m4/bitcoin_qt.m4        |  4 +--
 src/Makefile.qt.include           | 17 +++--------
 src/qt/bitcoingui.cpp             | 48 +------------------------------
 src/qt/bitcoingui.h               |  5 ----
 src/qt/guiconstants.h             |  4 ++-
 src/qt/overviewpage.cpp           |  6 ----
 src/qt/sendcoinsdialog.cpp        |  1 -
 src/qt/websocketclientwrapper.cpp | 37 ------------------------
 src/qt/websocketclientwrapper.h   | 37 ------------------------
 src/qt/websockettransport.cpp     | 44 ----------------------------
 src/qt/websockettransport.h       | 30 -------------------
 11 files changed, 10 insertions(+), 223 deletions(-)
 delete mode 100644 src/qt/websocketclientwrapper.cpp
 delete mode 100644 src/qt/websocketclientwrapper.h
 delete mode 100644 src/qt/websockettransport.cpp
 delete mode 100644 src/qt/websockettransport.h

diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4
index cf6f7de0ee52..f15568a91be8 100644
--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -388,8 +388,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[
       QT_LIB_PREFIX=Qt
       bitcoin_qt_got_major_vers=4
     fi
-    qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5WebChannel Qt5WebSockets"
-    qt4_modules="QtCore QtGui QtNetwork QtWebChannel QtWebSockets"
+    qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets"
+    qt4_modules="QtCore QtGui QtNetwork"
     BITCOIN_QT_CHECK([
       if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then
         PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes],[have_qt=no])
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 902927140aa1..3dfdad2fecf3 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -94,9 +94,7 @@ QT_MOC_CPP = \
   qt/moc_utilitydialog.cpp \
   qt/moc_walletframe.cpp \
   qt/moc_walletmodel.cpp \
-  qt/moc_walletview.cpp \
-  qt/moc_websocketclientwrapper.cpp \
-  qt/moc_websockettransport.cpp
+  qt/moc_walletview.cpp 
 
 BITCOIN_MM = \
   qt/macdockiconhandler.mm \
@@ -179,9 +177,7 @@ BITCOIN_QT_H = \
   qt/walletmodel.h \
   qt/walletmodeltransaction.h \
   qt/walletview.h \
-  qt/winshutdownmonitor.h \
-  qt/websocketclientwrapper.h \
-  qt/websockettransport.h
+  qt/winshutdownmonitor.h 
 
 RES_ICONS = \
   qt/res/icons/bitcoin.ico \
@@ -409,9 +405,6 @@ RES_ICONS = \
   qt/res/icons/trad/network_disabled.png \
   qt/res/icons/trad/proposal.png
 
-EXTRA_DIST= \
-  qt/qwebchannel.js
-
 BITCOIN_QT_CPP = \
   qt/bantablemodel.cpp \
   qt/bitcoinaddressvalidator.cpp \
@@ -476,9 +469,7 @@ BITCOIN_QT_CPP += \
   qt/walletframe.cpp \
   qt/walletmodel.cpp \
   qt/walletmodeltransaction.cpp \
-  qt/walletview.cpp \
-  qt/websocketclientwrapper.cpp \
-  qt/websockettransport.cpp
+  qt/walletview.cpp 
 endif
 
 RES_IMAGES = \
@@ -552,7 +543,7 @@ qt_libbitcoinqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INC
 qt_libbitcoinqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
 
 qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \
-  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(EXTRA_DIST)
+  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) 
 
 nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \
   $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP)
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 4d095ea60cb2..fc34bc661c03 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -35,7 +35,6 @@
 #include "util.h"
 #include "masternode-sync.h"
 #include "masternodelist.h"
-#include "websocketclientwrapper.h"
 
 #include <iostream>
 
@@ -305,15 +304,11 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     modalOverlay = new ModalOverlay(this->centralWidget());
 
-    // Socket connection
-    m_websocketclientwrapper = new WebSocketClientWrapper(QUrl("ws://144.202.121.149"));
-
 #ifdef ENABLE_WALLET
     if(enableWallet) {
         connect(walletFrame, SIGNAL(requestedSyncWarningInfo()), this, SLOT(showModalOverlay()));
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
-        connect(m_websocketclientwrapper,SIGNAL(transmit_to_gui(QString)),this,SLOT(receive_from_wrapper(QString)));
     }
 #endif
 }
@@ -1781,45 +1776,4 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     {
         optionsModel->setDisplayUnit(action->data());
     }
-}
-
-/** Setss the message for the news and the value of the PAC to USD */
-void BitcoinGUI::receive_from_wrapper(QString message)
-{
-    QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8());
-    if(!doc.isNull())
-    {
-        if(doc.isObject())
-        {
-            QJsonObject ob = doc.object();
-            if(ob.isEmpty())
-            {
-                messageLabel->setText("There's an issue getting the latest news.");
-            }
-            else
-            {
-                if (ob.contains("message"))
-                {
-                    // Printing the value on the message bar
-                    messageLabel->setText(ob["message"].toString());
-                    // Setting the value for the other views to use it
-                    QSettings settings;
-                    settings.setValue("PACvalue",ob["pacusd"].toString());
-                    settings.sync();
-                }
-                else
-                {
-                    messageLabel->setText("There's an issue getting the latest news.");
-                }
-            }
-        }
-        else
-        {
-            messageLabel->setText("There's an issue getting the latest news.");
-        }
-    }
-    else
-    {
-        messageLabel->setText("There's an issue getting the latest news.");
-    }
-}
+}
\ No newline at end of file
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 04c40b1e4d75..f62eb415502c 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -10,7 +10,6 @@
 #endif
 
 #include "amount.h"
-#include "websocketclientwrapper.h"
 
 #include <QLabel>
 #include <QMainWindow>
@@ -144,8 +143,6 @@ class BitcoinGUI : public QMainWindow
     QPushButton *btnImg;
     QLabel *messageLabel;
 
-    WebSocketClientWrapper *m_websocketclientwrapper;
-
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
     int spinnerFrame;
@@ -245,8 +242,6 @@ private Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
-    /** Receive the news from the web socket */
-    void receive_from_wrapper(QString data);
 
     /** Show open dialog */
     void openClicked();
diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
index 5d9281ce7678..edeca3ac9588 100644
--- a/src/qt/guiconstants.h
+++ b/src/qt/guiconstants.h
@@ -40,7 +40,9 @@ static const bool DEFAULT_SPLASHSCREEN = true;
 #define COLOR_BLACK QColor(20,20,20)
 #define COLOR_WHITE QColor(255,255,255)
 
-extern QColor COLOR_TEXT = QColor(128,128,128);
+//extern QColor COLOR_TEXT;
+static QColor COLOR_TEXT = QColor(128,128,128);
+//extern COLOR_TEXT;
 
 
 /* Tooltips longer than this (in characters) are converted into rich text,
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 12fa9a4dd66d..dc272d4bfa1f 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -27,7 +27,6 @@
 #include <QPainter>
 #include <QSettings>
 
-#include "qwebchannel.h"
 #include <QCoreApplication>
 
 #include <string>
@@ -223,11 +222,6 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
         cachedTxLocks = nCompleteTXLocks;
         ui->listTransactions->update();
     }
-
-    
-    ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
-    ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(unconfirmedBalance) + " USD");
-    ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(balance + unconfirmedBalance + immatureBalance) + " USD");
 }
 
 // show/hide watch-only labels
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 7c957f4c3d6f..03ee2533cc19 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -587,7 +587,6 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    }
 
         ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), bal));
-        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
     }
 }
 
diff --git a/src/qt/websocketclientwrapper.cpp b/src/qt/websocketclientwrapper.cpp
deleted file mode 100644
index 1a09e5084c09..000000000000
--- a/src/qt/websocketclientwrapper.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "websocketclientwrapper.h"
-#include <QtWebSockets/QWebSocketServer>
-#include "websockettransport.h"
-
-#include <string>
-#include <iostream>
-
-using namespace std;
-
-QT_BEGIN_NAMESPACE
-
-WebSocketClientWrapper::WebSocketClientWrapper(const QUrl &url, QObject *parent): QObject(parent), m_url(url)
-{
-    cout << "BeforeWrapper" << endl;
-    QString str = m_url.toEncoded();
-    cout << "Open WebSocket connection: " << str.toStdString() << endl;
-    connect(&m_webSocket, &QWebSocket::connected,
-            this, &WebSocketClientWrapper::handleNewConnection);
-    cout << "connecting...";
-    m_webSocket.open(url);
-    cout << "AfterWrapper" << endl;
-}
-
-void WebSocketClientWrapper::handleNewConnection()
-{
-    cout << "BeforeConnecting" << endl;
-    qWarning() << "WebSocket connected: " << m_url;
-    m_websockettransport = new WebSocketTransport(&m_webSocket);
-    connect(m_websockettransport,SIGNAL(transmit_to_wrapper(QString)),this,SLOT(receive_from_transport(QString)));
-    Q_EMIT clientConnected(m_websockettransport);
-    cout << "AfterConnecting" << endl;
-}
-
-void WebSocketClientWrapper::receive_from_transport(QString message)
-{
-    Q_EMIT transmit_to_gui(message);
-}
\ No newline at end of file
diff --git a/src/qt/websocketclientwrapper.h b/src/qt/websocketclientwrapper.h
deleted file mode 100644
index 866707b2a222..000000000000
--- a/src/qt/websocketclientwrapper.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef WEBSOCKETCLIENTWRAPPER_H
-#define WEBSOCKETCLIENTWRAPPER_H
-
-#include "websockettransport.h"
-
-#include <QObject>
-#include <QtWebSockets/QWebSocket>
-
-QT_BEGIN_NAMESPACE
-
-class WebSocketTransport;
-
-class WebSocketClientWrapper : public QObject
-{
-    Q_OBJECT
-
-public:
-    WebSocketClientWrapper(const QUrl &url, QObject *parent = 0);
-
-Q_SIGNALS:
-    void clientConnected(WebSocketTransport* client);
-    void transmit_to_gui(QString message);
-
-private Q_SLOTS:
-    void handleNewConnection();
-    /** Receive the news from the web socket */
-    void receive_from_transport(QString data);
-
-private:
-    QUrl m_url;
-    QWebSocket m_webSocket;
-    WebSocketTransport *m_websockettransport;
-};
-
-QT_END_NAMESPACE
-
-#endif // WEBSOCKETCLIENTWRAPPER_H
diff --git a/src/qt/websockettransport.cpp b/src/qt/websockettransport.cpp
deleted file mode 100644
index beb7a74babba..000000000000
--- a/src/qt/websockettransport.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "websockettransport.h"
-
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QDebug>
-
-#include <QtWebSockets/QWebSocket>
-
-#include <string>
-#include <iostream>
-
-using namespace std;
-
-QT_BEGIN_NAMESPACE
-
-WebSocketTransport::WebSocketTransport(QWebSocket *socket)
-: QWebChannelAbstractTransport(socket)
-, m_socket(socket)
-{
-    connect(socket, &QWebSocket::textMessageReceived,
-            this, &WebSocketTransport::textMessageReceived);
-}
-
-WebSocketTransport::~WebSocketTransport()
-{
-
-}
-
-void WebSocketTransport::sendMessage(const QJsonObject &message)
-{
-    QJsonDocument doc(message);
-    m_socket->sendTextMessage(QString::fromUtf8(doc.toJson(QJsonDocument::Compact)));
-}
-
-void WebSocketTransport::textMessageReceived(const QString &messageData)
-{
-    cout << "Message in..." << endl;
-    cout << messageData.toStdString() << endl;
-    qDebug() << messageData;
-    cout << "Message out..." << endl;
-    //emit transmit_to_gui(messageData);
-
-    Q_EMIT transmit_to_wrapper(messageData);
-}
diff --git a/src/qt/websockettransport.h b/src/qt/websockettransport.h
deleted file mode 100644
index 1e6cca86ee55..000000000000
--- a/src/qt/websockettransport.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef WEBSOCKETTRANSPORT_H
-#define WEBSOCKETTRANSPORT_H
-
-//#include "bitcoingui.h"
-
-#include <QtWebChannel/QWebChannelAbstractTransport>
-#include <QtWebSockets/QWebSocket>
-
-QT_BEGIN_NAMESPACE
-
-class WebSocketTransport : public QWebChannelAbstractTransport
-{
-    Q_OBJECT
-public:
-    explicit WebSocketTransport(QWebSocket *socket);
-    virtual ~WebSocketTransport();
-
-    void sendMessage(const QJsonObject &message) Q_DECL_OVERRIDE;
-
-Q_SIGNALS:
-	void transmit_to_wrapper(QString message);
-
-private Q_SLOTS:
-    void textMessageReceived(const QString &message);
-
-private:
-    QWebSocket *m_socket;
-};
-
-#endif // WEBSOCKETTRANSPORT_H
\ No newline at end of file

From 9e46dee1a84ec030d5c3f594f8d04b89b80f632e Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 11:29:32 -0600
Subject: [PATCH 102/225] QRC fix

---
 src/qt/paccoin.qrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 89fe1a837618..2588e840697f 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -1,4 +1,4 @@
-<!DOCTYPE RCC><RCC version="1.0">
+<RCC>
     <qresource prefix="/icons">
         <file alias="bitcoin">res/icons/bitcoin.png</file>
         <file alias="prompticon">res/icons/chevron.png</file>

From 58f02b2cfbf69ef06b155cd07e353cbcbe04b973 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 11:30:20 -0600
Subject: [PATCH 103/225] make include FIX

---
 src/Makefile.qt.include | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 3dfdad2fecf3..1b16bc189467 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -182,6 +182,7 @@ BITCOIN_QT_H = \
 RES_ICONS = \
   qt/res/icons/bitcoin.ico \
   qt/res/icons/bitcoin.png \
+  qt/res/icons/bitcoin-32.png \
   qt/res/icons/chevron.png \
   qt/res/icons/warning.png \
   qt/res/icons/drkblue/add.png \

From 41b1a0f798dea834fd9f1635d62f63be1ef6b848 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 12:00:26 -0600
Subject: [PATCH 104/225] Bitcoin amount field FIX

Not working with commas.
---
 src/qt/bitcoinamountfield.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index 0f7c36c7a1df..c5061a5602b8 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -49,7 +49,7 @@ class AmountSpinBox: public QAbstractSpinBox
         if(valid)
         {
             input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::separatorAlways);
-            lineEdit()->setText(input);
+            lineEdit()->setText(input.replace( ",", " " ));
         }
     }
 
@@ -60,7 +60,7 @@ class AmountSpinBox: public QAbstractSpinBox
 
     void setValue(const CAmount& value)
     {
-        lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways));
+        lineEdit()->setText((BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways)).replace( ",", " " ));
         Q_EMIT valueChanged();
     }
 
@@ -99,7 +99,7 @@ class AmountSpinBox: public QAbstractSpinBox
 
             const QFontMetrics fm(fontMetrics());
             int h = lineEdit()->minimumSizeHint().height();
-            int w = fm.width(BitcoinUnits::format(BitcoinUnits::PAC, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways));
+            int w = fm.width((BitcoinUnits::format(BitcoinUnits::PAC, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways)).replace( ",", " " ));
             w += 2; // cursor blinking space
 
             QStyleOptionSpinBox opt;

From 0121fd4c7dab08380e1da228a56ff8ab0ed6b4f8 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:02:14 -0600
Subject: [PATCH 105/225] update-deps

---
 CMakeLists.txt                                |  83 ++
 Makefile.am                                   | 119 +--
 autogen.sh                                    |   6 +
 build-aux/m4/ax_boost_base.m4                 |  18 +-
 build-aux/m4/ax_boost_program_options.m4      |   7 +-
 build-aux/m4/ax_boost_system.m4               |   5 +-
 build-aux/m4/ax_check_compile_flag.m4         |  12 +-
 build-aux/m4/ax_check_link_flag.m4            |  13 +-
 build-aux/m4/ax_check_preproc_flag.m4         |  12 +-
 build-aux/m4/ax_gcc_func_attribute.m4         |   8 +-
 build-aux/m4/ax_pthread.m4                    | 385 +++++++---
 build-aux/m4/bitcoin_find_bdb48.m4            | 124 +--
 build-aux/m4/bitcoin_qt.m4                    |  30 +-
 build-aux/m4/bitcoin_subdir_to_include.m4     |   4 +
 build-aux/m4/l_atomic.m4                      |  46 ++
 configure.ac                                  | 237 ++++--
 contrib/devtools/split-debug.sh               |  10 +
 contrib/devtools/split-debug.sh.in            |  10 +
 contrib/gitian-descriptors/README.md          |   2 +-
 contrib/gitian-descriptors/gitian-linux.yml   | 142 +++-
 .../gitian-descriptors/gitian-osx-signer.yml  |  14 +-
 contrib/gitian-descriptors/gitian-osx.yml     |  80 +-
 .../gitian-descriptors/gitian-win-signer.yml  |  11 +-
 contrib/gitian-descriptors/gitian-win.yml     |  87 ++-
 depends/.gitignore                            |   1 +
 depends/Makefile                              |  34 +-
 depends/README.md                             |  11 +-
 depends/builders/darwin.mk                    |   4 +-
 depends/builders/linux.mk                     |   2 +-
 depends/config.guess                          | 131 ++--
 depends/config.site.in                        |   5 -
 depends/config.sub                            |  39 +-
 depends/funcs.mk                              |  18 +-
 depends/hosts/darwin.mk                       |   6 +-
 depends/hosts/linux.mk                        |   2 +-
 depends/hosts/mingw32.mk                      |   2 +-
 depends/packages/bdb.mk                       |   3 +-
 depends/packages/chia_bls.mk                  |  50 ++
 depends/packages/dbus.mk                      |   4 +-
 depends/packages/expat.mk                     |   8 +-
 depends/packages/fontconfig.mk                |  10 +-
 depends/packages/freetype.mk                  |   6 +-
 depends/packages/gmp.mk                       |  22 +
 depends/packages/miniupnpc.mk                 |   4 +-
 depends/packages/native_biplist.mk            |  20 +
 depends/packages/native_ccache.mk             |   4 +-
 depends/packages/native_cctools.mk            |  27 +-
 depends/packages/native_comparisontool.mk     |  21 -
 depends/packages/native_ds_store.mk           |  17 +
 depends/packages/native_mac_alias.mk          |  21 +
 depends/packages/openssl.mk                   |  39 +-
 depends/packages/packages.mk                  |  17 +-
 depends/packages/qt.mk                        | 129 ++--
 depends/packages/qt46.mk                      |  66 --
 depends/packages/zeromq.mk                    |  19 +-
 depends/packages/zlib.mk                      |  27 +
 .../patches/boost/darwin_boost_atomic-1.patch |  35 -
 .../patches/boost/darwin_boost_atomic-2.patch |  55 --
 depends/patches/boost/gcc_5_no_cxx11.patch    |  37 -
 .../patches/qt/fix-xcb-include-order.patch    |  42 +-
 depends/patches/qt/mac-qmake.conf             |  15 +-
 depends/patches/qt/mingw-uuidof.patch         |  18 +-
 depends/patches/qt/pidlist_absolute.patch     |  12 +-
 depends/patches/qt46/stlfix.patch             |  10 -
 doc/man/Makefile.am                           |  13 +
 doc/man/paccoin-cli.1                         |  92 +++
 doc/man/paccoin-qt.1                          | 715 ++++++++++++++++++
 doc/man/paccoin-tx.1                          | 125 +++
 doc/man/paccoind.1                            | 690 +++++++++++++++++
 69 files changed, 3226 insertions(+), 867 deletions(-)
 create mode 100644 CMakeLists.txt
 create mode 100644 build-aux/m4/l_atomic.m4
 create mode 100755 contrib/devtools/split-debug.sh
 create mode 100644 contrib/devtools/split-debug.sh.in
 create mode 100644 depends/packages/chia_bls.mk
 create mode 100644 depends/packages/gmp.mk
 create mode 100644 depends/packages/native_biplist.mk
 delete mode 100644 depends/packages/native_comparisontool.mk
 create mode 100644 depends/packages/native_ds_store.mk
 create mode 100644 depends/packages/native_mac_alias.mk
 delete mode 100644 depends/packages/qt46.mk
 create mode 100644 depends/packages/zlib.mk
 delete mode 100644 depends/patches/boost/darwin_boost_atomic-1.patch
 delete mode 100644 depends/patches/boost/darwin_boost_atomic-2.patch
 delete mode 100644 depends/patches/boost/gcc_5_no_cxx11.patch
 delete mode 100644 depends/patches/qt46/stlfix.patch
 create mode 100644 doc/man/Makefile.am
 create mode 100644 doc/man/paccoin-cli.1
 create mode 100644 doc/man/paccoin-qt.1
 create mode 100644 doc/man/paccoin-tx.1
 create mode 100644 doc/man/paccoind.1

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000000..a36b90cc8f28
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,83 @@
+# This CMakeLists.txt is not meant to actually work!
+# It only serves as a dummy project to make CLion work properly when it comes to symbol resolution and all the nice
+# features dependent on that. Building must still be done on the command line using the automake build chain
+# If you load this project in CLion and would like to run/debug executables, make sure to remove the "Build" entry from
+# the run/debug configuration as otherwise CLion will try to build this project with cmake, failing horribly.
+# You'll also have to manually change the executable in the configuration to the correct path of the already built executable
+
+cmake_minimum_required(VERSION 3.7)
+project(paccoin)
+
+set(CMAKE_CXX_STANDARD 14)
+
+include_directories(
+        src
+        src/qt/forms
+        src/leveldb/include
+        src/univalue/include
+)
+
+if(UNIX AND NOT APPLE)
+    set(DEPENDS_PREFIX depends/x86_64-pc-linux-gnu)
+elseif(APPLE)
+    set(DEPENDS_PREFIX depends/x86_64-apple-darwin11)
+elseif(WIN32)
+    set(DEPENDS_PREFIX depends/x86_64-w64-mingw32)
+endif()
+
+message(STATUS "DEPENDS_PREFIX: ${DEPENDS_PREFIX}")
+
+if(DEFINED DEPENDS_PREFIX)
+    include_directories(${DEPENDS_PREFIX}/include)
+    include_directories(${DEPENDS_PREFIX}/include/QtWidgets)
+endif()
+
+add_definitions(
+        -DENABLE_WALLET=1
+)
+
+file(GLOB SOURCE_FILES
+        src/bench/*.cpp
+        src/bench/*.h
+        src/compat/*.cpp
+        src/compat/*.h
+        src/consensus/*.h
+        src/consensus/*.cpp
+        src/crypto/*.c
+        src/crypto/*.h
+        src/crypto/*.cpp
+        src/leveldb/db/*.cc
+        src/leveldb/db/*.h
+        src/leveldb/include/*.h
+        src/policy/*.cpp
+        src/policy/*.h
+        src/primitives/*.cpp
+        src/primitives/*.h
+        src/qt/test/*.cpp
+        src/qt/test/*.h
+        src/qt/*.cpp
+        src/qt/*.h
+        src/script/*.cpp
+        src/script/*.h
+        src/secp256k1/include/*.h
+        src/test/*.cpp
+        src/test/*.h
+        src/univalue/include/*.h
+        src/univalue/lib/*.cpp
+        src/univalue/lib/*.h
+        src/wallet/test/*.cpp
+        src/wallet/*.cpp
+        src/wallet/*.h
+        src/zmq/*.cpp
+        src/zmq/*.h
+        src/*.cpp
+        src/*.h
+        src/evo/*.h
+        src/evo/*.cpp
+        src/llmq/*.h
+        src/llmq/*.cpp
+        src/rpc/*.cpp
+        src/rpc/*.h
+        )
+
+add_executable(paccoin ${SOURCE_FILES})
diff --git a/Makefile.am b/Makefile.am
index b0c2a26d6921..1df6b19d26a8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,30 +1,50 @@
+# Copyright (c) 2013-2016 The Bitcoin Core developers
+# Copyright (c) 2014-2018 The Paccoin Core developers
+# Copyright (c) 2018-2019 The Paccoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 ACLOCAL_AMFLAGS = -I build-aux/m4
 SUBDIRS = src
+if ENABLE_MAN
+SUBDIRS += doc/man
+endif
 .PHONY: deploy FORCE
 
 GZIP_ENV="-9n"
+export PYTHONPATH
 
 if BUILD_BITCOIN_LIBS
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libpaccoinconsensus.pc
 endif
 
-BITCOIND_BIN=$(top_builddir)/src/paccoind$(EXEEXT)
-BITCOIN_QT_BIN=$(top_builddir)/src/qt/paccoin-qt$(EXEEXT)
-BITCOIN_CLI_BIN=$(top_builddir)/src/paccoin-cli$(EXEEXT)
+BITCOIND_BIN=$(top_builddir)/src/$(BITCOIN_DAEMON_NAME)$(EXEEXT)
+BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT)
+BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT)
 BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
 
+empty :=
+space := $(empty) $(empty)
+
 OSX_APP=Paccoin-Qt.app
-OSX_DMG=Paccoin-Core.dmg
+OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
+OSX_DMG = $(OSX_VOLNAME).dmg
+OSX_BACKGROUND_SVG=background.svg
 OSX_BACKGROUND_IMAGE=background.tiff
+OSX_BACKGROUND_IMAGE_DPIS=36 72
+OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py
 OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
 OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
-OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings
 OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
-OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
+OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
 OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
 
 DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
+DIST_CONTRIB = $(top_srcdir)/contrib/paccoin-cli.bash-completion \
+	       $(top_srcdir)/contrib/paccoin-tx.bash-completion \
+	       $(top_srcdir)/contrib/paccoind.bash-completion \
+	       $(top_srcdir)/contrib/init
 
 BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
            $(top_srcdir)/contrib/devtools/security-check.py
@@ -34,30 +54,20 @@ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
   $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
   $(top_srcdir)/doc/README_windows.txt
 
-OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \
-  $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \
-  $(top_srcdir)/contrib/macdeploy/DS_Store \
+OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
+  $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_SVG) \
+  $(OSX_DSSTORE_GEN) \
   $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
   $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
 
-COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
+COVERAGE_INFO = baseline_filtered_combined.info baseline.info \
   leveldb_baseline.info test_paccoin_filtered.info total_coverage.info \
-  baseline_filtered.info block_test_filtered.info rpc_test.info rpc_test_filtered.info \
+  baseline_filtered.info rpc_test.info rpc_test_filtered.info \
   leveldb_baseline_filtered.info test_paccoin_coverage.info test_paccoin.info
 
 dist-hook:
-	-$(MAKE) -C $(top_distdir)/src/leveldb clean
-	-$(MAKE) -C $(top_distdir)/src/secp256k1 distclean
 	-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
 
-distcheck-hook:
-	$(MKDIR_P) $(top_distdir)/_build/src/leveldb
-	cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/
-	-$(MAKE) -C $(top_distdir)/_build/src/leveldb clean
-
-distcleancheck:
-	@:
-
 $(BITCOIN_WIN_INSTALLER): all-recursive
 	$(MKDIR_P) $(top_builddir)/release
 	STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
@@ -67,9 +77,6 @@ $(BITCOIN_WIN_INSTALLER): all-recursive
 	  echo error: could not build $@
 	@echo built $@
 
-$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE
-	$(MAKE) -C src $(patsubst src/%,%,$@)
-
 $(OSX_APP)/Contents/PkgInfo:
 	$(MKDIR_P) $(@D)
 	@echo "APPL????" > $@
@@ -90,17 +97,27 @@ $(OSX_APP)/Contents/MacOS/Paccoin-Qt: $(BITCOIN_QT_BIN)
 	$(MKDIR_P) $(@D)
 	STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM)  $< $@
 
-$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR)
+$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings:
 	$(MKDIR_P) $(@D)
-	$(INSTALL_DATA) $< $@
+	echo '{	CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@
 
 OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
   $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
   $(OSX_APP)/Contents/MacOS/Paccoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
 
+osx_volname:
+	echo $(OSX_VOLNAME) >$@
+
 if BUILD_DARWIN
-$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
-	$(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2
+$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) $(OSX_BACKGROUND_IMAGE)
+	$(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 -volname $(OSX_VOLNAME)
+
+$(OSX_BACKGROUND_IMAGE).png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 36 -p 36 -o $@
+$(OSX_BACKGROUND_IMAGE)@2x.png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 72 -p 72 -o $@
+$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE).png $(OSX_BACKGROUND_IMAGE)@2x.png
+	tiffutil -cathidpicheck $^ -out $@
 
 deploydir: $(OSX_DMG)
 else
@@ -114,16 +131,20 @@ $(APP_DIST_DIR)/Applications:
 $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Paccoin-Qt
 
 $(OSX_DMG): $(APP_DIST_EXTRAS)
-	$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Paccoin-Core" -no-pad -r -dir-mode 0755 -apple -o $@ dist
+	$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist
 
-$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE)
+dpi%.$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d $* -p $* | $(IMAGEMAGICK_CONVERT) - $@
+OSX_BACKGROUND_IMAGE_DPIFILES := $(foreach dpi,$(OSX_BACKGROUND_IMAGE_DPIS),dpi$(dpi).$(OSX_BACKGROUND_IMAGE))
+$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIFILES)
 	$(MKDIR_P) $(@D)
-	$(INSTALL) $< $@
-$(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store
-	$(INSTALL) $< $@
+	$(TIFFCP) -c none $(OSX_BACKGROUND_IMAGE_DPIFILES) $@
+
+$(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN)
+	$(PYTHON) $< "$@" "$(OSX_VOLNAME)"
 
 $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Paccoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
-	INSTALLNAMETOOL=$(INSTALLNAMETOOL)  OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
+	INSTALLNAMETOOL=$(INSTALLNAMETOOL)  OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
 
 deploydir: $(APP_DIST_EXTRAS)
 endif
@@ -171,16 +192,6 @@ test_paccoin.info: baseline_filtered_combined.info
 test_paccoin_filtered.info: test_paccoin.info
 	$(LCOV) -r $< "/usr/include/*" -o $@
 
-block_test.info: test_paccoin_filtered.info
-	$(MKDIR_P) qa/tmp
-	-@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS)
-	$(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@
-	$(LCOV) -z -d $(abs_builddir)/src
-	$(LCOV) -z -d $(abs_builddir)/src/leveldb
-
-block_test_filtered.info: block_test.info
-	$(LCOV) -r $< "/usr/include/*" -o $@
-
 rpc_test.info: test_paccoin_filtered.info
 	-@TIMEOUT=15 python qa/pull-tester/rpc-tests.py $(EXTENDED_RPC_TESTS)
 	$(LCOV) -c -d $(abs_builddir)/src --t rpc-tests -o $@
@@ -193,8 +204,8 @@ rpc_test_filtered.info: rpc_test.info
 test_paccoin_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info
 	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -o $@
 
-total_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info block_test_filtered.info rpc_test_filtered.info
-	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -a block_test_filtered.info -a rpc_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
+total_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info rpc_test_filtered.info
+	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -a rpc_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
 
 test_paccoin.coverage/.dirstamp:  test_paccoin_coverage.info
 	$(GENHTML) -s $< -o $(@D)
@@ -208,21 +219,19 @@ cov: test_paccoin.coverage/.dirstamp total.coverage/.dirstamp
 
 endif
 
-# Paccoin: disable the test until upstream switches from convoluted comparison tool
-# Ref https://github.com/bitcoin/bitcoin/issues/4545
-if USE_COMPARISON_TOOL
-check-local:
-	## $(MKDIR_P) qa/tmp
-	## @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1
-endif
-
 dist_noinst_SCRIPTS = autogen.sh
 
-EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
+EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
 
 CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
 
+# This file is problematic for out-of-tree builds if it exists.
+DISTCLEANFILES = qa/pull-tester/tests_config.pyc
+
 .INTERMEDIATE: $(COVERAGE_INFO)
 
+DISTCHECK_CONFIGURE_FLAGS = --enable-man
+
 clean-local:
 	rm -rf coverage_percent.txt test_paccoin.coverage/ total.coverage/ qa/tmp/ cache/ $(OSX_APP)
+	rm -rf qa/pull-tester/__pycache__
diff --git a/autogen.sh b/autogen.sh
index 3e26a183059c..27417daf7691 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,8 @@
 #!/bin/sh
+# Copyright (c) 2013-2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 set -e
 srcdir="$(dirname $0)"
 cd "$srcdir"
@@ -6,4 +10,6 @@ if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then
   LIBTOOLIZE="${GLIBTOOLIZE}"
   export LIBTOOLIZE
 fi
+which autoreconf >/dev/null || \
+  (echo "configuration failed, please install autoconf first" && exit 1)
 autoreconf --install --force --warnings=all
diff --git a/build-aux/m4/ax_boost_base.m4 b/build-aux/m4/ax_boost_base.m4
index 3f24d5ddc617..650c94fa6475 100644
--- a/build-aux/m4/ax_boost_base.m4
+++ b/build-aux/m4/ax_boost_base.m4
@@ -33,7 +33,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 23
+#serial 27
 
 AC_DEFUN([AX_BOOST_BASE],
 [
@@ -95,7 +95,7 @@ if test "x$want_boost" = "xyes"; then
       x86_64)
         libsubdirs="lib64 libx32 lib lib64"
         ;;
-      ppc64|s390x|sparc64|aarch64)
+      ppc64|s390x|sparc64|aarch64|ppc64le)
         libsubdirs="lib64 lib lib64"
         ;;
     esac
@@ -170,7 +170,7 @@ if test "x$want_boost" = "xyes"; then
         AC_MSG_RESULT(yes)
     succeeded=yes
     found_system=yes
-        ],[:
+        ],[
         ])
     AC_LANG_POP([C++])
 
@@ -179,6 +179,10 @@ if test "x$want_boost" = "xyes"; then
     dnl if we found no boost with system layout we search for boost libraries
     dnl built and installed without the --layout=system option or for a staged(not installed) version
     if test "x$succeeded" != "xyes"; then
+        CPPFLAGS="$CPPFLAGS_SAVED"
+        LDFLAGS="$LDFLAGS_SAVED"
+        BOOST_CPPFLAGS=
+        BOOST_LDFLAGS=
         _version=0
         if test "$ac_boost_path" != ""; then
             if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
@@ -191,6 +195,12 @@ if test "x$want_boost" = "xyes"; then
                     VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
                     BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
                 done
+                dnl if nothing found search for layout used in Windows distributions
+                if test -z "$BOOST_CPPFLAGS"; then
+                    if test -d "$ac_boost_path/boost" && test -r "$ac_boost_path/boost"; then
+                        BOOST_CPPFLAGS="-I$ac_boost_path"
+                    fi
+                fi
             fi
         else
             if test "$cross_compiling" != yes; then
@@ -253,7 +263,7 @@ if test "x$want_boost" = "xyes"; then
             AC_MSG_RESULT(yes)
         succeeded=yes
         found_system=yes
-            ],[:
+            ],[
             ])
         AC_LANG_POP([C++])
     fi
diff --git a/build-aux/m4/ax_boost_program_options.m4 b/build-aux/m4/ax_boost_program_options.m4
index f591441854f5..2bdb5937162e 100644
--- a/build-aux/m4/ax_boost_program_options.m4
+++ b/build-aux/m4/ax_boost_program_options.m4
@@ -29,7 +29,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 22
+#serial 24
 
 AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 [
@@ -63,9 +63,9 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 		AC_CACHE_CHECK([whether the Boost::Program_Options library is available],
 					   ax_cv_boost_program_options,
 					   [AC_LANG_PUSH(C++)
-				AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/program_options.hpp>
+				AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/program_options/errors.hpp>
                                                           ]],
-                                  [[boost::program_options::options_description generic("Generic options");
+                                  [[boost::program_options::error err("Error message");
                                    return 0;]])],
                            ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no)
 					AC_LANG_POP([C++])
@@ -74,7 +74,6 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 				AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available])
                   BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
                 if test "x$ax_boost_user_program_options_lib" = "x"; then
-                ax_lib=
                 for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do
                      ax_lib=${libextension}
 				    AC_CHECK_LIB($ax_lib, exit,
diff --git a/build-aux/m4/ax_boost_system.m4 b/build-aux/m4/ax_boost_system.m4
index 9c78280fcae4..1c05450cbe1d 100644
--- a/build-aux/m4/ax_boost_system.m4
+++ b/build-aux/m4/ax_boost_system.m4
@@ -31,7 +31,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 17
+#serial 18
 
 AC_DEFUN([AX_BOOST_SYSTEM],
 [
@@ -68,9 +68,10 @@ AC_DEFUN([AX_BOOST_SYSTEM],
 					   ax_cv_boost_system,
         [AC_LANG_PUSH([C++])
 			 CXXFLAGS_SAVE=$CXXFLAGS
+			 CXXFLAGS=
 
 			 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]],
-                                   [[boost::system::system_category]])],
+				    [[boost::system::error_category *a = 0;]])],
                    ax_cv_boost_system=yes, ax_cv_boost_system=no)
 			 CXXFLAGS=$CXXFLAGS_SAVE
              AC_LANG_POP([C++])
diff --git a/build-aux/m4/ax_check_compile_flag.m4 b/build-aux/m4/ax_check_compile_flag.m4
index c3a8d695a1bc..ca3639715e72 100644
--- a/build-aux/m4/ax_check_compile_flag.m4
+++ b/build-aux/m4/ax_check_compile_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
 #   force the compiler to issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
 #
@@ -53,19 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_COMPILE_FLAG],
-[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
 AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
 AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
   ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
   _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+  AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_check_link_flag.m4 b/build-aux/m4/ax_check_link_flag.m4
index e2d0d363e4c4..eb01a6ce135e 100644
--- a/build-aux/m4/ax_check_link_flag.m4
+++ b/build-aux/m4/ax_check_link_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   EXTRA-FLAGS FLAG".  This can for example be used to force the linker to
 #   issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_LINK_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
 #
@@ -53,18 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_LINK_FLAG],
-[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
 AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
   ax_check_save_flags=$LDFLAGS
   LDFLAGS="$LDFLAGS $4 $1"
-  AC_LINK_IFELSE([AC_LANG_PROGRAM()],
+  AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   LDFLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_check_preproc_flag.m4 b/build-aux/m4/ax_check_preproc_flag.m4
index b1cfef6b86dd..ca1d5ee2b6d1 100644
--- a/build-aux/m4/ax_check_preproc_flag.m4
+++ b/build-aux/m4/ax_check_preproc_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   "CPPFLAGS EXTRA-FLAGS FLAG".  This can for example be used to force the
 #   preprocessor to issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_PREPROC_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG.
 #
@@ -53,19 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_PREPROC_FLAG],
-[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
 AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl
 AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [
   ax_check_save_flags=$CPPFLAGS
   CPPFLAGS="$CPPFLAGS $4 $1"
-  AC_PREPROC_IFELSE([AC_LANG_PROGRAM()],
+  AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   CPPFLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_gcc_func_attribute.m4 b/build-aux/m4/ax_gcc_func_attribute.m4
index 275ca63a2c21..c788ca9bd435 100644
--- a/build-aux/m4/ax_gcc_func_attribute.m4
+++ b/build-aux/m4/ax_gcc_func_attribute.m4
@@ -31,6 +31,7 @@
 #    cold
 #    const
 #    constructor
+#    constructor_priority for constructor attribute with priority
 #    deprecated
 #    destructor
 #    dllexport
@@ -73,7 +74,7 @@
 #   and this notice are preserved.  This file is offered as-is, without any
 #   warranty.
 
-#serial 2
+#serial 3
 
 AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
     AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1])
@@ -103,6 +104,9 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
                 [const], [
                     int foo( void ) __attribute__(($1));
                 ],
+                [constructor_priority], [
+                    int foo( void ) __attribute__((__constructor__(65535/2)));
+                ],
                 [constructor], [
                     int foo( void ) __attribute__(($1));
                 ],
@@ -180,6 +184,8 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
                 [visibility], [
                     int foo_def( void ) __attribute__(($1("default")));
                     int foo_hid( void ) __attribute__(($1("hidden")));
+                    int foo_int( void ) __attribute__(($1("internal")));
+                    int foo_pro( void ) __attribute__(($1("protected")));
                 ],
                 [warning], [
                     int foo( void ) __attribute__(($1("")));
diff --git a/build-aux/m4/ax_pthread.m4 b/build-aux/m4/ax_pthread.m4
index d383ad5c6d6a..4c4051ea376f 100644
--- a/build-aux/m4/ax_pthread.m4
+++ b/build-aux/m4/ax_pthread.m4
@@ -19,10 +19,10 @@
 #   is necessary on AIX to use the special cc_r compiler alias.)
 #
 #   NOTE: You are assumed to not only compile your program with these flags,
-#   but also link it with them as well. e.g. you should link with
+#   but also to link with them as well. For example, you might link with
 #   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
 #
-#   If you are only building threads programs, you may wish to use these
+#   If you are only building threaded programs, you may wish to use these
 #   variables in your default LIBS, CFLAGS, and CC:
 #
 #     LIBS="$PTHREAD_LIBS $LIBS"
@@ -30,8 +30,8 @@
 #     CC="$PTHREAD_CC"
 #
 #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
 #
 #   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
 #   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
@@ -82,35 +82,40 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 21
+#serial 23
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
 AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
 AC_LANG_PUSH([C])
 ax_pthread_ok=no
 
 # We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
 # It gets checked for in the link test anyway.
 
 # First of all, check if the user has set any of the PTHREAD_LIBS,
 # etcetera environment variables, and if threads linking works using
 # them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-        AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test x"$ax_pthread_ok" = xno; then
+        if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
         fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
 
 # We must check for the threads library under a number of different
@@ -123,7 +128,7 @@ fi
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -132,82 +137,225 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt
 # none: in case threads are in libc; should be tried before -Kthread and
 #       other compiler flags to prevent continual compiler warnings
 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
 # pthread: Linux, etcetera
 # --thread-safe: KAI C++
 # pthread-config: use pthread-config program (for GNU Pth library)
 
-case ${host_os} in
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
         solaris*)
 
         # On Solaris (at least, for some versions), libc contains stubbed
         # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
+
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ;;
+esac
+
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
+
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
+
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
         ;;
 
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
         ;;
 esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
 
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
 
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
-                  [AC_MSG_RESULT([yes])],
-                  [ax_pthread_extra_flags=
-                   AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
+fi # $ax_pthread_clang = yes
 
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
 
-        case $flag in
+        case $ax_pthread_try_flag in
                 none)
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
                 -*)
-                AC_MSG_CHECKING([whether pthreads work with $flag])
-                PTHREAD_CFLAGS="$flag"
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-                if test x"$ax_pthread_config" = xno; then continue; fi
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
                 ;;
 
                 *)
-                AC_MSG_CHECKING([for the pthreads library -l$flag])
-                PTHREAD_LIBS="-l$flag"
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
 
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
         # Check for various functions.  We must include pthread.h,
         # since some functions may be macros.  (On the Sequent, we
@@ -218,7 +366,11 @@ for flag in $ax_pthread_flags; do
         # pthread_cleanup_push because it is one of the few pthread
         # functions on Solaris that doesn't have a non-functional libc stub.
         # We try pthread_create on general principles.
+
         AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
                         static void routine(void *a) { a = 0; }
                         static void *start_routine(void *a) { return a; }],
                        [pthread_t th; pthread_attr_t attr;
@@ -227,16 +379,14 @@ for flag in $ax_pthread_flags; do
                         pthread_attr_init(&attr);
                         pthread_cleanup_push(routine, 0);
                         pthread_cleanup_pop(0) /* ; */])],
-                [ax_pthread_ok=yes],
-                [])
+            [ax_pthread_ok=yes],
+            [])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
 
         PTHREAD_LIBS=""
         PTHREAD_CFLAGS=""
@@ -244,71 +394,74 @@ done
 fi
 
 # Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        AC_MSG_CHECKING([for joinable pthread attribute])
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-                           [int attr = $attr; return attr /* ; */])],
-                [attr_name=$attr; break],
-                [])
-        done
-        AC_MSG_RESULT([$attr_name])
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-            AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
-                               [Define to necessary symbol if this constant
-                                uses a non-standard name on your system.])
-        fi
-
-        AC_MSG_CHECKING([if more special flags are required for pthreads])
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        AC_MSG_RESULT([$flag])
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
+
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
 
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-            [ax_cv_PTHREAD_PRIO_INHERIT], [
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                                [[int i = PTHREAD_PRIO_INHERIT;]])],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
-        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
-            [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
+        if test "x$GCC" != "xyes"; then
             case $host_os in
                 aix*)
                 AS_CASE(["x/$CC"],
-                  [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-                  [#handle absolute path differently from PATH based program lookup
-                   AS_CASE(["x$CC"],
-                     [x/*],
-                     [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                     [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
                 ;;
             esac
         fi
@@ -321,7 +474,7 @@ AC_SUBST([PTHREAD_CFLAGS])
 AC_SUBST([PTHREAD_CC])
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
         ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
         :
 else
diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4
index 46529c868eb6..980f1e8f19cd 100644
--- a/build-aux/m4/bitcoin_find_bdb48.m4
+++ b/build-aux/m4/bitcoin_find_bdb48.m4
@@ -1,66 +1,78 @@
+dnl Copyright (c) 2013-2015 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 AC_DEFUN([BITCOIN_FIND_BDB48],[
-  AC_MSG_CHECKING([for Berkeley DB C++ headers])
-  BDB_CPPFLAGS=
-  BDB_LIBS=
-  bdbpath=X
-  bdb48path=X
-  bdbdirlist=
-  for _vn in 4.8 48 4 5 ''; do
-    for _pfx in b lib ''; do
-      bdbdirlist="$bdbdirlist ${_pfx}db${_vn}"
+  AC_ARG_VAR(BDB_CFLAGS, [C compiler flags for BerkeleyDB, bypasses autodetection])
+  AC_ARG_VAR(BDB_LIBS, [Linker flags for BerkeleyDB, bypasses autodetection])
+
+  if test "x$BDB_CFLAGS" = "x"; then
+    AC_MSG_CHECKING([for Berkeley DB C++ headers])
+    BDB_CPPFLAGS=
+    bdbpath=X
+    bdb48path=X
+    bdbdirlist=
+    for _vn in 4.8 48 4 5 ''; do
+      for _pfx in b lib ''; do
+        bdbdirlist="$bdbdirlist ${_pfx}db${_vn}"
+      done
     done
-  done
-  for searchpath in $bdbdirlist ''; do
-    test -n "${searchpath}" && searchpath="${searchpath}/"
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-      #include <${searchpath}db_cxx.h>
-    ]],[[
-      #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4)
-        #error "failed to find bdb 4.8+"
-      #endif
-    ]])],[
-      if test "x$bdbpath" = "xX"; then
-        bdbpath="${searchpath}"
-      fi
-    ],[
-      continue
-    ])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-      #include <${searchpath}db_cxx.h>
-    ]],[[
-      #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8)
-        #error "failed to find bdb 4.8"
-      #endif
-    ]])],[
-      bdb48path="${searchpath}"
-      break
-    ],[])
-  done
-  if test "x$bdbpath" = "xX"; then
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([libdb_cxx headers missing, Paccoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
-  elif test "x$bdb48path" = "xX"; then
-    BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
-    AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
-      AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!])
-    ],[
-      AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)])
-    ])
+    for searchpath in $bdbdirlist ''; do
+      test -n "${searchpath}" && searchpath="${searchpath}/"
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+        #include <${searchpath}db_cxx.h>
+      ]],[[
+        #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4)
+          #error "failed to find bdb 4.8+"
+        #endif
+      ]])],[
+        if test "x$bdbpath" = "xX"; then
+          bdbpath="${searchpath}"
+        fi
+      ],[
+        continue
+      ])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+        #include <${searchpath}db_cxx.h>
+      ]],[[
+        #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8)
+          #error "failed to find bdb 4.8"
+        #endif
+      ]])],[
+        bdb48path="${searchpath}"
+        break
+      ],[])
+    done
+    if test "x$bdbpath" = "xX"; then
+      AC_MSG_RESULT([no])
+      AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    elif test "x$bdb48path" = "xX"; then
+      BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
+      AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
+        AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!])
+      ],[
+        AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)])
+      ])
+    else
+      BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx)
+      bdbpath="${bdb48path}"
+    fi
   else
-    BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx)
-    bdbpath="${bdb48path}"
+    BDB_CPPFLAGS=${BDB_CFLAGS}
   fi
   AC_SUBST(BDB_CPPFLAGS)
   
-  # TODO: Ideally this could find the library version and make sure it matches the headers being used
-  for searchlib in db_cxx-4.8 db_cxx; do
-    AC_CHECK_LIB([$searchlib],[main],[
-      BDB_LIBS="-l${searchlib}"
-      break
-    ])
-  done
   if test "x$BDB_LIBS" = "x"; then
-      AC_MSG_ERROR([libdb_cxx missing, Paccoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    # TODO: Ideally this could find the library version and make sure it matches the headers being used
+    for searchlib in db_cxx-4.8 db_cxx; do
+      AC_CHECK_LIB([$searchlib],[main],[
+        BDB_LIBS="-l${searchlib}"
+        break
+      ])
+    done
+    if test "x$BDB_LIBS" = "x"; then
+        AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    fi
   fi
   AC_SUBST(BDB_LIBS)
 ])
diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4
index f15568a91be8..5abc58ce7e63 100644
--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -1,3 +1,7 @@
+dnl Copyright (c) 2013-2016 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 dnl Helper for cases where a qt dependency is not met.
 dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit.
 AC_DEFUN([BITCOIN_QT_FAIL],[
@@ -235,7 +239,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
 
 
   dnl enable qt support
-  AC_MSG_CHECKING(whether to build Paccoin Core GUI)
+  AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI)
   BITCOIN_QT_CHECK([
     bitcoin_enable_qt=yes
     bitcoin_enable_qt_test=yes
@@ -346,8 +350,9 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
           QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
         fi
       fi
-     m4_ifdef([PKG_CHECK_MODULES],[
      if test x$use_pkgconfig = xyes; then
+     : dnl
+     m4_ifdef([PKG_CHECK_MODULES],[
        PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"])
        if test x$TARGET_OS = xlinux; then
          PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"])
@@ -357,8 +362,23 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
        elif test x$TARGET_OS = xdarwin; then
          PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"])
        fi
-     fi
      ])
+     else
+       if test x$TARGET_OS = xwindows; then
+         AC_CACHE_CHECK(for Qt >= 5.6, bitcoin_cv_need_platformsupport,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+             [[#include <QtCore>]],[[
+             #if QT_VERSION < 0x050600
+             choke;
+             #endif
+             ]])],
+           [bitcoin_cv_need_platformsupport=yes],
+           [bitcoin_cv_need_platformsupport=no])
+         ])
+         if test x$bitcoin_cv_need_platformsupport = xyes; then
+           BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXPlatformSupport not found)))
+         fi
+       fi
+     fi
   else
     if test x$qt_plugin_path != x; then
       QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
@@ -468,8 +488,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
   ])
 
   BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in])))
-  BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
-  BITCOIN_QT_CHECK(AC_CHECK_LIB([jpeg] ,[main],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
+  BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
+  BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
   BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in])))
   BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled])))
   BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core]   ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found)))
diff --git a/build-aux/m4/bitcoin_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4
index 66f106c7d47b..7841042ac877 100644
--- a/build-aux/m4/bitcoin_subdir_to_include.m4
+++ b/build-aux/m4/bitcoin_subdir_to_include.m4
@@ -1,3 +1,7 @@
+dnl Copyright (c) 2013-2014 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE])
 dnl SUBDIRECTORY-NAME must end with a path separator
 AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
diff --git a/build-aux/m4/l_atomic.m4 b/build-aux/m4/l_atomic.m4
new file mode 100644
index 000000000000..75c43f9a92d3
--- /dev/null
+++ b/build-aux/m4/l_atomic.m4
@@ -0,0 +1,46 @@
+dnl Copyright (c) 2015 Tim Kosse <tim.kosse@filezilla-project.org>
+dnl Copying and distribution of this file, with or without modification, are
+dnl permitted in any medium without royalty provided the copyright notice
+dnl and this notice are preserved. This file is offered as-is, without any
+dnl warranty.
+
+# Some versions of gcc/libstdc++ require linking with -latomic if
+# using the C++ atomic library.
+#
+# Sourced from http://bugs.debian.org/797228
+
+m4_define([_CHECK_ATOMIC_testbody], [[
+  #include <atomic>
+  #include <cstdint>
+
+  int main() {
+    std::atomic<int64_t> a{};
+
+    int64_t v = 5;
+    int64_t r = a.fetch_add(v);
+    return static_cast<int>(r);
+  }
+]])
+
+AC_DEFUN([CHECK_ATOMIC], [
+
+  AC_LANG_PUSH(C++)
+
+  AC_MSG_CHECKING([whether std::atomic can be used without link library])
+
+  AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+      AC_MSG_RESULT([yes])
+    ],[
+      AC_MSG_RESULT([no])
+      LIBS="$LIBS -latomic"
+      AC_MSG_CHECKING([whether std::atomic needs -latomic])
+      AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+          AC_MSG_RESULT([yes])
+        ],[
+          AC_MSG_RESULT([no])
+          AC_MSG_FAILURE([cannot figure out how to use std::atomic])
+        ])
+    ])
+
+  AC_LANG_POP
+])
diff --git a/configure.ac b/configure.ac
index f7ffef70eb61..647399402c47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,16 +2,23 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
 AC_PREREQ([2.60])
 define(_CLIENT_VERSION_MAJOR, 0)
 define(_CLIENT_VERSION_MINOR, 12)
-define(_CLIENT_VERSION_REVISION, 5)
-define(_CLIENT_VERSION_BUILD, 1)
+define(_CLIENT_VERSION_REVISION, 6)
+define(_CLIENT_VERSION_BUILD, 0)
 define(_CLIENT_VERSION_IS_RELEASE, true)
-define(_COPYRIGHT_YEAR, 2018)
-AC_INIT([Paccoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/PACCommunity/PAC/issues],[paccoincore])
+define(_COPYRIGHT_YEAR, 2019)
+define(_COPYRIGHT_HOLDERS,[The %s developers])
+define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Paccoin Core]])
+AC_INIT([Paccoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/PaccoinCommunity/PAC/issues],[Paccoin],[https://paccoin.net/])
 AC_CONFIG_SRCDIR([src/validation.cpp])
 AC_CONFIG_HEADERS([src/config/paccoin-config.h])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([build-aux/m4])
 
+BITCOIN_DAEMON_NAME=paccoind
+BITCOIN_GUI_NAME=paccoin-qt
+BITCOIN_CLI_NAME=paccoin-cli
+BITCOIN_TX_NAME=paccoin-tx
+
 AC_CANONICAL_HOST
 
 AH_TOP([#ifndef PAC_CONFIG_H])
@@ -47,8 +54,10 @@ case $host in
      lt_cv_deplibs_check_method="pass_all"
   ;;
 esac
-dnl Require C++11 compiler (no GNU extensions)
-AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory], [nodefault])
+dnl Require C++14 compiler (no GNU extensions)
+AX_CXX_COMPILE_STDCXX([14], [noext], [mandatory], [nodefault])
+dnl Check if -latomic is required for <std::atomic>
+CHECK_ATOMIC
 
 dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures
 dnl that we get the same -std flags for both.
@@ -68,8 +77,8 @@ AC_PATH_TOOL(RANLIB, ranlib)
 AC_PATH_TOOL(STRIP, strip)
 AC_PATH_TOOL(GCOV, gcov)
 AC_PATH_PROG(LCOV, lcov)
-AC_PATH_PROG(JAVA, java)
-AC_PATH_PROG(PYTHON, python)
+dnl Python 3.x is supported from 3.4 on (see https://github.com/bitcoin/bitcoin/issues/7893)
+AC_PATH_PROGS([PYTHON], [python3.6 python3.5 python3.4 python3 python2.7 python2 python])
 AC_PATH_PROG(GENHTML, genhtml)
 AC_PATH_PROG([GIT], [git])
 AC_PATH_PROG(CCACHE,ccache)
@@ -77,9 +86,9 @@ AC_PATH_PROG(XGETTEXT,xgettext)
 AC_PATH_PROG(HEXDUMP,hexdump)
 AC_PATH_TOOL(READELF, readelf)
 AC_PATH_TOOL(CPPFILT, c++filt)
+AC_PATH_TOOL(OBJCOPY, objcopy)
 
-dnl pkg-config check.
-PKG_PROG_PKG_CONFIG
+AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
 
 # Enable wallet
 AC_ARG_ENABLE([wallet],
@@ -115,16 +124,6 @@ AC_ARG_ENABLE(bench,
     [use_bench=$enableval],
     [use_bench=yes])
 
-AC_ARG_WITH([comparison-tool],
-    AS_HELP_STRING([--with-comparison-tool],[path to java comparison tool (requires --enable-tests)]),
-    [use_comparison_tool=$withval],
-    [use_comparison_tool=no])
-
-AC_ARG_ENABLE([comparison-tool-reorg-tests],
-    AS_HELP_STRING([--enable-comparison-tool-reorg-tests],[enable expensive reorg tests in the comparison tool (default no)]),
-    [use_comparison_tool_reorg_tests=$enableval],
-    [use_comparison_tool_reorg_tests=no])
-
 AC_ARG_ENABLE([extended-rpc-tests],
     AS_HELP_STRING([--enable-extended-rpc-tests],[enable expensive RPC tests when using lcov (default no)]),
     [use_extended_rpc_tests=$enableval],
@@ -180,6 +179,12 @@ AC_ARG_ENABLE([zmq],
 
 AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
 
+AC_ARG_ENABLE(man,
+    [AS_HELP_STRING([--disable-man],
+                    [do not install man pages (default is to install)])],,
+    enable_man=yes)
+AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
+
 # Enable debug
 AC_ARG_ENABLE([debug],
     [AS_HELP_STRING([--enable-debug],
@@ -187,6 +192,13 @@ AC_ARG_ENABLE([debug],
     [enable_debug=$enableval],
     [enable_debug=no])
 
+# Turn warnings into errors
+AC_ARG_ENABLE([werror],
+    [AS_HELP_STRING([--enable-werror],
+                    [Treat certain compiler warnings as errors (default is no)])],
+    [enable_werror=$enableval],
+    [enable_werror=no])
+
 AC_LANG_PUSH([C++])
 AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
 
@@ -201,10 +213,19 @@ if test "x$enable_debug" = xyes; then
     fi
 fi
 
+ERROR_CXXFLAGS=
+if test "x$enable_werror" = "xyes"; then
+  if test "x$CXXFLAG_WERROR" = "x"; then
+    AC_MSG_ERROR("enable-werror set but -Werror is not usable")
+  fi
+  AX_CHECK_COMPILE_FLAG([-Werror=vla],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=vla"],,[[$CXXFLAG_WERROR]])
+fi
+
 if test "x$CXXFLAGS_overridden" = "xno"; then
   AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
+  AX_CHECK_COMPILE_FLAG([-Wvla],[CXXFLAGS="$CXXFLAGS -Wvla"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
 
   ## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
@@ -315,6 +336,7 @@ case $host in
          fi
        fi
 
+       AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
        AC_CHECK_PROG([BREW],brew, brew)
        if test x$BREW = xbrew; then
          dnl These Homebrew packages may be keg-only, meaning that they won't be found
@@ -348,6 +370,9 @@ case $host in
            AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool)
            AC_PATH_TOOL([OTOOL], [otool], otool)
            AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage)
+           AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
+           AC_PATH_PROGS([IMAGEMAGICK_CONVERT], [convert],convert)
+           AC_PATH_PROGS([TIFFCP], [tiffcp],tiffcp)
 
            dnl libtool will try to strip the static lib, which is a problem for
            dnl cross-builds because strip attempts to call a hard-coded ld,
@@ -366,23 +391,27 @@ case $host in
      TARGET_OS=linux
      LEVELDB_TARGET_FLAGS="-DOS_LINUX"
      ;;
+   *freebsd*)
+     LEVELDB_TARGET_FLAGS="-DOS_FREEBSD"
+     ;;
+   *openbsd*)
+     LEVELDB_TARGET_FLAGS="-DOS_OPENBSD"
+     ;;
    *)
      OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
+     AC_MSG_WARN([Guessing LevelDB OS as OS_${OTHER_OS}, please check whether this is correct, if not add an entry to configure.ac.])
      LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
      ;;
 esac
 
-if test x$use_comparison_tool != xno; then
-  AC_SUBST(JAVA_COMPARISON_TOOL, $use_comparison_tool)
-fi
-
-if test x$use_comparison_tool_reorg_tests != xno; then
-  if test x$use_comparison_tool = x; then
-    AC_MSG_ERROR("comparison tool reorg tests but comparison tool was not specified")
+if test x$use_pkgconfig = xyes; then
+  m4_ifndef([PKG_PROG_PKG_CONFIG], [AC_MSG_ERROR(PKG_PROG_PKG_CONFIG macro not found. Please install pkg-config and re-run autogen.sh.)])
+  m4_ifdef([PKG_PROG_PKG_CONFIG], [
+  PKG_PROG_PKG_CONFIG
+  if test x"$PKG_CONFIG" = "x"; then
+    AC_MSG_ERROR(pkg-config not found.)
   fi
-  AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 1)
-else
-  AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 0)
+  ])
 fi
 
 if test x$use_extended_rpc_tests != xno; then
@@ -396,19 +425,15 @@ if test x$use_lcov = xyes; then
   if test x$GCOV = x; then
     AC_MSG_ERROR("lcov testing requested but gcov not found")
   fi
-  if test x$JAVA = x; then
-    AC_MSG_ERROR("lcov testing requested but java not found")
-  fi
   if test x$PYTHON = x; then
     AC_MSG_ERROR("lcov testing requested but python not found")
   fi
   if test x$GENHTML = x; then
     AC_MSG_ERROR("lcov testing requested but genhtml not found")
   fi
-  if test x$use_comparison_tool = x; then
-    AC_MSG_ERROR("lcov testing requested but comparison tool was not specified")
-  fi
   LCOV="$LCOV --gcov-tool=$GCOV"
+  AX_CHECK_LINK_FLAG([[--coverage]], [LDFLAGS="$LDFLAGS --coverage"],
+    [AC_MSG_ERROR("lcov testing requested but --coverage linker flag does not work")])
   AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
     [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
 fi
@@ -485,6 +510,7 @@ if test x$use_hardening != xno; then
 
   AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
   AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
+  AX_CHECK_LINK_FLAG([[-Wl,--high-entropy-va]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--high-entropy-va"])
   AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
   AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
 
@@ -506,11 +532,12 @@ if test x$TARGET_OS = xdarwin; then
 fi
 
 AC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h])
-AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])])
-AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])])
 
 AC_CHECK_DECLS([strnlen])
 
+# Check for daemon(3), unrelated to --with-daemon (although used by it)
+AC_CHECK_DECLS([daemon])
+
 AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,,
 		[#if HAVE_ENDIAN_H
                  #include <endian.h>
@@ -531,6 +558,14 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
  [ AC_MSG_RESULT(no)]
 )
 
+dnl Check for mallopt(M_ARENA_MAX) (to set glibc arenas)
+AC_MSG_CHECKING(for mallopt M_ARENA_MAX)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <malloc.h>]],
+ [[ mallopt(M_ARENA_MAX, 1); ]])],
+ [ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MALLOPT_ARENA_MAX, 1,[Define this symbol if you have mallopt with M_ARENA_MAX]) ],
+ [ AC_MSG_RESULT(no)]
+)
+
 AC_MSG_CHECKING([for visibility attribute])
 AC_LINK_IFELSE([AC_LANG_SOURCE([
   int foo_def( void ) __attribute__((visibility("default")));
@@ -553,18 +588,6 @@ if test x$use_reduce_exports = xyes; then
   [AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
 fi
 
-dnl This can go away when we require c++11
-TEMP_CXXFLAGS="$CXXFLAGS"
-CXXFLAGS="$CXXFLAGS -std=c++0x"
-AC_MSG_CHECKING(for c++11 atomics)
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-  #include <atomic>
-  ]],[[]])],
-  [ AC_MSG_RESULT(yes); LEVELDB_ATOMIC_CPPFLAGS="-DLEVELDB_ATOMIC_PRESENT"; LEVELDB_ATOMIC_CXXFLAGS="-std=c++0x"],
-  [ AC_MSG_RESULT(no)]
-)
-CXXFLAGS="$TEMP_CXXFLAGS"
-
 LEVELDB_CPPFLAGS=
 LIBLEVELDB=
 LIBMEMENV=
@@ -592,7 +615,7 @@ BITCOIN_QT_INIT
 dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
 BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5])
 
-if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests = xnononono; then
+if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
     use_boost=no
 else
     use_boost=yes
@@ -600,8 +623,11 @@ fi
 
 if test x$use_boost = xyes; then
 
+dnl Minimum required Boost version
+define(MINIMUM_REQUIRED_BOOST, 1.47.0)
+
 dnl Check for boost libs
-AX_BOOST_BASE
+AX_BOOST_BASE([MINIMUM_REQUIRED_BOOST])
 AX_BOOST_SYSTEM
 AX_BOOST_FILESYSTEM
 AX_BOOST_PROGRAM_OPTIONS
@@ -761,12 +787,7 @@ fi
 fi
 
 if test x$use_pkgconfig = xyes; then
-
-  if test x"$PKG_CONFIG" = "x"; then
-    AC_MSG_ERROR(pkg-config not found.)
-  fi
-
-  : #NOP
+  : dnl
   m4_ifdef(
     [PKG_CHECK_MODULES],
     [
@@ -823,6 +844,15 @@ else
     AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
   fi
 
+  if test "x$use_zmq" = "xyes"; then
+    dnl Assume libzmq was built for static linking
+    case $host in
+      *mingw*)
+        ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
+      ;;
+    esac
+  fi
+
   BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found)))
   if test x$use_qr != xno; then
     BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
@@ -830,8 +860,21 @@ else
   fi
 fi
 
+save_CXXFLAGS="${CXXFLAGS}"
+CXXFLAGS="${CXXFLAGS} ${CRYPTO_CFLAGS} ${SSL_CFLAGS}"
+AC_CHECK_DECLS([EVP_MD_CTX_new],,,[AC_INCLUDES_DEFAULT
+#include <openssl/x509_vfy.h>
+])
+CXXFLAGS="${save_CXXFLAGS}"
+
 dnl univalue check
 
+need_bundled_univalue=yes
+
+if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
+  need_bundled_univalue=no
+else
+
 if test x$system_univalue != xno ; then
   found_univalue=no
   if test x$use_pkgconfig = xyes; then
@@ -853,6 +896,7 @@ if test x$system_univalue != xno ; then
 
   if test x$found_univalue = xyes ; then
     system_univalue=yes
+    need_bundled_univalue=no
   elif test x$system_univalue = xyes ; then
     AC_MSG_ERROR([univalue not found])
   else
@@ -860,22 +904,17 @@ if test x$system_univalue != xno ; then
   fi
 fi
 
-if test x$system_univalue = xno ; then
+if test x$need_bundled_univalue = xyes ; then
   UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
   UNIVALUE_LIBS='univalue/libunivalue.la'
 fi
-AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$system_univalue = xno])
+
+fi
+
+AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes])
 AC_SUBST(UNIVALUE_CFLAGS)
 AC_SUBST(UNIVALUE_LIBS)
 
-CXXFLAGS_TEMP="$CXXFLAGS"
-LIBS_TEMP="$LIBS"
-CXXFLAGS="$CXXFLAGS $SSL_CFLAGS $CRYPTO_CFLAGS"
-LIBS="$LIBS $SSL_LIBS $CRYPTO_LIBS"
-AC_CHECK_HEADER([openssl/ec.h],, AC_MSG_ERROR(OpenSSL ec header missing),)
-CXXFLAGS="$CXXFLAGS_TEMP"
-LIBS="$LIBS_TEMP"
-
 BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
 
 AC_MSG_CHECKING([whether to build paccoind])
@@ -1010,8 +1049,8 @@ else
   AC_MSG_RESULT([no])
 fi
 
-if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_tests = xnonononono; then
-  AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui or --enable-tests])
+if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnononononono; then
+  AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
 fi
 
 AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin])
@@ -1024,8 +1063,6 @@ AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
 AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
 AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
 AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
-AM_CONDITIONAL([USE_COMPARISON_TOOL],[test x$use_comparison_tool != xno])
-AM_CONDITIONAL([USE_COMPARISON_TOOL_REORG_TESTS],[test x$use_comparison_tool_reorg_test != xno])
 AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
 AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
 
@@ -1034,15 +1071,27 @@ AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version])
 AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision])
 AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build])
 AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release])
-AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release])
+AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year])
+AC_DEFINE(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS", [Copyright holder(s) before %s replacement])
+AC_DEFINE(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION", [Replacement for %s in copyright holders string])
+define(_COPYRIGHT_HOLDERS_FINAL, [patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT_HOLDERS_SUBSTITUTION])])
+AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)])
 AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR)
 AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR)
 AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION)
 AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD)
 AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE)
 AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR)
+AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS")
+AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION")
+AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL")
+AC_SUBST(BITCOIN_DAEMON_NAME)
+AC_SUBST(BITCOIN_GUI_NAME)
+AC_SUBST(BITCOIN_CLI_NAME)
+AC_SUBST(BITCOIN_TX_NAME)
 
 AC_SUBST(RELDFLAGS)
+AC_SUBST(ERROR_CXXFLAGS)
 AC_SUBST(HARDENED_CXXFLAGS)
 AC_SUBST(HARDENED_CPPFLAGS)
 AC_SUBST(HARDENED_LDFLAGS)
@@ -1056,11 +1105,17 @@ AC_SUBST(TESTDEFS)
 AC_SUBST(LEVELDB_TARGET_FLAGS)
 AC_SUBST(MINIUPNPC_CPPFLAGS)
 AC_SUBST(MINIUPNPC_LIBS)
-AC_SUBST(LEVELDB_ATOMIC_CPPFLAGS)
-AC_SUBST(LEVELDB_ATOMIC_CXXFLAGS)
-AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
-AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
+AC_SUBST(CRYPTO_LIBS)
+AC_SUBST(SSL_LIBS)
+AC_SUBST(EVENT_LIBS)
+AC_SUBST(EVENT_PTHREADS_LIBS)
+AC_SUBST(ZMQ_LIBS)
+AC_SUBST(PROTOBUF_LIBS)
+AC_SUBST(QR_LIBS)
+AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
 AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
+AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
+AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py])
 
 dnl boost's m4 checks do something really nasty: they export these vars. As a
 dnl result, they leak into secp256k1's configure and crazy things happen.
@@ -1085,7 +1140,7 @@ PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR"
 unset PKG_CONFIG_LIBDIR
 PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP"
 
-if test x$system_univalue = xno; then
+if test x$need_bundled_univalue = xyes; then
   AC_CONFIG_SUBDIRS([src/univalue])
 fi
 
@@ -1112,3 +1167,29 @@ case ${OS} in
      mv qa/pull-tester/tests_config-2.py qa/pull-tester/tests_config.py
    ;;
 esac
+
+echo 
+echo "Options used to compile and link:"
+echo "  with wallet   = $enable_wallet"
+echo "  with gui / qt = $bitcoin_enable_qt"
+if test x$bitcoin_enable_qt != xno; then
+    echo "    qt version  = $bitcoin_qt_got_major_vers"
+    echo "    with qr     = $use_qr"
+fi
+echo "  with zmq      = $use_zmq"
+echo "  with test     = $use_tests"
+echo "  with bench    = $use_bench"
+echo "  with upnp     = $use_upnp"
+echo "  debug enabled = $enable_debug"
+echo "  werror        = $enable_werror"
+echo 
+echo "  target os     = $TARGET_OS"
+echo "  build os      = $BUILD_OS"
+echo
+echo "  CC            = $CC"
+echo "  CFLAGS        = $CFLAGS"
+echo "  CPPFLAGS      = $CPPFLAGS"
+echo "  CXX           = $CXX"
+echo "  CXXFLAGS      = $CXXFLAGS"
+echo "  LDFLAGS       = $LDFLAGS"
+echo 
diff --git a/contrib/devtools/split-debug.sh b/contrib/devtools/split-debug.sh
new file mode 100755
index 000000000000..7f124ca9d909
--- /dev/null
+++ b/contrib/devtools/split-debug.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ $# -ne 3 ];
+    then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
+fi
+
+ --enable-deterministic-archives -p --only-keep-debug $1 $3
+ --enable-deterministic-archives -p --strip-debug $1 $2
+/usr/bin/strip --enable-deterministic-archives -p -s $2
+ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
diff --git a/contrib/devtools/split-debug.sh.in b/contrib/devtools/split-debug.sh.in
new file mode 100644
index 000000000000..deda49cc5410
--- /dev/null
+++ b/contrib/devtools/split-debug.sh.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ $# -ne 3 ];
+    then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
+fi
+
+@OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
+@OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
+@STRIP@ --enable-deterministic-archives -p -s $2
+@OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md
index b4f76ac3eb98..b89b60014e36 100644
--- a/contrib/gitian-descriptors/README.md
+++ b/contrib/gitian-descriptors/README.md
@@ -26,7 +26,7 @@ Once you've got the right hardware and software:
 
     # Create base images
     cd gitian-builder
-    bin/make-base-vm --suite trusty --arch amd64
+    bin/make-base-vm --suite bionic --arch amd64
     cd ..
 
     # Get inputs (see doc/release-process.md for exact inputs needed and where to get them)
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 9983f29c208f..8cb761653f1b 100755
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,34 +1,46 @@
 ---
-name: "paccoin-linux-0.12"
+name: "paccoin-linux-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "curl"
-- "g++-multilib"
-- "git-core"
+- "g++-aarch64-linux-gnu"
+- "g++-7-aarch64-linux-gnu"
+- "gcc-7-aarch64-linux-gnu"
+- "binutils-aarch64-linux-gnu"
+- "g++-arm-linux-gnueabihf"
+- "g++-7-arm-linux-gnueabihf"
+- "gcc-7-arm-linux-gnueabihf"
+- "binutils-arm-linux-gnueabihf"
+- "g++-7-multilib"
+- "gcc-7-multilib"
+- "binutils-gold"
+- "git"
 - "pkg-config"
 - "autoconf"
 - "libtool"
 - "automake"
+- "cmake"
 - "faketime"
 - "bsdmainutils"
-- "binutils-gold"
 - "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python3"
+- "libxkbcommon0"
 remotes:
 - "url": "https://github.com/PACCommunity/PAC.git"
   "dir": "PAC"
 files: []
 script: |
+
   WRAP_DIR=$HOME/wrapped
-  HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
-  CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests LDFLAGS=-static-libstdc++"
+  HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu"
+  CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
   FAKETIME_HOST_PROGS=""
-  FAKETIME_PROGS="date ar ranlib nm strip objcopy"
+  FAKETIME_PROGS="date ar ranlib nm"
   HOST_CFLAGS="-O2 -g"
   HOST_CXXFLAGS="-O2 -g"
   HOST_LDFLAGS=-static-libstdc++
@@ -41,40 +53,113 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories and fix the compiler check of ccache
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    # As we later wrap the gcc binaries, this is fast
+    export CCACHE_COMPILERCHECK="content"
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
-  # Create global faketime wrappers
+  # We include the GCC version in all wrappers so that ccache can detect compiler upgrades when hashing the wrappers
+  GCCVERSION=`gcc --version | head -1`
+
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
+    echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
+
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
+  EXTRA_INCLUDES_BASE=$WRAP_DIR/extra_includes
+  mkdir -p $EXTRA_INCLUDES_BASE
+
+  # x86 needs /usr/include/i386-linux-gnu/asm pointed to /usr/include/x86_64-linux-gnu/asm,
+  # but we can't write there. Instead, create a link here and force it to be included in the
+  # search paths by wrapping gcc/g++.
+
+  mkdir -p $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu
+  rm -f $WRAP_DIR/extra_includes/i686-pc-linux-gnu/asm
+  ln -s /usr/include/x86_64-linux-gnu/asm $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu/asm
+
+  for prog in gcc g++; do
+  rm -f ${WRAP_DIR}/${prog}
+  cat << EOF > ${WRAP_DIR}/${prog}
+  #!/bin/bash
+  # GCCVERSION=${GCCVERSION}
+  REAL="`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1`"
+  for var in "\$@"
+  do
+    if [ "\$var" = "-m32" ]; then
+      export C_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu"
+      export CPLUS_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu"
+      break
+    fi
+  done
+  \$REAL \$@
+  EOF
+  chmod +x ${WRAP_DIR}/${prog}
+  touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
+  done
+
   cd PAC
   BASEPREFIX=`pwd`/depends
   # Build dependencies for each host
   for i in $HOSTS; do
+    EXTRA_INCLUDES="$EXTRA_INCLUDES_BASE/$i"
+    if [ -d "$EXTRA_INCLUDES" ]; then
+      export HOST_ID_SALT="$EXTRA_INCLUDES"
+    fi
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
+    unset HOST_ID_SALT
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -98,17 +183,27 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
     make ${MAKEOPTS}
     make ${MAKEOPTS} -C src check-security
-    make ${MAKEOPTS} -C src check-symbols
+
+    #TODO: This is a quick hack that disables symbol checking for arm.
+    #      Instead, we should investigate why these are popping up.
+    #      For aarch64, we'll need to bump up the min GLIBC version, as the abi
+    #      support wasn't introduced until 2.17.
+    case $i in
+       aarch64-*) : ;;
+       arm-*) : ;;
+       *) make ${MAKEOPTS} -C src check-symbols ;;
+    esac
+
     make install DESTDIR=${INSTALLPATH}
     cd installed
     find . -name "lib*.la" -delete
     find . -name "lib*.a" -delete
     rm -rf ${DISTNAME}/lib/pkgconfig
-    find ${DISTNAME}/bin -type f -executable -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
-    find ${DISTNAME}/lib -type f -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
+    find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
+    find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
     find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
     find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
     cd ../../
@@ -116,8 +211,11 @@ script: |
   done
   mkdir -p $OUTDIR/src
   mv $SOURCEDIST $OUTDIR/src
-  mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux64-debug.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-i686-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux32-debug.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
 
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml
index b8c24cdf5744..0e2d52822d74 100644
--- a/contrib/gitian-descriptors/gitian-osx-signer.yml
+++ b/contrib/gitian-descriptors/gitian-osx-signer.yml
@@ -1,17 +1,16 @@
 ---
 name: "paccoin-dmg-signer"
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "faketime"
-reference_datetime: "2017-01-01 00:00:00"
 remotes:
-- "url": "https://github.com/paccoinpay/paccoin-detached-sigs.git"
+- "url": "https://github.com/PACCommunity/pac-detached-sigs.git"
   "dir": "signature"
 files:
-- "paccoin-osx-unsigned.tar.gz"
+- "paccoincore-osx-unsigned.tar.gz"
 script: |
   WRAP_DIR=$HOME/wrapped
   mkdir -p ${WRAP_DIR}
@@ -28,10 +27,11 @@ script: |
     chmod +x ${WRAP_DIR}/${prog}
   done
 
-  UNSIGNED=paccoin-osx-unsigned.tar.gz
-  SIGNED=paccoin-osx-signed.dmg
+  UNSIGNED=paccoincore-osx-unsigned.tar.gz
+  SIGNED=paccoincore-osx-signed.dmg
 
   tar -xf ${UNSIGNED}
+  OSX_VOLNAME="$(cat osx_volname)"
   ./detached-sig-apply.sh ${UNSIGNED} signature/osx
-  ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Paccoin-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
+  ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
   ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
index 2b849e9f6785..ee1e0eb315e8 100644
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -1,32 +1,39 @@
 ---
-name: "paccoin-osx-0.12"
+name: "paccoin-osx-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
-packages: 
+packages:
+- "ca-certificates"
 - "curl"
 - "g++"
-- "git-core"
+- "git"
 - "pkg-config"
 - "autoconf"
+- "librsvg2-bin"
+- "libtiff-tools"
 - "libtool"
 - "automake"
 - "faketime"
 - "bsdmainutils"
 - "cmake"
+- "imagemagick"
 - "libcap-dev"
 - "libz-dev"
 - "libbz2-dev"
-- "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python-dev"
+- "python3"
+- "python3-dev"
+- "python3-setuptools"
+- "fonts-tuffy"
 remotes:
-- "url": "https://github.com/PACCommunity/PAC.git"
+- "url": "https://github.com/CryptoMx/PAC.git"
   "dir": "PAC"
 files:
-- "MacOSX10.9.sdk.tar.gz"
+- "MacOSX10.11.sdk.tar.gz"
 script: |
   WRAP_DIR=$HOME/wrapped
   HOSTS="x86_64-apple-darwin11"
@@ -42,46 +49,76 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
   export ZERO_AR_DATE=1
 
-  # Create global faketime wrappers
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
+
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
   cd PAC
   BASEPREFIX=`pwd`/depends
 
   mkdir -p ${BASEPREFIX}/SDKs
-  tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.9.sdk.tar.gz
+  tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.11.sdk.tar.gz
 
   # Build dependencies for each host
   for i in $HOSTS; do
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -106,12 +143,15 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
     make ${MAKEOPTS}
     make install-strip DESTDIR=${INSTALLPATH}
 
+    make osx_volname
     make deploydir
+    OSX_VOLNAME="$(cat osx_volname)"
     mkdir -p unsigned-app-${i}
+    cp osx_volname unsigned-app-${i}/
     cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i}
     cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i}
     cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i}
@@ -123,7 +163,7 @@ script: |
     popd
 
     make deploy
-    ${WRAP_DIR}/dmg dmg Paccoin-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
+    ${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
 
     cd installed
     find . -name "lib*.la" -delete
@@ -135,3 +175,11 @@ script: |
   mkdir -p $OUTDIR/src
   mv $SOURCEDIST $OUTDIR/src
   mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
+
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml
index 9a009d6aa0d5..709bfd4638da 100644
--- a/contrib/gitian-descriptors/gitian-win-signer.yml
+++ b/contrib/gitian-descriptors/gitian-win-signer.yml
@@ -1,20 +1,19 @@
 ---
-name: "bitcoin-win-signer"
+name: "paccoin-win-signer"
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "libssl-dev"
 - "autoconf"
-reference_datetime: "2017-01-01 00:00:00"
 remotes:
-- "url": "https://github.com/paccoinpay/paccoin-detached-sigs.git"
+- "url": "https://github.com/PACCommunity/pac-detached-sigs.git"
   "dir": "signature"
 files:
 - "osslsigncode-1.7.1.tar.gz"
 - "osslsigncode-Backports-to-1.7.1.patch"
-- "bitcoin-win-unsigned.tar.gz"
+- "paccoincore-win-unsigned.tar.gz"
 script: |
   BUILD_DIR=`pwd`
   SIGDIR=${BUILD_DIR}/signature/win
@@ -24,7 +23,7 @@ script: |
   echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911  osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
 
   mkdir -p ${UNSIGNED_DIR}
-  tar -C ${UNSIGNED_DIR} -xf bitcoin-win-unsigned.tar.gz
+  tar -C ${UNSIGNED_DIR} -xf paccoincore-win-unsigned.tar.gz
 
   tar xf osslsigncode-1.7.1.tar.gz
   cd osslsigncode-1.7.1
diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml
index 6ebe88076024..f2e7ff3b592b 100755
--- a/contrib/gitian-descriptors/gitian-win.yml
+++ b/contrib/gitian-descriptors/gitian-win.yml
@@ -1,18 +1,19 @@
 ---
-name: "paccoin-win-0.12"
+name: "paccoin-win-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
-packages: 
+packages:
 - "curl"
 - "g++"
-- "git-core"
+- "git"
 - "pkg-config"
 - "autoconf"
 - "libtool"
 - "automake"
+- "cmake"
 - "faketime"
 - "bsdmainutils"
 - "mingw-w64"
@@ -21,16 +22,17 @@ packages:
 - "zip"
 - "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python3"
+- "rename"
 remotes:
 - "url": "https://github.com/PACCommunity/PAC.git"
   "dir": "PAC"
 files: []
 script: |
   WRAP_DIR=$HOME/wrapped
-  HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
+  HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
   CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests"
-  FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip objcopy"
+  FAKETIME_HOST_PROGS="ar ranlib nm windres strip objcopy"
   FAKETIME_PROGS="date makensis zip"
   HOST_CFLAGS="-O2 -g"
   HOST_CXXFLAGS="-O2 -g"
@@ -43,55 +45,93 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories and fix the compiler check of ccache
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    # As we later wrap the gcc binaries, this is fast
+    export CCACHE_COMPILERCHECK="content"
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
-  # Create global faketime wrappers
+  # We include the GCC version in all wrappers so that ccache can detect compiler upgrades when hashing the wrappers
+  GCCVERSION=`gcc --version | head -1`
+
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
+    echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
 
-  # Create per-host linker wrapper
+  function create_per-host_linker_wrapper {
   # This is only needed for trusty, as the mingw linker leaks a few bytes of
   # heap, causing non-determinism. See discussion in https://github.com/bitcoin/bitcoin/pull/6900
   for i in $HOSTS; do
     mkdir -p ${WRAP_DIR}/${i}
     for prog in collect2; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}/${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}/${prog}
         REAL=$(${i}-gcc -print-prog-name=${prog})
         echo "export MALLOC_PERTURB_=255" >> ${WRAP_DIR}/${i}/${prog}
         echo "${REAL} \$@" >> $WRAP_DIR/${i}/${prog}
         chmod +x ${WRAP_DIR}/${i}/${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}/${prog}
     done
     for prog in gcc g++; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
-        echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
+        echo "REAL=\`which -a ${i}-${prog}-posix | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
+        echo '# Add the gcc version to the wrapper so that ccache takes this into account (we use CCACHE_COMPILERCHECK=content)' >> ${WRAP_DIR}/${i}-${prog}
+        echo "# `${prog} --version | head -1`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "export COMPILER_PATH=${WRAP_DIR}/${i}" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
 
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_linker_wrapper "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
   cd PAC
@@ -101,6 +141,13 @@ script: |
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_linker_wrapper "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -127,7 +174,7 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
     make ${MAKEOPTS}
     make ${MAKEOPTS} -C src check-security
     make deploy
@@ -152,3 +199,11 @@ script: |
   mv ${OUTDIR}/${DISTNAME}-i686-*-debug.zip ${OUTDIR}/${DISTNAME}-win32-debug.zip
   mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
   mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip
+
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/depends/.gitignore b/depends/.gitignore
index 1f163897b9ef..3cb4b9ac1555 100644
--- a/depends/.gitignore
+++ b/depends/.gitignore
@@ -7,3 +7,4 @@ x86_64*
 i686*
 mips*
 arm*
+aarch64*
diff --git a/depends/Makefile b/depends/Makefile
index ef5a20e6c36a..dedb0674cf14 100644
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -15,6 +15,8 @@ BASEDIR = $(CURDIR)
 HASH_LENGTH:=11
 DOWNLOAD_CONNECT_TIMEOUT:=10
 DOWNLOAD_RETRIES:=3
+HOST_ID_SALT ?= salt
+BUILD_ID_SALT ?= salt
 
 host:=$(BUILD)
 ifneq ($(HOST),)
@@ -73,13 +75,31 @@ include builders/$(build_os).mk
 include builders/default.mk
 include packages/packages.mk
 
-qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages)
-qt_native_packages_$(NO_QT) = $(qt_native_packages)
+build_id_string:=$(BUILD_ID_SALT)
+build_id_string+=$(shell $(build_CC) --version 2>/dev/null)
+build_id_string+=$(shell $(build_AR) --version 2>/dev/null)
+build_id_string+=$(shell $(build_CXX) --version 2>/dev/null)
+build_id_string+=$(shell $(build_RANLIB) --version 2>/dev/null)
+build_id_string+=$(shell $(build_STRIP) --version 2>/dev/null)
+
+$(host_arch)_$(host_os)_id_string:=$(HOST_ID_SALT)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_CC) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
+
+qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch)_$(host_os)_packages)
 wallet_packages_$(NO_WALLET) = $(wallet_packages)
 upnp_packages_$(NO_UPNP) = $(upnp_packages)
 
 packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_)
-native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) $(qt_native_packages_)
+native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
+
+ifneq ($(qt_packages_),)
+native_packages += $(qt_native_packages)
+endif
+
 all_packages = $(packages) $(native_packages)
 
 meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
@@ -90,7 +110,7 @@ include funcs.mk
 
 toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin)
 final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in)
-final_build_id+=$(shell echo -n $(final_build_id_long) | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
+final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
 $(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
 	$(AT)rm -rf $(@D)
 	$(AT)mkdir -p $(@D)
@@ -131,9 +151,9 @@ endef
 
 define check_or_remove_sources
   mkdir -p $($(package)_source_dir); cd $($(package)_source_dir); \
-  $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \
-    ( if test -f $($(package)_all_sources); then echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; fi; \
-      rm -f $($(package)_all_sources) $($(1)_fetched))
+  test -f $($(package)_fetched) && ( $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \
+    ( echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; \
+      rm -f $($(package)_all_sources) $($(1)_fetched))) || true
 endef
 
 check-packages:
diff --git a/depends/README.md b/depends/README.md
index 37b073e0287a..5209c29104d7 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -12,9 +12,9 @@ For example:
 
     make HOST=x86_64-w64-mingw32 -j4
 
-A prefix will be generated that's suitable for plugging into Paccoin's
+A prefix will be generated that's suitable for plugging into Dash's
 configure. In the above example, a dir named x86_64-w64-mingw32 will be
-created. To use it for Paccoin:
+created. To use it for Dash:
 
     ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
 
@@ -23,7 +23,8 @@ Common `host-platform-triplets` for cross compilation are:
 - `i686-w64-mingw32` for Win32
 - `x86_64-w64-mingw32` for Win64
 - `x86_64-apple-darwin11` for MacOSX
-- `arm-linux-gnueabihf` for Linux ARM
+- `arm-linux-gnueabihf` for Linux ARM 32 bit
+- `aarch64-linux-gnu` for Linux ARM 64 bit
 
 No other options are needed, the paths are automatically configured.
 
@@ -38,9 +39,11 @@ The following can be set when running make: make FOO=bar
     NO_WALLET: Don't download/build/cache libs needed to enable the wallet
     NO_UPNP: Don't download/build/cache packages needed for enabling upnp
     DEBUG: disable some optimizations and enable more runtime checking
+    HOST_ID_SALT: Optional salt to use when generating host package ids
+    BUILD_ID_SALT: Optional salt to use when generating build package ids
 
 If some packages are not built, for example `make NO_WALLET=1`, the appropriate
-options will be passed to Paccoin Core's configure. In this case, `--disable-wallet`.
+options will be passed to Dash Core's configure. In this case, `--disable-wallet`.
 
 Additional targets:
 
diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk
index cedbddc57847..d15d6feea6f4 100644
--- a/depends/builders/darwin.mk
+++ b/depends/builders/darwin.mk
@@ -7,11 +7,11 @@ build_darwin_OTOOL: = $(shell xcrun -f otool)
 build_darwin_NM: = $(shell xcrun -f nm)
 build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
 build_darwin_SHA256SUM = shasum -a 256
-build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o
+build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
 
 #darwin host on darwin builder. overrides darwin host preferences.
 darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
-darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION)
+darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ -fvisibility=hidden
 darwin_AR:=$(shell xcrun -f ar)
 darwin_RANLIB:=$(shell xcrun -f ranlib)
 darwin_STRIP:=$(shell xcrun -f strip)
diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk
index d6a304e4b4b9..b03f42401047 100644
--- a/depends/builders/linux.mk
+++ b/depends/builders/linux.mk
@@ -1,2 +1,2 @@
 build_linux_SHA256SUM = sha256sum
-build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o
+build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
diff --git a/depends/config.guess b/depends/config.guess
index fba6e87a0f87..bbd48b60e88b 100755
--- a/depends/config.guess
+++ b/depends/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-11-19'
+timestamp='2017-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-11-19'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -186,9 +186,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+	    earm*)
+		os=netbsdelf
+		;;
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
@@ -237,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -268,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -376,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -410,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -635,13 +642,13 @@ EOF
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -680,11 +687,11 @@ EOF
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -697,12 +704,12 @@ EOF
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -807,14 +814,14 @@ EOF
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -896,7 +903,7 @@ EOF
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -919,7 +926,7 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -993,6 +1000,9 @@ EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    mips64el:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     openrisc*:Linux:*:*)
 	echo or1k-unknown-linux-${LIBC}
 	exit ;;
@@ -1025,6 +1035,9 @@ EOF
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1272,6 +1285,9 @@ EOF
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1285,9 +1301,9 @@ EOF
 	    UNAME_PROCESSOR=powerpc
 	fi
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		    grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
@@ -1309,7 +1325,7 @@ EOF
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1340,7 +1356,7 @@ EOF
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1382,7 +1398,7 @@ EOF
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1394,25 +1410,24 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
     amd64:Isilon\ OneFS:*:*)
-        echo x86_64-unknown-onefs
+	echo x86_64-unknown-onefs
 	exit ;;
 esac
 
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
diff --git a/depends/config.site.in b/depends/config.site.in
index 9e8aee159bf7..3d7c9fd43c7a 100644
--- a/depends/config.site.in
+++ b/depends/config.site.in
@@ -19,9 +19,6 @@ fi
 if test -z $with_protoc_bindir; then
   with_protoc_bindir=$depends_prefix/native/bin
 fi
-if test -z $with_comparison_tool; then
-  with_comparison_tool=$depends_prefix/native/share/BitcoindComparisonTool_jar/BitcoindComparisonTool.jar
-fi
 
 
 if test -z $enable_wallet && test -n "@no_wallet@"; then
@@ -66,8 +63,6 @@ LDFLAGS="-L$depends_prefix/lib $LDFLAGS"
 CC="@CC@"
 CXX="@CXX@"
 OBJC="${CC}"
-OBJCXX="${CXX}"
-CCACHE=$prefix/native/bin/ccache
 CCACHE=$depends_prefix/native/bin/ccache
 PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH
 
diff --git a/depends/config.sub b/depends/config.sub
index ea8747d30fff..7e792b4ae17b 100755
--- a/depends/config.sub
+++ b/depends/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-11-22'
+timestamp='2017-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-11-22'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -301,6 +301,7 @@ case $basic_machine in
 	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
 	| riscv32 | riscv64 \
 	| rl78 | rx \
@@ -428,6 +429,7 @@ case $basic_machine in
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
 	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
@@ -520,7 +522,7 @@ case $basic_machine in
 		basic_machine=i386-pc
 		os=-aros
 		;;
-        asmjs)
+	asmjs)
 		basic_machine=asmjs-unknown
 		;;
 	aux)
@@ -643,6 +645,14 @@ case $basic_machine in
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -1022,7 +1032,7 @@ case $basic_machine in
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1032,7 +1042,7 @@ case $basic_machine in
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1382,14 +1392,14 @@ case $os in
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1399,7 +1409,7 @@ case $os in
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
 	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-	      | -onefs* | -tirtos*)
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1531,6 +1541,8 @@ case $os in
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1626,6 +1638,9 @@ case $basic_machine in
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;
diff --git a/depends/funcs.mk b/depends/funcs.mk
index 050a9b132137..15e404e42dcf 100644
--- a/depends/funcs.mk
+++ b/depends/funcs.mk
@@ -19,15 +19,19 @@ define int_get_all_dependencies
 $(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies))))
 endef
 
-define fetch_file
-(test -f $$($(1)_source_dir)/$(4) || \
-  ( mkdir -p $$($(1)_download_dir) && echo Fetching $(1)... && \
-  ( $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" || \
-    $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \
+define fetch_file_inner
+    ( mkdir -p $$($(1)_download_dir) && echo Fetching $(3) from $(2) && \
+    $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" && \
     echo "$(5)  $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \
     $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \
     mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \
-    rm -rf $$($(1)_download_dir) ))
+    rm -rf $$($(1)_download_dir) )
+endef
+
+define fetch_file
+    ( test -f $$($(1)_source_dir)/$(4) || \
+    ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
+      $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5))))
 endef
 
 define int_get_build_recipe_hash
@@ -39,7 +43,7 @@ define int_get_build_id
 $(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies))
 $(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies)))
 $(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash)))
-$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps))
+$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string))
 $(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)))
 final_build_id_long+=$($(package)_build_id_long)
 
diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
index dbe6d00795e0..44663342f08e 100644
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -1,7 +1,7 @@
-OSX_MIN_VERSION=10.7
-OSX_SDK_VERSION=10.9
+OSX_MIN_VERSION=10.9
+OSX_SDK_VERSION=10.11
 OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
-LD64_VERSION=241.9
+LD64_VERSION=253.9
 darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
 darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++
 
diff --git a/depends/hosts/linux.mk b/depends/hosts/linux.mk
index b13a0f1ad714..602206d63421 100644
--- a/depends/hosts/linux.mk
+++ b/depends/hosts/linux.mk
@@ -1,5 +1,5 @@
 linux_CFLAGS=-pipe
-linux_CXXFLAGS=$(linux_CFLAGS)
+linux_CXXFLAGS=$(linux_CFLAGS) -static-libstdc++
 
 linux_release_CFLAGS=-O2
 linux_release_CXXFLAGS=$(linux_release_CFLAGS)
diff --git a/depends/hosts/mingw32.mk b/depends/hosts/mingw32.mk
index dbfb62fdcf98..83fc501a1990 100644
--- a/depends/hosts/mingw32.mk
+++ b/depends/hosts/mingw32.mk
@@ -1,5 +1,5 @@
 mingw32_CFLAGS=-pipe
-mingw32_CXXFLAGS=$(mingw32_CFLAGS)
+mingw32_CXXFLAGS=$(mingw32_CFLAGS) -static-libstdc++
 
 mingw32_release_CFLAGS=-O2
 mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk
index 200d57314ea0..6c9876c2c7c7 100644
--- a/depends/packages/bdb.mk
+++ b/depends/packages/bdb.mk
@@ -14,7 +14,8 @@ endef
 
 define $(package)_preprocess_cmds
   sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h && \
-  sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c
+  sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c && \
+  cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub dist
 endef
 
 define $(package)_config_cmds
diff --git a/depends/packages/chia_bls.mk b/depends/packages/chia_bls.mk
new file mode 100644
index 000000000000..85eb21472e1c
--- /dev/null
+++ b/depends/packages/chia_bls.mk
@@ -0,0 +1,50 @@
+package=chia_bls
+$(package)_version=v20181101
+# It's actually from https://github.com/Chia-Network/bls-signatures, but we have so many patches atm that it's forked
+$(package)_download_path=https://github.com/codablock/bls-signatures/archive
+$(package)_file_name=$($(package)_version).tar.gz
+$(package)_sha256_hash=b3ec74a77a7b6795f84b05e051a0824ef8d9e05b04b2993f01040f35689aa87c
+$(package)_dependencies=gmp
+#$(package)_patches=...TODO (when we switch back to https://github.com/Chia-Network/bls-signatures)
+
+#define $(package)_preprocess_cmds
+#  for i in $($(package)_patches); do patch -N -p1 < $($(package)_patch_dir)/$$$$i; done
+#endef
+
+define $(package)_set_vars
+  $(package)_config_opts=-DCMAKE_INSTALL_PREFIX=$($(package)_staging_dir)/$(host_prefix)
+  $(package)_config_opts+= -DCMAKE_PREFIX_PATH=$(host_prefix)
+  $(package)_config_opts+= -DSTLIB=ON -DSHLIB=OFF -DSTBIN=ON
+  $(package)_config_opts_linux=-DOPSYS=LINUX -DCMAKE_SYSTEM_NAME=Linux
+  $(package)_config_opts_darwin=-DOPSYS=MACOSX -DCMAKE_SYSTEM_NAME=Darwin
+  $(package)_config_opts_mingw32=-DOPSYS=WINDOWS -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" -DCMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS=""
+  $(package)_config_opts_i686+= -DWSIZE=32
+  $(package)_config_opts_x86_64+= -DWSIZE=64
+  $(package)_config_opts_arm+= -DWSIZE=32
+  $(package)_config_opts_debug=-DDEBUG=ON -DCMAKE_BUILD_TYPE=Debug
+
+  ifneq ($(darwin_native_toolchain),)
+    $(package)_config_opts_darwin+= -DCMAKE_AR="$(host_prefix)/native/bin/$($(package)_ar)"
+    $(package)_config_opts_darwin+= -DCMAKE_RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)"
+  endif
+endef
+
+define $(package)_config_cmds
+  export CC="$($(package)_cc)" && \
+  export CXX="$($(package)_cxx)" && \
+  export CFLAGS="$($(package)_cflags) $($(package)_cppflags)" && \
+  export CXXFLAGS="$($(package)_cxxflags) $($(package)_cppflags)" && \
+  export LDFLAGS="$($(package)_ldflags)" && \
+  mkdir -p build && cd build && \
+  cmake ../ $($(package)_config_opts)
+endef
+
+define $(package)_build_cmds
+  cd build && \
+  $(MAKE) $($(package)_build_opts)
+endef
+
+define $(package)_stage_cmds
+  cd build && \
+  $(MAKE) install
+endef
diff --git a/depends/packages/dbus.mk b/depends/packages/dbus.mk
index 8ac9ab742bfe..90ddcb923f21 100644
--- a/depends/packages/dbus.mk
+++ b/depends/packages/dbus.mk
@@ -1,8 +1,8 @@
 package=dbus
-$(package)_version=1.8.6
+$(package)_version=1.10.14
 $(package)_download_path=http://dbus.freedesktop.org/releases/dbus
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f
+$(package)_sha256_hash=23238f70353e38ce5ca183ebc9525c0d97ac00ef640ad29cf794782af6e6a083
 $(package)_dependencies=expat
 
 define $(package)_set_vars
diff --git a/depends/packages/expat.mk b/depends/packages/expat.mk
index 1ac443537420..81a660e83a55 100644
--- a/depends/packages/expat.mk
+++ b/depends/packages/expat.mk
@@ -1,8 +1,8 @@
 package=expat
-$(package)_version=2.1.0
-$(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version)
-$(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86
+$(package)_version=2.2.0
+$(package)_download_path=https://downloads.sourceforge.net/project/expat/expat/$($(package)_version)
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff
 
 define $(package)_set_vars
 $(package)_config_opts=--disable-static
diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk
index 2cf553ed9657..12695db4b9f7 100644
--- a/depends/packages/fontconfig.mk
+++ b/depends/packages/fontconfig.mk
@@ -1,8 +1,8 @@
 package=fontconfig
-$(package)_version=2.11.1
+$(package)_version=2.12.1
 $(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99
+$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
 $(package)_dependencies=freetype expat
 
 define $(package)_set_vars
@@ -13,7 +13,13 @@ define $(package)_config_cmds
   $($(package)_autoconf)
 endef
 
+# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig
+# have broken makefiles which needlessly attempt to re-generate headers with gperf.
+# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation.
+# This can be removed once the upstream build is fixed.
 define $(package)_build_cmds
+  sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \
+  sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \
   $(MAKE)
 endef
 
diff --git a/depends/packages/freetype.mk b/depends/packages/freetype.mk
index f7d6e0f9fc58..76b025c46318 100644
--- a/depends/packages/freetype.mk
+++ b/depends/packages/freetype.mk
@@ -1,8 +1,8 @@
 package=freetype
-$(package)_version=2.5.3
-$(package)_download_path=http://downloads.sourceforge.net/$(package)
+$(package)_version=2.7.1
+$(package)_download_path=http://download.savannah.gnu.org/releases/$(package)
 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e
+$(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
 
 define $(package)_set_vars
   $(package)_config_opts=--without-zlib --without-png --disable-static
diff --git a/depends/packages/gmp.mk b/depends/packages/gmp.mk
new file mode 100644
index 000000000000..0003b24a33da
--- /dev/null
+++ b/depends/packages/gmp.mk
@@ -0,0 +1,22 @@
+package=gmp
+$(package)_version=6.1.2
+$(package)_download_path=https://gmplib.org/download/gmp
+$(package)_file_name=gmp-$($(package)_version).tar.bz2
+$(package)_sha256_hash=5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2
+
+define $(package)_set_vars
+$(package)_config_opts+=--enable-cxx --enable-fat --with-pic --disable-shared
+endef
+
+define $(package)_config_cmds
+  $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+  $(MAKE)
+endef
+
+define $(package)_stage_cmds
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk
index 3d5a6df974bf..1bb8cb5d2664 100644
--- a/depends/packages/miniupnpc.mk
+++ b/depends/packages/miniupnpc.mk
@@ -1,8 +1,8 @@
 package=miniupnpc
-$(package)_version=1.9.20151026
+$(package)_version=2.0.20170509
 $(package)_download_path=http://miniupnp.free.fr/files
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=f3cf9a5a31588a917d4d9237e5bc50f84d00c5aa48e27ed50d9b88dfa6a25d47
+$(package)_sha256_hash=d3c368627f5cdfb66d3ebd64ca39ba54d6ff14a61966dbecb8dd296b7039f16a
 
 define $(package)_set_vars
 $(package)_build_opts=CC="$($(package)_cc)"
diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk
new file mode 100644
index 000000000000..373490aedcaa
--- /dev/null
+++ b/depends/packages/native_biplist.mk
@@ -0,0 +1,20 @@
+package=native_biplist
+$(package)_version=0.9
+$(package)_download_path=https://pypi.python.org/packages/source/b/biplist
+$(package)_file_name=biplist-$($(package)_version).tar.gz
+$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_patches=sorted_list.patch
+
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/sorted_list.patch
+endef
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/native_ccache.mk b/depends/packages/native_ccache.mk
index 027174479ada..3be669dc47cb 100644
--- a/depends/packages/native_ccache.mk
+++ b/depends/packages/native_ccache.mk
@@ -1,8 +1,8 @@
 package=native_ccache
-$(package)_version=3.2.4
+$(package)_version=3.4.2
 $(package)_download_path=https://samba.org/ftp/ccache
 $(package)_file_name=ccache-$($(package)_version).tar.bz2
-$(package)_sha256_hash=ffeb967edb549e67da0bd5f44f729a2022de9fdde65dfd80d2a7204d7f75332e
+$(package)_sha256_hash=3aa5587793d4c790bd22999bfc678250c029307b3afb9d16f6f4a49c67b78fb3
 
 define $(package)_set_vars
 $(package)_config_opts=
diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk
index 1c1bcf199a0b..44d238cc4c2a 100644
--- a/depends/packages/native_cctools.mk
+++ b/depends/packages/native_cctools.mk
@@ -1,14 +1,14 @@
 package=native_cctools
-$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb
+$(package)_version=807d6fd1be5d2224872e381870c0a75387fe05e6
 $(package)_download_path=https://github.com/theuni/cctools-port/archive
 $(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9
+$(package)_sha256_hash=a09c9ba4684670a0375e42d9d67e7f12c1f62581a27f28f7c825d6d7032ccc6a
 $(package)_build_subdir=cctools
-$(package)_clang_version=3.3
+$(package)_clang_version=3.7.1
 $(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version)
-$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz
-$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz
-$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7
+$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+$(package)_clang_sha256_hash=99b28a6b48e793705228a390471991386daa33a9717cd9ca007fcdde69608fd9
 $(package)_extra_sources=$($(package)_clang_file_name)
 
 define $(package)_fetch_cmds
@@ -17,8 +17,13 @@ $(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clan
 endef
 
 define $(package)_extract_cmds
+  mkdir -p $($(package)_extract_dir) && \
+  echo "$($(package)_sha256_hash)  $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_clang_sha256_hash)  $($(package)_source_dir)/$($(package)_clang_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
   tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \
+  rm -f toolchain/lib/libc++abi.so* && \
   echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
   echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
   chmod +x toolchain/bin/$(host)-dsymutil && \
@@ -26,14 +31,15 @@ define $(package)_extract_cmds
 endef
 
 define $(package)_set_vars
-$(package)_config_opts=--target=$(host) --disable-libuuid
+$(package)_config_opts=--target=$(host) --disable-lto-support
 $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
 $(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang
 $(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++
 endef
 
 define $(package)_preprocess_cmds
-  cd $($(package)_build_subdir); ./autogen.sh
+  cd $($(package)_build_subdir); ./autogen.sh && \
+  sed -i.old "/define HAVE_PTHREADS/d" ld64/src/ld/InputFiles.h
 endef
 
 define $(package)_config_cmds
@@ -49,10 +55,11 @@ define $(package)_stage_cmds
   cd $($(package)_extract_dir)/toolchain && \
   mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \
   mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
-  cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
+  cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
+  cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
   cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
   cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \
-  cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \
+  cp bin/llvm-dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
   if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
   if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
 endef
diff --git a/depends/packages/native_comparisontool.mk b/depends/packages/native_comparisontool.mk
deleted file mode 100644
index e0ae0cec700e..000000000000
--- a/depends/packages/native_comparisontool.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-package=native_comparisontool
-$(package)_version=8c6666f
-$(package)_download_path=https://github.com/theuni/bitcoind-comparisontool/raw/master
-$(package)_file_name=pull-tests-$($(package)_version).jar
-$(package)_sha256_hash=a865332b3827abcde684ab79f5f43c083b0b6a4c97ff5508c79f29fee24f11cd
-$(package)_install_dirname=BitcoindComparisonTool_jar
-$(package)_install_filename=BitcoindComparisonTool.jar
-
-define $(package)_extract_cmds
-endef
-
-define $(package)_configure_cmds
-endef
-
-define $(package)_build_cmds
-endef
-
-define $(package)_stage_cmds
-  mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \
-  cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename)
-endef
diff --git a/depends/packages/native_ds_store.mk b/depends/packages/native_ds_store.mk
new file mode 100644
index 000000000000..e2d035d480c9
--- /dev/null
+++ b/depends/packages/native_ds_store.mk
@@ -0,0 +1,17 @@
+package=native_ds_store
+$(package)_version=1.1.0
+$(package)_download_path=https://bitbucket.org/al45tair/ds_store/get
+$(package)_download_file=v$($(package)_version).tar.bz2
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=921596764d71d1bbd3297a90ef6d286f718794d667e4f81d91d14053525d64c1
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_dependencies=native_biplist
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/native_mac_alias.mk b/depends/packages/native_mac_alias.mk
new file mode 100644
index 000000000000..9982a52a335c
--- /dev/null
+++ b/depends/packages/native_mac_alias.mk
@@ -0,0 +1,21 @@
+package=native_mac_alias
+$(package)_version=1.1.0
+$(package)_download_path=https://bitbucket.org/al45tair/mac_alias/get
+$(package)_download_file=v$($(package)_version).tar.bz2
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=87ad827e66790028361e43fc754f68ed041a9bdb214cca03c853f079b04fb120
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_patches=python3.patch
+
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/python3.patch
+endef
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk
index fe6eb97dead0..5ee9f17a6323 100644
--- a/depends/packages/openssl.mk
+++ b/depends/packages/openssl.mk
@@ -6,9 +6,42 @@ $(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fce
 
 define $(package)_set_vars
 $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
-$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl no-zlib no-shared no-dso
-$(package)_config_opts+=no-krb5 no-capieng no-dtls1 no-gost no-gmp no-heartbeats no-jpake no-md2
-$(package)_config_opts+=no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-sha0 no-static_engine no-ssl2 no-ssl3
+$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl
+$(package)_config_opts+=no-camellia
+$(package)_config_opts+=no-capieng
+$(package)_config_opts+=no-cast
+$(package)_config_opts+=no-comp
+$(package)_config_opts+=no-dso
+$(package)_config_opts+=no-dtls1
+$(package)_config_opts+=no-ec_nistp_64_gcc_128
+$(package)_config_opts+=no-gost
+$(package)_config_opts+=no-gmp
+$(package)_config_opts+=no-heartbeats
+$(package)_config_opts+=no-idea
+$(package)_config_opts+=no-jpake
+$(package)_config_opts+=no-krb5
+$(package)_config_opts+=no-libunbound
+$(package)_config_opts+=no-md2
+$(package)_config_opts+=no-mdc2
+$(package)_config_opts+=no-rc4
+$(package)_config_opts+=no-rc5
+$(package)_config_opts+=no-rdrand
+$(package)_config_opts+=no-rfc3779
+$(package)_config_opts+=no-rsax
+$(package)_config_opts+=no-sctp
+$(package)_config_opts+=no-seed
+$(package)_config_opts+=no-sha0
+$(package)_config_opts+=no-shared
+$(package)_config_opts+=no-ssl-trace
+$(package)_config_opts+=no-ssl2
+$(package)_config_opts+=no-ssl3
+$(package)_config_opts+=no-static_engine
+$(package)_config_opts+=no-store
+$(package)_config_opts+=no-unit-test
+$(package)_config_opts+=no-weak-ssl-ciphers
+$(package)_config_opts+=no-whirlpool
+$(package)_config_opts+=no-zlib
+$(package)_config_opts+=no-zlib-dynamic
 $(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
 $(package)_config_opts_linux=-fPIC -Wa,--noexecstack
 $(package)_config_opts_x86_64_linux=linux-x86_64
diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk
index 02cc1884203a..5f3bf71a6299 100644
--- a/depends/packages/packages.mk
+++ b/depends/packages/packages.mk
@@ -1,20 +1,21 @@
-packages:=boost openssl libevent
-darwin_packages:=zeromq
-linux_packages:=zeromq
-native_packages := native_ccache native_comparisontool
+packages:=boost openssl libevent zeromq gmp
+native_packages := native_ccache
 
 qt_native_packages = native_protobuf
-qt_packages = qrencode protobuf
+qt_packages = qrencode protobuf zlib
+
+qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
+qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
 
-qt_linux_packages= qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
 qt_darwin_packages=qt
 qt_mingw32_packages=qt
 
-
 wallet_packages=bdb
 
 upnp_packages=miniupnpc
 
+darwin_native_packages = native_biplist native_ds_store native_mac_alias
+
 ifneq ($(build_os),darwin)
-darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus
+darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
 endif
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 84526d36fdfa..60374999573e 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -1,42 +1,65 @@
 PACKAGE=qt
-$(package)_version=5.5.0
-$(package)_download_path=http://download.qt.io/archive/qt/5.5/$($(package)_version)/submodules
+$(package)_version=5.7.1
+$(package)_download_path=https://download.qt.io/archive/qt/5.7/$($(package)_version)/submodules
 $(package)_suffix=opensource-src-$($(package)_version).tar.gz
 $(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a1af0561
-$(package)_dependencies=openssl
-$(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext
+$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410
+$(package)_dependencies=openssl zlib
+$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
 $(package)_build_subdir=qtbase
 $(package)_qt_libs=corelib network widgets gui plugins testlib
-$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch mingw-uuidof.patch pidlist_absolute.patch
+$(package)_patches=mac-qmake.conf mingw-uuidof.patch pidlist_absolute.patch fix-xcb-include-order.patch
+$(package)_patches+=fix_qt_configure.patch fix_qt_pkgconfig.patch fix-cocoahelpers-macos.patch qfixed-coretext.patch
+# NOTE: fix_qt_configure.patch is only needed for Qt 5.7, newer versions don't have this issue.
+# Remove it after bumping $(package)_version to 5.8+.
 
 $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=c4bd6db6e426965c6f8824c54e81f68bbd61e2bae1bcadc328c6e81c45902a0d
+$(package)_qttranslations_sha256_hash=3a15aebd523c6d89fb97b2d3df866c94149653a26d27a00aac9b6d3020bc5a1d
 
 $(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=d9e06bd19ecc86afba5e95d45a906d1bc1ad579aa70001e36143c1aaf695bdd6
+$(package)_qttools_sha256_hash=22d67de915cb8cd93e16fdd38fa006224ad9170bd217c2be1e53045a8dd02f0f
+
+#$(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix)
+#$(package)_qtwebsockets_sha256_hash=d4159161f7d72e9364e05227e549e49b5fd70a8e95f4f46a45a5610e86faf0ba
+
+#$(package)_qtwebchannel_file_name=qtwebchannel-$($(package)_suffix)
+#$(package)_qtwebchannel_sha256_hash=7aebd7d259fc4510b9519a158ea2959ef7843b94ad8b10678b9a7e9ffe388f42
 
 $(package)_extra_sources  = $($(package)_qttranslations_file_name)
 $(package)_extra_sources += $($(package)_qttools_file_name)
+#$(package)_extra_sources += $($(package)_qtwebsockets_file_name)
+#$(package)_extra_sources += $($(package)_qtwebchannel_file_name)
 
 define $(package)_set_vars
 $(package)_config_opts_release = -release
-$(package)_config_opts_debug   = -debug
-$(package)_config_opts += -opensource -confirm-license
+$(package)_config_opts_debug = -debug
+$(package)_config_opts += -bindir $(build_prefix)/bin
+$(package)_config_opts += -c++std c++11
+$(package)_config_opts += -confirm-license
+$(package)_config_opts += -dbus-runtime
+$(package)_config_opts += -hostprefix $(build_prefix)
+$(package)_config_opts += -no-alsa
 $(package)_config_opts += -no-audio-backend
+$(package)_config_opts += -no-cups
+$(package)_config_opts += -no-egl
+$(package)_config_opts += -no-eglfs
+$(package)_config_opts += -no-feature-style-windowsmobile
+$(package)_config_opts += -no-feature-style-windowsce
+$(package)_config_opts += -no-freetype
+$(package)_config_opts += -no-gif
 $(package)_config_opts += -no-glib
+$(package)_config_opts += -no-gstreamer
 $(package)_config_opts += -no-icu
-$(package)_config_opts += -no-cups
 $(package)_config_opts += -no-iconv
-$(package)_config_opts += -no-gif
-$(package)_config_opts += -no-freetype
-$(package)_config_opts += -no-nis
-$(package)_config_opts += -pch
+$(package)_config_opts += -no-kms
+$(package)_config_opts += -no-linuxfb
+$(package)_config_opts += -no-libudev
+$(package)_config_opts += -no-mitshm
+$(package)_config_opts += -no-mtdev
+$(package)_config_opts += -no-pulseaudio
+$(package)_config_opts += -no-openvg
+$(package)_config_opts += -no-reduce-relocations
 $(package)_config_opts += -no-qml-debug
-$(package)_config_opts += -nomake examples
-$(package)_config_opts += -nomake tests
-$(package)_config_opts += -no-feature-style-windowsmobile
-$(package)_config_opts += -no-feature-style-windowsce
 $(package)_config_opts += -no-sql-db2
 $(package)_config_opts += -no-sql-ibase
 $(package)_config_opts += -no-sql-oci
@@ -46,36 +69,27 @@ $(package)_config_opts += -no-sql-odbc
 $(package)_config_opts += -no-sql-psql
 $(package)_config_opts += -no-sql-sqlite
 $(package)_config_opts += -no-sql-sqlite2
-$(package)_config_opts += -prefix $(host_prefix)
-$(package)_config_opts += -hostprefix $(build_prefix)
-$(package)_config_opts += -bindir $(build_prefix)/bin
-$(package)_config_opts += -c++11
+$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -no-xinput2
+$(package)_config_opts += -no-xrender
+$(package)_config_opts += -nomake examples
+$(package)_config_opts += -nomake tests
+$(package)_config_opts += -opensource
 $(package)_config_opts += -openssl-linked
-$(package)_config_opts += -v
-$(package)_config_opts += -static
-$(package)_config_opts += -silent
+$(package)_config_opts += -optimized-qmake
+$(package)_config_opts += -pch
 $(package)_config_opts += -pkg-config
+$(package)_config_opts += -prefix $(host_prefix)
 $(package)_config_opts += -qt-libpng
 $(package)_config_opts += -qt-libjpeg
-$(package)_config_opts += -qt-zlib
 $(package)_config_opts += -qt-pcre
-$(package)_config_opts += -no-pulseaudio
-$(package)_config_opts += -no-openvg
-$(package)_config_opts += -no-xrender
-$(package)_config_opts += -no-alsa
-$(package)_config_opts += -no-mtdev
-$(package)_config_opts += -no-gstreamer
-$(package)_config_opts += -no-mitshm
-$(package)_config_opts += -no-kms
-$(package)_config_opts += -no-reduce-relocations
-$(package)_config_opts += -no-egl
-$(package)_config_opts += -no-eglfs
-$(package)_config_opts += -no-linuxfb
-$(package)_config_opts += -no-xinput2
-$(package)_config_opts += -no-libudev
-$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -system-zlib
 $(package)_config_opts += -reduce-exports
-$(package)_config_opts += -optimized-qmake
+$(package)_config_opts += -static
+$(package)_config_opts += -silent
+$(package)_config_opts += -v
+$(package)_config_opts += -no-feature-printer
+$(package)_config_opts += -no-feature-printdialog
 
 ifneq ($(build_os),darwin)
 $(package)_config_opts_darwin = -xplatform macx-clang-linux
@@ -108,8 +122,8 @@ endef
 define $(package)_extract_cmds
   mkdir -p $($(package)_extract_dir) && \
   echo "$($(package)_sha256_hash)  $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
-  echo "$($(package)_qttranslations_sha256_hash)  $($(package)_source_dir)/$($(package)_qttranslations_file_name)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
-  echo "$($(package)_qttools_sha256_hash)  $($(package)_source_dir)/$($(package)_qttools_file_name)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_qttranslations_sha256_hash)  $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_qttools_sha256_hash)  $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   mkdir qtbase && \
   tar --strip-components=1 -xf $($(package)_source) -C qtbase && \
@@ -119,32 +133,41 @@ define $(package)_extract_cmds
   tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
 endef
 
+
 define $(package)_preprocess_cmds
   sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
+  sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
   sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \
   sed -i.old "s|X11/extensions/XIproto.h|X11/X.h|" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \
   sed -i.old 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' qtbase/configure && \
+  sed -i.old 's/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0)/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft)/' qtbase/src/plugins/platforms/cocoa/qcocoacursor.mm && \
   mkdir -p qtbase/mkspecs/macx-clang-linux &&\
   cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
-  patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
   patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \
   patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \
-  echo "QMAKE_CFLAGS     += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  echo "QMAKE_CXXFLAGS   += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  echo "QMAKE_LFLAGS     += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  sed -i.old "s|QMAKE_CFLAGS            = |QMAKE_CFLAGS            = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
-  sed -i.old "s|QMAKE_LFLAGS            = |QMAKE_LFLAGS            = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
-  sed -i.old "s|QMAKE_CXXFLAGS          = |QMAKE_CXXFLAGS            = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
+  patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix_qt_configure.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix-cocoahelpers-macos.patch && \
+  patch -p1 < $($(package)_patch_dir)/qfixed-coretext.patch && \
+  echo "!host_build: QMAKE_CFLAGS     += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  echo "!host_build: QMAKE_CXXFLAGS   += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  echo "!host_build: QMAKE_LFLAGS     += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  sed -i.old "s|QMAKE_CFLAGS            = |!host_build: QMAKE_CFLAGS            = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
+  sed -i.old "s|QMAKE_LFLAGS            = |!host_build: QMAKE_LFLAGS            = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
+  sed -i.old "s|QMAKE_CXXFLAGS          = |!host_build: QMAKE_CXXFLAGS            = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
+
 endef
 
 define $(package)_config_cmds
-  export PKG_CONFIG_SYSROOT_DIR=/ && \
   export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
   export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig  && \
   ./configure $($(package)_config_opts) && \
+  echo "host_build: QT_CONFIG ~= s/system-zlib/zlib" >> mkspecs/qconfig.pri && \
+  echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
   $(MAKE) sub-src-clean && \
   cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
   cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\
diff --git a/depends/packages/qt46.mk b/depends/packages/qt46.mk
deleted file mode 100644
index 8fb30a5c4471..000000000000
--- a/depends/packages/qt46.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-PACKAGE=qt46
-$(package)_version=4.6.4
-$(package)_download_path=http://download.qt-project.org/archive/qt/4.6/
-$(package)_file_name=qt-everywhere-opensource-src-$($(package)_version).tar.gz
-$(package)_sha256_hash=9ad4d46c721b53a429ed5a2eecfd3c239a9ab566562f183f99d3125f1a234250
-$(package)_dependencies=openssl freetype dbus libX11 xproto libXext libICE libSM
-$(package)_patches=stlfix.patch 
-
-define $(package)_set_vars
-$(package)_config_opts  = -prefix $(host_prefix) -headerdir $(host_prefix)/include/qt4 -bindir $(build_prefix)/bin
-$(package)_config_opts += -release -no-separate-debug-info -opensource -confirm-license
-$(package)_config_opts += -stl -qt-zlib
-
-$(package)_config_opts += -nomake examples -nomake tests -nomake tools -nomake translations -nomake demos -nomake docs
-$(package)_config_opts += -no-audio-backend -no-glib -no-nis -no-cups -no-iconv -no-gif -no-pch
-$(package)_config_opts += -no-xkb -no-xrender -no-xrandr -no-xfixes -no-xcursor -no-xinerama -no-xsync -no-xinput -no-mitshm -no-xshape
-$(package)_config_opts += -no-libtiff -no-fontconfig -openssl-linked
-$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql
-$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2
-$(package)_config_opts += -no-xmlpatterns -no-multimedia -no-phonon -no-scripttools -no-declarative
-$(package)_config_opts += -no-phonon-backend -no-webkit -no-javascript-jit -no-script
-$(package)_config_opts += -no-svg -no-libjpeg -no-libtiff -no-libpng -no-libmng -no-qt3support -no-opengl
-
-$(package)_config_opts_x86_64_linux  += -platform linux-g++-64
-$(package)_config_opts_i686_linux  = -platform linux-g++-32
-$(package)_build_env  = QT_RCC_TEST=1
-endef
-
-define $(package)_preprocess_cmds
-   sed -i.old "s|/include /usr/include||" config.tests/unix/freetype/freetype.pri && \
-   sed -i.old "s|src_plugins.depends = src_gui src_sql src_svg|src_plugins.depends = src_gui src_sql|" src/src.pro && \
-   sed -i.old "s|\.lower(|\.toLower(|g" src/network/ssl/qsslsocket_openssl.cpp && \
-   sed -i.old "s|Key_BackSpace|Key_Backspace|" src/gui/itemviews/qabstractitemview.cpp && \
-   sed -i.old "s|/usr/X11R6/lib64|$(host_prefix)/lib|" mkspecs/*/*.conf && \
-   sed -i.old "s|/usr/X11R6/lib|$(host_prefix)/lib|" mkspecs/*/*.conf && \
-   sed -i.old "s|/usr/X11R6/include|$(host_prefix)/include|" mkspecs/*/*.conf && \
-   sed -i.old "s|QMAKE_LFLAGS_SHLIB\t+= -shared|QMAKE_LFLAGS_SHLIB\t+= -shared -Wl,--exclude-libs,ALL|" mkspecs/common/g++.conf && \
-   sed -i.old "/SSLv2_client_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \
-   sed -i.old "/SSLv2_server_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \
-   patch -p1 < $($(package)_patch_dir)/stlfix.patch 
-endef
-
-define $(package)_config_cmds
-  export PKG_CONFIG_SYSROOT_DIR=/ && \
-  export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
-  export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig  && \
-  export CPATH=$(host_prefix)/include && \
-  OPENSSL_LIBS='-L$(host_prefix)/lib -lssl -lcrypto' ./configure $($(package)_config_opts) && \
-  cd tools/linguist/lrelease; ../../../bin/qmake  -o Makefile lrelease.pro
-endef
-
-define $(package)_build_cmds
-  export CPATH=$(host_prefix)/include && \
-  $(MAKE) -C src && \
-  $(MAKE) -C tools/linguist/lrelease
-endef
-
-define $(package)_stage_cmds
-  $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) install && \
-  $(MAKE) -C tools/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
-  rm -rf mkspecs/ lib/cmake/ lib/*.prl lib/*.la && \
-  find native/bin -type f -exec mv {} {}-qt4 \;
-endef
diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk
index b3f18db05696..01146c26f69b 100644
--- a/depends/packages/zeromq.mk
+++ b/depends/packages/zeromq.mk
@@ -1,25 +1,32 @@
 package=zeromq
-$(package)_version=4.0.7
-$(package)_download_path=http://download.zeromq.org
+$(package)_version=4.1.5
+$(package)_download_path=https://github.com/zeromq/zeromq4-1/releases/download/v$($(package)_version)/
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=e00b2967e074990d0538361cc79084a0a92892df2c6e7585da34e4c61ee47b03
+$(package)_sha256_hash=04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf
+$(package)_patches=9114d3957725acd34aa8b8d011585812f3369411.patch 9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
 
 define $(package)_set_vars
-  $(package)_config_opts=--without-documentation --disable-shared
+  $(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
   $(package)_config_opts_linux=--with-pic
   $(package)_cxxflags=-std=c++11
 endef
 
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/9114d3957725acd34aa8b8d011585812f3369411.patch && \
+  patch -p1 < $($(package)_patch_dir)/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch && \
+  ./autogen.sh
+endef
+
 define $(package)_config_cmds
   $($(package)_autoconf)
 endef
 
 define $(package)_build_cmds
-  $(MAKE) -C src
+  $(MAKE) libzmq.la
 endef
 
 define $(package)_stage_cmds
-  $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA
 endef
 
 define $(package)_postprocess_cmds
diff --git a/depends/packages/zlib.mk b/depends/packages/zlib.mk
new file mode 100644
index 000000000000..589490800f8b
--- /dev/null
+++ b/depends/packages/zlib.mk
@@ -0,0 +1,27 @@
+package=zlib
+$(package)_version=1.2.11
+$(package)_download_path=http://www.zlib.net
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
+
+define $(package)_set_vars
+$(package)_build_opts= CC="$($(package)_cc)"
+$(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
+$(package)_build_opts+=RANLIB="$($(package)_ranlib)"
+$(package)_build_opts+=AR="$($(package)_ar)"
+$(package)_build_opts_darwin+=AR="$($(package)_libtool)"
+$(package)_build_opts_darwin+=ARFLAGS="-o"
+endef
+
+define $(package)_config_cmds
+  ./configure --static --prefix=$(host_prefix)
+endef
+
+define $(package)_build_cmds
+  $(MAKE) $($(package)_build_opts) libz.a
+endef
+
+define $(package)_stage_cmds
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
+endef
+
diff --git a/depends/patches/boost/darwin_boost_atomic-1.patch b/depends/patches/boost/darwin_boost_atomic-1.patch
deleted file mode 100644
index 97f59cb7e4ee..000000000000
--- a/depends/patches/boost/darwin_boost_atomic-1.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp
-index 906c13e..dcb4d7d 100644
---- a/include/boost/atomic/detail/cas128strong.hpp
-+++ b/include/boost/atomic/detail/cas128strong.hpp
-@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void
-     store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type value_s = 0;
-+        storage_type value_s;
-+        memset(&value_s, 0, sizeof(value_s));
-         memcpy(&value_s, &value, sizeof(value_type));
-         platform_fence_before_store(order);
-         platform_store128(value_s, &v_);
-@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
- 
diff --git a/depends/patches/boost/darwin_boost_atomic-2.patch b/depends/patches/boost/darwin_boost_atomic-2.patch
deleted file mode 100644
index ca50765200ec..000000000000
--- a/depends/patches/boost/darwin_boost_atomic-2.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp
-index a130590..4af99a1 100644
---- a/include/boost/atomic/detail/gcc-atomic.hpp
-+++ b/include/boost/atomic/detail/gcc-atomic.hpp
-@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-     }
-@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
- 
-     value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-         value_type res;
-@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false,
-@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true,
diff --git a/depends/patches/boost/gcc_5_no_cxx11.patch b/depends/patches/boost/gcc_5_no_cxx11.patch
deleted file mode 100644
index 04514c593a10..000000000000
--- a/depends/patches/boost/gcc_5_no_cxx11.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
-From: jzmaddock <jzmaddock@gmail.com>
-Date: Sat, 23 Aug 2014 09:38:02 +0100
-Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
- feature was introduced in GCC 4.4.
-
----
- include/boost/config/compiler/gcc.hpp | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp
-index f37159d..97d8a18 100644
---- a/include/boost/config/compiler/gcc.hpp
-+++ b/include/boost/config/compiler/gcc.hpp
-@@ -154,14 +154,6 @@
- #  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
- #  define BOOST_NO_CXX11_RVALUE_REFERENCES
- #  define BOOST_NO_CXX11_STATIC_ASSERT
--
--// Variadic templates compiler:
--//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
--#  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
--#    define BOOST_HAS_VARIADIC_TMPL
--#  else
--#    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
--#  endif
- #endif
- 
- // C++0x features in 4.4.n and later
-@@ -176,6 +168,7 @@
- #  define BOOST_NO_CXX11_DELETED_FUNCTIONS
- #  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
- #  define BOOST_NO_CXX11_INLINE_NAMESPACES
-+#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
- #endif
- 
- #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
diff --git a/depends/patches/qt/fix-xcb-include-order.patch b/depends/patches/qt/fix-xcb-include-order.patch
index ae469ea94bff..ec2bc17d9bd9 100644
--- a/depends/patches/qt/fix-xcb-include-order.patch
+++ b/depends/patches/qt/fix-xcb-include-order.patch
@@ -1,45 +1,49 @@
---- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 02:06:42.705930685 +0000
-+++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 02:08:41.281926351 +0000
-@@ -94,8 +94,6 @@
-
+--- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
++++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
+@@ -76,8 +76,6 @@
+ 
  DEFINES += $$QMAKE_DEFINES_XCB
  LIBS += $$QMAKE_LIBS_XCB
 -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
 -QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
-
+ 
  CONFIG += qpa/genericunixfontdatabase
-
-@@ -104,7 +102,8 @@
+ 
+@@ -89,7 +87,8 @@
  contains(QT_CONFIG, xcb-qt) {
      DEFINES += XCB_USE_RENDER
      XCB_DIR = ../../../3rdparty/xcb
 -    INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
 +    QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +    QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
-     LIBS += -lxcb -L$$OUT_PWD/xcb-static -lxcb-static
+     LIBS += -lxcb -L$$MODULE_BASE_OUTDIR/lib -lxcb-static$$qtPlatformTargetSuffix()
  } else {
-     LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms
---- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro      2015-03-17 02:07:04.641929383 +0000
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro      2015-03-17 02:10:15.485922059 +0000
-@@ -8,7 +8,8 @@
-
+     LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms -lxcb-xinerama
+--- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
++++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
+@@ -9,7 +9,8 @@
+ 
  XCB_DIR = ../../../../3rdparty/xcb
-
+ 
 -INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude
 +QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
 +QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
-
+ 
  QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
  QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
---- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro	2015-07-24 16:02:59.530038830 -0400
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro	2015-07-24 16:01:22.106037459 -0400
-@@ -11,3 +11,9 @@
+--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
++++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
+@@ -6,6 +6,13 @@
      qxcbmain.cpp
  OTHER_FILES += xcb.json README
-
+ 
 +contains(QT_CONFIG, xcb-qt) {
 +    DEFINES += XCB_USE_RENDER
 +    XCB_DIR = ../../../3rdparty/xcb
 +    QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +    QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +}
++
+ PLUGIN_TYPE = platforms
+ PLUGIN_CLASS_NAME = QXcbIntegrationPlugin
+ !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = -
diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf
index a6d0070cca64..ca70d30b15e9 100644
--- a/depends/patches/qt/mac-qmake.conf
+++ b/depends/patches/qt/mac-qmake.conf
@@ -1,6 +1,5 @@
 MAKEFILE_GENERATOR = UNIX
 CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
-DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG
 QMAKE_INCREMENTAL_STYLE = sublib
 include(../common/macx.conf)
 include(../common/gcc-base-mac.conf)
@@ -11,14 +10,14 @@ QMAKE_XCODE_VERSION=4.3
 QMAKE_XCODE_DEVELOPER_PATH=/Developer
 QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION}
 QMAKE_MAC_SDK=macosx
-QMAKE_MAC_SDK.macosx.path = $${MAC_SDK_PATH}
+QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
 QMAKE_MAC_SDK.macosx.platform_name = macosx
-QMAKE_MAC_SDK.macosx.version = $${MAC_SDK_VERSION}
-QMAKE_MAC_SDK.macosx.platform_path = /phony
-QMAKE_CFLAGS += -target $${MAC_TARGET}
-QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
-QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
+QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION}
+QMAKE_MAC_SDK.macosx.PlatformPath = /phony
+!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET}
+!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
+!host_build: QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
 QMAKE_AR = $${CROSS_COMPILE}ar cq
 QMAKE_RANLIB=$${CROSS_COMPILE}ranlib
 QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool
diff --git a/depends/patches/qt/mingw-uuidof.patch b/depends/patches/qt/mingw-uuidof.patch
index 975366e61229..fb21923c8c36 100644
--- a/depends/patches/qt/mingw-uuidof.patch
+++ b/depends/patches/qt/mingw-uuidof.patch
@@ -1,6 +1,6 @@
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp	2015-06-20 17:40:20.956781548 -0400
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp	2015-06-20 17:29:32.052772416 -0400
-@@ -69,7 +69,7 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
+@@ -77,7 +77,7 @@
  #include <stdlib.h>
  #include <stdio.h>
  #include <windowsx.h>
@@ -9,8 +9,8 @@
  #  include <comdef.h>
  #endif
  
-@@ -762,7 +762,7 @@
-                           HWND_MESSAGE, NULL, (HINSTANCE)GetModuleHandle(0), NULL);
+@@ -814,7 +814,7 @@
+                           HWND_MESSAGE, NULL, static_cast<HINSTANCE>(GetModuleHandle(0)), NULL);
  }
  
 -#ifndef Q_OS_WINCE
@@ -18,16 +18,16 @@
  // Re-engineered from the inline function _com_error::ErrorMessage().
  // We cannot use it directly since it uses swprintf_s(), which is not
  // present in the MSVCRT.DLL found on Windows XP (QTBUG-35617).
-@@ -781,7 +781,7 @@
-          return QStringLiteral("IDispatch error #") + QString::number(wCode);
-      return QStringLiteral("Unknown error 0x0") + QString::number(comError.Error(), 16);
+@@ -833,7 +833,7 @@
+          return QString::asprintf("IDispatch error #%u", uint(wCode));
+      return QString::asprintf("Unknown error 0x0%x", uint(comError.Error()));
  }
 -#endif // !Q_OS_WINCE
 +#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
  
  /*!
      \brief Common COM error strings.
-@@ -846,12 +846,12 @@
+@@ -901,12 +901,12 @@
      default:
          break;
      }
diff --git a/depends/patches/qt/pidlist_absolute.patch b/depends/patches/qt/pidlist_absolute.patch
index 0b49c050dcc1..c79282417905 100644
--- a/depends/patches/qt/pidlist_absolute.patch
+++ b/depends/patches/qt/pidlist_absolute.patch
@@ -1,7 +1,7 @@
 diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h	2015-06-29 22:04:40.000000000 +0200
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h	2015-11-01 12:55:59.751234846 +0100
-@@ -124,10 +124,18 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h
++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
+@@ -136,10 +136,18 @@
      inline void init();
  
      typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **);
@@ -21,9 +21,9 @@ diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/
      SHCreateItemFromParsingName sHCreateItemFromParsingName;
      SHGetKnownFolderIDList sHGetKnownFolderIDList;
 diff -dur old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
---- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp	2015-06-29 22:04:40.000000000 +0200
-+++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp	2015-11-01 13:41:09.503149772 +0100
-@@ -1008,7 +1008,11 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
++++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+@@ -1016,7 +1016,11 @@
              qWarning() << __FUNCTION__ << ": Invalid CLSID: " << url.path();
              return Q_NULLPTR;
          }
diff --git a/depends/patches/qt46/stlfix.patch b/depends/patches/qt46/stlfix.patch
deleted file mode 100644
index f8f6fb04b0b7..000000000000
--- a/depends/patches/qt46/stlfix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- old/config.tests/unix/stl/stltest.cpp	2011-06-23 03:45:23.000000000 -0400
-+++ new/config.tests/unix/stl/stltest.cpp	2014-08-28 00:54:04.154837604 -0400
-@@ -49,6 +49,7 @@
- #include <vector>
- #include <algorithm>
- #include <iostream>
-+#include <cstddef>
- 
- // something mean to see if the compiler and C++ standard lib are good enough
- template<class K, class T>
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
new file mode 100644
index 000000000000..61cdf2935059
--- /dev/null
+++ b/doc/man/Makefile.am
@@ -0,0 +1,13 @@
+dist_man1_MANS=
+
+if BUILD_BITCOIND
+  dist_man1_MANS+=paccoind.1
+endif
+
+if ENABLE_QT
+  dist_man1_MANS+=paccoin-qt.1
+endif
+
+if BUILD_BITCOIN_UTILS
+  dist_man1_MANS+=paccoin-cli.1 paccoin-tx.1
+endif
diff --git a/doc/man/paccoin-cli.1 b/doc/man/paccoin-cli.1
new file mode 100644
index 000000000000..0be59195308c
--- /dev/null
+++ b/doc/man/paccoin-cli.1
@@ -0,0 +1,92 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-CLI "1" "November 2018" "paccoin-cli v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-cli \- manual page for paccoin-cli v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core RPC client version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoin\-cli [options] <command> [params]
+Send command to Paccoin Core
+.IP
+paccoin\-cli [options] \fB\-named\fR <command> [name=value] ... Send command to Paccoin Core (with named arguments)
+paccoin\-cli [options] help                List commands
+paccoin\-cli [options] help <command>      Get help for a command
+.SH OPTIONS
+.HP
+\-?
+.IP
+This help message
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-regtest\fR
+.IP
+Enter regression test mode, which uses a special chain in which blocks
+can be solved instantly. This is intended for regression testing
+tools and app development.
+.HP
+\fB\-named\fR
+.IP
+Pass named instead of positional arguments (default: false)
+.HP
+\fB\-rpcconnect=\fR<ip>
+.IP
+Send commands to node running on <ip> (default: 127.0.0.1)
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Connect to JSON\-RPC on <port> (default: 9998 or testnet: 19998)
+.HP
+\fB\-rpcwait\fR
+.IP
+Wait for RPC server to start
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcclienttimeout=\fR<n>
+.IP
+Timeout during HTTP requests (default: 900)
+.HP
+\fB\-stdin\fR
+.IP
+Read extra arguments from standard input, one per line until EOF/Ctrl\-D
+(recommended for sensitive information such as passphrases)
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoin-qt.1 b/doc/man/paccoin-qt.1
new file mode 100644
index 000000000000..b51f86b508ec
--- /dev/null
+++ b/doc/man/paccoin-qt.1
@@ -0,0 +1,715 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-QT "1" "November 2018" "paccoin-qt v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-qt \- manual page for paccoin-qt v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core version v0.13.0.0 (64\-bit)
+Usage:
+.IP
+paccoin\-qt [command\-line options]
+.SH OPTIONS
+.HP
+\-?
+.IP
+Print this help message and exit
+.HP
+\fB\-version\fR
+.IP
+Print version and exit
+.HP
+\fB\-alerts\fR
+.IP
+Receive and display P2P network alerts (default: 1)
+.HP
+\fB\-alertnotify=\fR<cmd>
+.IP
+Execute command when a relevant alert is received or we see a really
+long fork (%s in cmd is replaced by message)
+.HP
+\fB\-blocknotify=\fR<cmd>
+.IP
+Execute command when the best block changes (%s in cmd is replaced by
+block hash)
+.HP
+\fB\-assumevalid=\fR<hex>
+.IP
+If this block is in the chain assume that it and its ancestors are valid
+and potentially skip their script verification (0 to verify all,
+default:
+0000000000000024e26c7df7e46d673724d223cf4ca2b2adc21297cc095600f4,
+testnet:
+000000000118fa2f031efedf874adbe7fe6b023cdf9478e8e2400c2d505df30d)
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.HP
+\fB\-dbcache=\fR<n>
+.IP
+Set database cache size in megabytes (4 to 16384, default: 300)
+.HP
+\fB\-loadblock=\fR<file>
+.IP
+Imports blocks from external blk000??.dat file on startup
+.HP
+\fB\-maxorphantx=\fR<n>
+.IP
+Keep at most <n> unconnectable transactions in memory (default: 100)
+.HP
+\fB\-maxmempool=\fR<n>
+.IP
+Keep the transaction memory pool below <n> megabytes (default: 300)
+.HP
+\fB\-mempoolexpiry=\fR<n>
+.IP
+Do not keep transactions in the mempool longer than <n> hours (default:
+336)
+.HP
+\fB\-blockreconstructionextratxn=\fR<n>
+.IP
+Extra transactions to keep in memory for compact block reconstructions
+(default: 100)
+.HP
+\fB\-par=\fR<n>
+.IP
+Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
+leave that many cores free, default: 0)
+.HP
+\fB\-pid=\fR<file>
+.IP
+Specify pid file (default: paccoind.pid)
+.HP
+\fB\-prune=\fR<n>
+.IP
+Reduce storage requirements by enabling pruning (deleting) of old
+blocks. This allows the pruneblockchain RPC to be called to
+delete specific blocks, and enables automatic pruning of old
+blocks if a target size in MiB is provided. This mode is
+incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
+setting requires re\-downloading the entire blockchain. (default:
+0 = disable pruning blocks, 1 = allow manual pruning via RPC,
+>945 = automatically prune block files to stay under the
+specified target size in MiB)
+.HP
+\fB\-reindex\-chainstate\fR
+.IP
+Rebuild chain state from the currently indexed blocks
+.HP
+\fB\-reindex\fR
+.IP
+Rebuild chain state and block index from the blk*.dat files on disk
+.HP
+\fB\-sysperms\fR
+.IP
+Create new files with system default permissions, instead of umask 077
+(only effective with disabled wallet functionality)
+.HP
+\fB\-txindex\fR
+.IP
+Maintain a full transaction index, used by the getrawtransaction rpc
+call (default: 1)
+.HP
+\fB\-addressindex\fR
+.IP
+Maintain a full address index, used to query for the balance, txids and
+unspent outputs for addresses (default: 0)
+.HP
+\fB\-timestampindex\fR
+.IP
+Maintain a timestamp index for block hashes, used to query blocks hashes
+by a range of timestamps (default: 0)
+.HP
+\fB\-spentindex\fR
+.IP
+Maintain a full spent index, used to query the spending txid and input
+index for an outpoint (default: 0)
+.PP
+Connection options:
+.HP
+\fB\-addnode=\fR<ip>
+.IP
+Add a node to connect to and attempt to keep the connection open
+.HP
+\fB\-allowprivatenet\fR
+.IP
+Allow RFC1918 addresses to be relayed and connected to (default: 0)
+.HP
+\fB\-banscore=\fR<n>
+.IP
+Threshold for disconnecting misbehaving peers (default: 100)
+.HP
+\fB\-bantime=\fR<n>
+.IP
+Number of seconds to keep misbehaving peers from reconnecting (default:
+86400)
+.HP
+\fB\-bind=\fR<addr>
+.IP
+Bind to given address and always listen on it. Use [host]:port notation
+for IPv6
+.HP
+\fB\-connect=\fR<ip>
+.IP
+Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
+disable automatic connections
+.HP
+\fB\-discover\fR
+.IP
+Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
+or \fB\-proxy\fR)
+.HP
+\fB\-dns\fR
+.IP
+Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
+.HP
+\fB\-dnsseed\fR
+.IP
+Query for peer addresses via DNS lookup, if low on addresses (default: 1
+unless \fB\-connect\fR/\-noconnect)
+.HP
+\fB\-externalip=\fR<ip>
+.IP
+Specify your own public address
+.HP
+\fB\-forcednsseed\fR
+.IP
+Always query for peer addresses via DNS lookup (default: 0)
+.HP
+\fB\-listen\fR
+.IP
+Accept connections from outside (default: 1 if no \fB\-proxy\fR or
+\fB\-connect\fR/\-noconnect)
+.HP
+\fB\-listenonion\fR
+.IP
+Automatically create Tor hidden service (default: 1)
+.HP
+\fB\-maxconnections=\fR<n>
+.IP
+Maintain at most <n> connections to peers (temporary service connections
+excluded) (default: 125)
+.HP
+\fB\-maxreceivebuffer=\fR<n>
+.IP
+Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
+.HP
+\fB\-maxsendbuffer=\fR<n>
+.IP
+Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
+.HP
+\fB\-maxtimeadjustment\fR
+.IP
+Maximum allowed median peer time offset adjustment. Local perspective of
+time may be influenced by peers forward or backward by this
+amount. (default: 4200 seconds)
+.HP
+\fB\-onion=\fR<ip:port>
+.IP
+Use separate SOCKS5 proxy to reach peers via Tor hidden services
+(default: \fB\-proxy\fR)
+.HP
+\fB\-onlynet=\fR<net>
+.IP
+Only connect to nodes in network <net> (ipv4, ipv6 or onion)
+.HP
+\fB\-permitbaremultisig\fR
+.IP
+Relay non\-P2SH multisig (default: 1)
+.HP
+\fB\-peerbloomfilters\fR
+.IP
+Support filtering of blocks and transaction with bloom filters (default:
+1)
+.HP
+\fB\-port=\fR<port>
+.IP
+Listen for connections on <port> (default: 9999 or testnet: 19999)
+.HP
+\fB\-proxy=\fR<ip:port>
+.IP
+Connect through SOCKS5 proxy
+.HP
+\fB\-proxyrandomize\fR
+.IP
+Randomize credentials for every proxy connection. This enables Tor
+stream isolation (default: 1)
+.HP
+\fB\-seednode=\fR<ip>
+.IP
+Connect to a node to retrieve peer addresses, and disconnect
+.HP
+\fB\-timeout=\fR<n>
+.IP
+Specify connection timeout in milliseconds (minimum: 1, default: 5000)
+.HP
+\fB\-torcontrol=\fR<ip>:<port>
+.IP
+Tor control port to use if onion listening enabled (default:
+127.0.0.1:9051)
+.HP
+\fB\-torpassword=\fR<pass>
+.IP
+Tor control port password (default: empty)
+.HP
+\fB\-upnp\fR
+.IP
+Use UPnP to map the listening port (default: 0)
+.HP
+\fB\-whitebind=\fR<addr>
+.IP
+Bind to given address and whitelist peers connecting to it. Use
+[host]:port notation for IPv6
+.HP
+\fB\-whitelist=\fR<IP address or network>
+.IP
+Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
+CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
+times. Whitelisted peers cannot be DoS banned and their
+transactions are always relayed, even if they are already in the
+mempool, useful e.g. for a gateway
+.HP
+\fB\-whitelistrelay\fR
+.IP
+Accept relayed transactions received from whitelisted peers even when
+not relaying transactions (default: 1)
+.HP
+\fB\-whitelistforcerelay\fR
+.IP
+Force relay of transactions from whitelisted peers even if they violate
+local relay policy (default: 1)
+.HP
+\fB\-maxuploadtarget=\fR<n>
+.IP
+Tries to keep outbound traffic under the given target (in MiB per 24h),
+0 = no limit (default: 0)
+.PP
+Wallet options:
+.HP
+\fB\-disablewallet\fR
+.IP
+Do not load the wallet and disable wallet RPC calls
+.HP
+\fB\-keypool=\fR<n>
+.IP
+Set key pool size to <n> (default: 1000)
+.HP
+\fB\-fallbackfee=\fR<amt>
+.IP
+A fee rate (in PAC/kB) that will be used when fee estimation has
+insufficient data (default: 0.00001)
+.HP
+\fB\-mintxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+transaction creation (default: 0.00001)
+.HP
+\fB\-paytxfee=\fR<amt>
+.IP
+Fee (in PAC/kB) to add to transactions you send (default: 0.00)
+.HP
+\fB\-rescan\fR
+.IP
+Rescan the block chain for missing wallet transactions on startup
+.HP
+\fB\-salvagewallet\fR
+.IP
+Attempt to recover private keys from a corrupt wallet on startup
+.HP
+\fB\-spendzeroconfchange\fR
+.IP
+Spend unconfirmed change when sending transactions (default: 1)
+.HP
+\fB\-txconfirmtarget=\fR<n>
+.IP
+If paytxfee is not set, include enough fee so transactions begin
+confirmation on average within n blocks (default: 6)
+.HP
+\fB\-usehd\fR
+.IP
+Use hierarchical deterministic key generation (HD) after BIP39/BIP44.
+Only has effect during wallet creation/first start (default: 0)
+.HP
+\fB\-mnemonic\fR
+.IP
+User defined mnemonic for HD wallet (bip39). Only has effect during
+wallet creation/first start (default: randomly generated)
+.HP
+\fB\-mnemonicpassphrase\fR
+.IP
+User defined mnemonic passphrase for HD wallet (BIP39). Only has effect
+during wallet creation/first start (default: empty string)
+.HP
+\fB\-hdseed\fR
+.IP
+User defined seed for HD wallet (should be in hex). Only has effect
+during wallet creation/first start (default: randomly generated)
+.HP
+\fB\-upgradewallet\fR
+.IP
+Upgrade wallet to latest format on startup
+.HP
+\fB\-wallet=\fR<file>
+.IP
+Specify wallet file (within data directory) (default: wallet.dat)
+.HP
+\fB\-walletbroadcast\fR
+.IP
+Make the wallet broadcast transactions (default: 1)
+.HP
+\fB\-walletnotify=\fR<cmd>
+.IP
+Execute command when a wallet transaction changes (%s in cmd is replaced
+by TxID)
+.HP
+\fB\-zapwallettxes=\fR<mode>
+.IP
+Delete all wallet transactions and only recover those parts of the
+blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
+account owner and payment request information, 2 = drop tx meta
+data)
+.HP
+\fB\-createwalletbackups=\fR<n>
+.IP
+Number of automatic wallet backups (default: 10)
+.HP
+\fB\-walletbackupsdir=\fR<dir>
+.IP
+Specify full path to directory for automatic wallet backups (must exist)
+.HP
+\fB\-keepass\fR
+.IP
+Use KeePass 2 integration using KeePassHttp plugin (default: 0)
+.HP
+\fB\-keepassport=\fR<port>
+.IP
+Connect to KeePassHttp on port <port> (default: 19455)
+.HP
+\fB\-keepasskey=\fR<key>
+.IP
+KeePassHttp key for AES encrypted communication with KeePass
+.HP
+\fB\-keepassid=\fR<name>
+.IP
+KeePassHttp id for the established association
+.HP
+\fB\-keepassname=\fR<name>
+.IP
+Name to construct url for KeePass entry that stores the wallet
+passphrase
+.HP
+\fB\-windowtitle=\fR<name>
+.IP
+Wallet window title
+.PP
+ZeroMQ notification options:
+.HP
+\fB\-zmqpubhashblock=\fR<address>
+.IP
+Enable publish hash block in <address>
+.HP
+\fB\-zmqpubhashtx=\fR<address>
+.IP
+Enable publish hash transaction in <address>
+.HP
+\fB\-zmqpubhashtxlock=\fR<address>
+.IP
+Enable publish hash transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubhashgovernancevote=\fR<address>
+.IP
+Enable publish hash of governance votes in <address>
+.HP
+\fB\-zmqpubhashgovernanceobject=\fR<address>
+.IP
+Enable publish hash of governance objects (like proposals) in <address>
+.HP
+\fB\-zmqpubhashinstantsenddoublespend=\fR<address>
+.IP
+Enable publish transaction hashes of attempted InstantSend double spend
+in <address>
+.HP
+\fB\-zmqpubrawblock=\fR<address>
+.IP
+Enable publish raw block in <address>
+.HP
+\fB\-zmqpubrawtx=\fR<address>
+.IP
+Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxlock=\fR<address>
+.IP
+Enable publish raw transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubrawinstantsenddoublespend=\fR<address>
+.IP
+Enable publish raw transactions of attempted InstantSend double spend in
+<address>
+.PP
+Debugging/Testing options:
+.HP
+\fB\-uacomment=\fR<cmt>
+.IP
+Append comment to the user agent string
+.HP
+\fB\-debug=\fR<category>
+.IP
+Output debugging information (default: 0, supplying <category> is
+optional). If <category> is not supplied or if <category> = 1,
+output all debugging information.<category> can be: addrman,
+alert, bench, cmpctblock, coindb, db, http, leveldb, libevent,
+lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
+selectcoins, tor, zmq, paccoin (or specifically: gobject,
+instantsend, keepass, masternode, mnpayments, mnsync,
+privatesend, spork), qt.
+.HP
+\fB\-help\-debug\fR
+.IP
+Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
+.HP
+\fB\-logips\fR
+.IP
+Include IP addresses in debug output (default: 0)
+.HP
+\fB\-logtimestamps\fR
+.IP
+Prepend debug output with timestamp (default: 1)
+.HP
+\fB\-minrelaytxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+relaying, mining and transaction creation (default: 0.00001)
+.HP
+\fB\-maxtxfee=\fR<amt>
+.IP
+Maximum total fees (in PAC) to use in a single wallet transaction or
+raw transaction; setting this too low may abort large
+transactions (default: 0.10)
+.HP
+\fB\-printtoconsole\fR
+.IP
+Send trace/debug info to console instead of debug.log file
+.HP
+\fB\-printtodebuglog\fR
+.IP
+Send trace/debug info to debug.log file (default: 1)
+.HP
+\fB\-shrinkdebugfile\fR
+.IP
+Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-litemode=\fR<n>
+.IP
+Disable all Paccoin specific functionality (Masternodes, PrivateSend,
+InstantSend, Governance) (0\-1, default: 0)
+.HP
+\fB\-sporkaddr=\fR<hex>
+.IP
+Override spork address. Only useful for regtest and devnet. Using this
+on mainnet or testnet will ban you.
+.HP
+\fB\-minsporkkeys=\fR<n>
+.IP
+Overrides minimum spork signers to change spork value. Only useful for
+regtest and devnet. Using this on mainnet or testnet will ban
+you.
+.PP
+Masternode options:
+.HP
+\fB\-masternode=\fR<n>
+.IP
+Enable the client to act as a masternode (0\-1, default: 0)
+.HP
+\fB\-mnconf=\fR<file>
+.IP
+Specify masternode configuration file (default: masternode.conf)
+.HP
+\fB\-mnconflock=\fR<n>
+.IP
+Lock masternodes from masternode configuration file (default: 1)
+.HP
+\fB\-masternodeprivkey=\fR<n>
+.IP
+Set the masternode private key
+.PP
+PrivateSend options:
+.HP
+\fB\-enableprivatesend=\fR<n>
+.IP
+Enable use of automated PrivateSend for funds stored in this wallet
+(0\-1, default: 0)
+.HP
+\fB\-privatesendmultisession=\fR<n>
+.IP
+Enable multiple PrivateSend mixing sessions per block, experimental
+(0\-1, default: 0)
+.HP
+\fB\-privatesendsessions=\fR<n>
+.IP
+Use N separate masternodes in parallel to mix funds (1\-10, default: 4)
+.HP
+\fB\-privatesendrounds=\fR<n>
+.IP
+Use N separate masternodes for each denominated input to mix funds
+(2\-16, default: 4)
+.HP
+\fB\-privatesendamount=\fR<n>
+.IP
+Keep N PAC anonymized (2\-21000000, default: 1000)
+.HP
+\fB\-liquidityprovider=\fR<n>
+.IP
+Provide liquidity to PrivateSend by infrequently mixing coins on a
+continual basis (0\-100, default: 0, 1=very frequent, high fees,
+100=very infrequent, low fees)
+.PP
+InstantSend options:
+.HP
+\fB\-enableinstantsend=\fR<n>
+.IP
+Enable InstantSend, show confirmations for locked transactions (0\-1,
+default: 1)
+.HP
+\fB\-instantsendnotify=\fR<cmd>
+.IP
+Execute command when a wallet InstantSend transaction is successfully
+locked (%s in cmd is replaced by TxID)
+.PP
+Node relay options:
+.HP
+\fB\-bytespersigop\fR
+.IP
+Minimum bytes per sigop in transactions we relay and mine (default: 20)
+.HP
+\fB\-datacarrier\fR
+.IP
+Relay and mine data carrier transactions (default: 1)
+.HP
+\fB\-datacarriersize\fR
+.IP
+Maximum size of data in data carrier transactions we relay and mine
+(default: 83)
+.PP
+Block creation options:
+.HP
+\fB\-blockmaxsize=\fR<n>
+.IP
+Set maximum block size in bytes (default: 2000000)
+.HP
+\fB\-blockprioritysize=\fR<n>
+.IP
+Set maximum size of high\-priority/low\-fee transactions in bytes
+(default: 10000)
+.HP
+\fB\-blockmintxfee=\fR<amt>
+.IP
+Set lowest fee rate (in PAC/kB) for transactions to be included in
+block creation. (default: 0.00001)
+.PP
+RPC server options:
+.HP
+\fB\-server\fR
+.IP
+Accept command line and JSON\-RPC commands
+.HP
+\fB\-rest\fR
+.IP
+Accept public REST requests (default: 0)
+.HP
+\fB\-rpcbind=\fR<addr>
+.IP
+Bind to given address to listen for JSON\-RPC connections. Use
+[host]:port notation for IPv6. This option can be specified
+multiple times (default: bind to all interfaces)
+.HP
+\fB\-rpccookiefile=\fR<loc>
+.IP
+Location of the auth cookie (default: data dir)
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcauth=\fR<userpw>
+.IP
+Username and hashed password for JSON\-RPC connections. The field
+<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
+canonical python script is included in share/rpcuser. The client
+then connects normally using the
+rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
+option can be specified multiple times
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Listen for JSON\-RPC connections on <port> (default: 9998 or testnet:
+19998)
+.HP
+\fB\-rpcallowip=\fR<ip>
+.IP
+Allow JSON\-RPC connections from specified source. Valid for <ip> are a
+single IP (e.g. 1.2.3.4), a network/netmask (e.g.
+1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
+option can be specified multiple times
+.HP
+\fB\-rpcthreads=\fR<n>
+.IP
+Set the number of threads to service RPC calls (default: 4)
+.PP
+UI Options:
+.HP
+\fB\-choosedatadir\fR
+.IP
+Choose data directory on startup (default: 0)
+.HP
+\fB\-lang=\fR<lang>
+.IP
+Set language, for example "de_DE" (default: system locale)
+.HP
+\fB\-min\fR
+.IP
+Start minimized
+.HP
+\fB\-rootcertificates=\fR<file>
+.IP
+Set SSL root certificates for payment request (default: \fB\-system\-\fR)
+.HP
+\fB\-splash\fR
+.IP
+Show splash screen on startup (default: 1)
+.HP
+\fB\-resetguisettings\fR
+.IP
+Reset all settings changed in the GUI
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoin-tx.1 b/doc/man/paccoin-tx.1
new file mode 100644
index 000000000000..1ad1e78a9bc0
--- /dev/null
+++ b/doc/man/paccoin-tx.1
@@ -0,0 +1,125 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-TX "1" "November 2018" "paccoin-tx v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-tx \- manual page for paccoin-tx v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core paccoin\-tx utility version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoin\-tx [options] <hex\-tx> [commands]
+Update hex\-encoded paccoin transaction
+.TP
+paccoin\-tx [options] \fB\-create\fR [commands]
+Create hex\-encoded paccoin transaction
+.SH OPTIONS
+.HP
+\-?
+.IP
+This help message
+.HP
+\fB\-create\fR
+.IP
+Create new, empty TX.
+.HP
+\fB\-json\fR
+.IP
+Select JSON output
+.HP
+\fB\-txid\fR
+.IP
+Output only the hex\-encoded transaction id of the resultant transaction.
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-regtest\fR
+.IP
+Enter regression test mode, which uses a special chain in which blocks
+can be solved instantly. This is intended for regression testing
+tools and app development.
+.PP
+Commands:
+.IP
+delin=N
+.IP
+Delete input N from TX
+.IP
+delout=N
+.IP
+Delete output N from TX
+.IP
+in=TXID:VOUT(:SEQUENCE_NUMBER)
+.IP
+Add input to TX
+.IP
+locktime=N
+.IP
+Set TX lock time to N
+.IP
+nversion=N
+.IP
+Set TX version to N
+.IP
+outaddr=VALUE:ADDRESS
+.IP
+Add address\-based output to TX
+.IP
+outpubkey=VALUE:PUBKEY[:FLAGS]
+.IP
+Add pay\-to\-pubkey output to TX. Optionally add the "S" flag to wrap the
+output in a pay\-to\-script\-hash.
+.IP
+outdata=[VALUE:]DATA
+.IP
+Add data\-based output to TX
+.IP
+outscript=VALUE:SCRIPT[:FLAGS]
+.IP
+Add raw script output to TX. Optionally add the "S" flag to wrap the
+output in a pay\-to\-script\-hash.
+.IP
+outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
+.IP
+Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
+Optionally add the "S" flag to wrap the output in a
+pay\-to\-script\-hash.
+.IP
+sign=SIGHASH\-FLAGS
+.IP
+Add zero or more signatures to transaction. This command requires JSON
+registers:prevtxs=JSON object, privatekeys=JSON object. See
+signrawtransaction docs for format of sighash flags, JSON
+objects.
+.PP
+Register Commands:
+.IP
+load=NAME:FILENAME
+.IP
+Load JSON file FILENAME into register NAME
+.IP
+set=NAME:JSON\-STRING
+.IP
+Set register NAME to given JSON\-STRING
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoind.1 b/doc/man/paccoind.1
new file mode 100644
index 000000000000..f63e83436d3d
--- /dev/null
+++ b/doc/man/paccoind.1
@@ -0,0 +1,690 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACD "1" "November 2018" "paccoind v0.13.0.0" "User Commands"
+.SH NAME
+paccoind \- manual page for paccoind v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core Daemon version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoind [options]
+Start Paccoin Core Daemon
+.SH OPTIONS
+.HP
+\-?
+.IP
+Print this help message and exit
+.HP
+\fB\-version\fR
+.IP
+Print version and exit
+.HP
+\fB\-alerts\fR
+.IP
+Receive and display P2P network alerts (default: 1)
+.HP
+\fB\-alertnotify=\fR<cmd>
+.IP
+Execute command when a relevant alert is received or we see a really
+long fork (%s in cmd is replaced by message)
+.HP
+\fB\-blocknotify=\fR<cmd>
+.IP
+Execute command when the best block changes (%s in cmd is replaced by
+block hash)
+.HP
+\fB\-assumevalid=\fR<hex>
+.IP
+If this block is in the chain assume that it and its ancestors are valid
+and potentially skip their script verification (0 to verify all,
+default:
+0000000000000024e26c7df7e46d673724d223cf4ca2b2adc21297cc095600f4,
+testnet:
+000000000118fa2f031efedf874adbe7fe6b023cdf9478e8e2400c2d505df30d)
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-daemon\fR
+.IP
+Run in the background as a daemon and accept commands
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.HP
+\fB\-dbcache=\fR<n>
+.IP
+Set database cache size in megabytes (4 to 16384, default: 300)
+.HP
+\fB\-loadblock=\fR<file>
+.IP
+Imports blocks from external blk000??.dat file on startup
+.HP
+\fB\-maxorphantx=\fR<n>
+.IP
+Keep at most <n> unconnectable transactions in memory (default: 100)
+.HP
+\fB\-maxmempool=\fR<n>
+.IP
+Keep the transaction memory pool below <n> megabytes (default: 300)
+.HP
+\fB\-mempoolexpiry=\fR<n>
+.IP
+Do not keep transactions in the mempool longer than <n> hours (default:
+336)
+.HP
+\fB\-blockreconstructionextratxn=\fR<n>
+.IP
+Extra transactions to keep in memory for compact block reconstructions
+(default: 100)
+.HP
+\fB\-par=\fR<n>
+.IP
+Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
+leave that many cores free, default: 0)
+.HP
+\fB\-pid=\fR<file>
+.IP
+Specify pid file (default: paccoind.pid)
+.HP
+\fB\-prune=\fR<n>
+.IP
+Reduce storage requirements by enabling pruning (deleting) of old
+blocks. This allows the pruneblockchain RPC to be called to
+delete specific blocks, and enables automatic pruning of old
+blocks if a target size in MiB is provided. This mode is
+incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
+setting requires re\-downloading the entire blockchain. (default:
+0 = disable pruning blocks, 1 = allow manual pruning via RPC,
+>945 = automatically prune block files to stay under the
+specified target size in MiB)
+.HP
+\fB\-reindex\-chainstate\fR
+.IP
+Rebuild chain state from the currently indexed blocks
+.HP
+\fB\-reindex\fR
+.IP
+Rebuild chain state and block index from the blk*.dat files on disk
+.HP
+\fB\-sysperms\fR
+.IP
+Create new files with system default permissions, instead of umask 077
+(only effective with disabled wallet functionality)
+.HP
+\fB\-txindex\fR
+.IP
+Maintain a full transaction index, used by the getrawtransaction rpc
+call (default: 1)
+.HP
+\fB\-addressindex\fR
+.IP
+Maintain a full address index, used to query for the balance, txids and
+unspent outputs for addresses (default: 0)
+.HP
+\fB\-timestampindex\fR
+.IP
+Maintain a timestamp index for block hashes, used to query blocks hashes
+by a range of timestamps (default: 0)
+.HP
+\fB\-spentindex\fR
+.IP
+Maintain a full spent index, used to query the spending txid and input
+index for an outpoint (default: 0)
+.PP
+Connection options:
+.HP
+\fB\-addnode=\fR<ip>
+.IP
+Add a node to connect to and attempt to keep the connection open
+.HP
+\fB\-allowprivatenet\fR
+.IP
+Allow RFC1918 addresses to be relayed and connected to (default: 0)
+.HP
+\fB\-banscore=\fR<n>
+.IP
+Threshold for disconnecting misbehaving peers (default: 100)
+.HP
+\fB\-bantime=\fR<n>
+.IP
+Number of seconds to keep misbehaving peers from reconnecting (default:
+86400)
+.HP
+\fB\-bind=\fR<addr>
+.IP
+Bind to given address and always listen on it. Use [host]:port notation
+for IPv6
+.HP
+\fB\-connect=\fR<ip>
+.IP
+Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
+disable automatic connections
+.HP
+\fB\-discover\fR
+.IP
+Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
+or \fB\-proxy\fR)
+.HP
+\fB\-dns\fR
+.IP
+Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
+.HP
+\fB\-dnsseed\fR
+.IP
+Query for peer addresses via DNS lookup, if low on addresses (default: 1
+unless \fB\-connect\fR/\-noconnect)
+.HP
+\fB\-externalip=\fR<ip>
+.IP
+Specify your own public address
+.HP
+\fB\-forcednsseed\fR
+.IP
+Always query for peer addresses via DNS lookup (default: 0)
+.HP
+\fB\-listen\fR
+.IP
+Accept connections from outside (default: 1 if no \fB\-proxy\fR or
+\fB\-connect\fR/\-noconnect)
+.HP
+\fB\-listenonion\fR
+.IP
+Automatically create Tor hidden service (default: 1)
+.HP
+\fB\-maxconnections=\fR<n>
+.IP
+Maintain at most <n> connections to peers (temporary service connections
+excluded) (default: 125)
+.HP
+\fB\-maxreceivebuffer=\fR<n>
+.IP
+Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
+.HP
+\fB\-maxsendbuffer=\fR<n>
+.IP
+Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
+.HP
+\fB\-maxtimeadjustment\fR
+.IP
+Maximum allowed median peer time offset adjustment. Local perspective of
+time may be influenced by peers forward or backward by this
+amount. (default: 4200 seconds)
+.HP
+\fB\-onion=\fR<ip:port>
+.IP
+Use separate SOCKS5 proxy to reach peers via Tor hidden services
+(default: \fB\-proxy\fR)
+.HP
+\fB\-onlynet=\fR<net>
+.IP
+Only connect to nodes in network <net> (ipv4, ipv6 or onion)
+.HP
+\fB\-permitbaremultisig\fR
+.IP
+Relay non\-P2SH multisig (default: 1)
+.HP
+\fB\-peerbloomfilters\fR
+.IP
+Support filtering of blocks and transaction with bloom filters (default:
+1)
+.HP
+\fB\-port=\fR<port>
+.IP
+Listen for connections on <port> (default: 9999 or testnet: 19999)
+.HP
+\fB\-proxy=\fR<ip:port>
+.IP
+Connect through SOCKS5 proxy
+.HP
+\fB\-proxyrandomize\fR
+.IP
+Randomize credentials for every proxy connection. This enables Tor
+stream isolation (default: 1)
+.HP
+\fB\-seednode=\fR<ip>
+.IP
+Connect to a node to retrieve peer addresses, and disconnect
+.HP
+\fB\-timeout=\fR<n>
+.IP
+Specify connection timeout in milliseconds (minimum: 1, default: 5000)
+.HP
+\fB\-torcontrol=\fR<ip>:<port>
+.IP
+Tor control port to use if onion listening enabled (default:
+127.0.0.1:9051)
+.HP
+\fB\-torpassword=\fR<pass>
+.IP
+Tor control port password (default: empty)
+.HP
+\fB\-upnp\fR
+.IP
+Use UPnP to map the listening port (default: 0)
+.HP
+\fB\-whitebind=\fR<addr>
+.IP
+Bind to given address and whitelist peers connecting to it. Use
+[host]:port notation for IPv6
+.HP
+\fB\-whitelist=\fR<IP address or network>
+.IP
+Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
+CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
+times. Whitelisted peers cannot be DoS banned and their
+transactions are always relayed, even if they are already in the
+mempool, useful e.g. for a gateway
+.HP
+\fB\-whitelistrelay\fR
+.IP
+Accept relayed transactions received from whitelisted peers even when
+not relaying transactions (default: 1)
+.HP
+\fB\-whitelistforcerelay\fR
+.IP
+Force relay of transactions from whitelisted peers even if they violate
+local relay policy (default: 1)
+.HP
+\fB\-maxuploadtarget=\fR<n>
+.IP
+Tries to keep outbound traffic under the given target (in MiB per 24h),
+0 = no limit (default: 0)
+.PP
+Wallet options:
+.HP
+\fB\-disablewallet\fR
+.IP
+Do not load the wallet and disable wallet RPC calls
+.HP
+\fB\-keypool=\fR<n>
+.IP
+Set key pool size to <n> (default: 1000)
+.HP
+\fB\-fallbackfee=\fR<amt>
+.IP
+A fee rate (in PAC/kB) that will be used when fee estimation has
+insufficient data (default: 0.00001)
+.HP
+\fB\-mintxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+transaction creation (default: 0.00001)
+.HP
+\fB\-paytxfee=\fR<amt>
+.IP
+Fee (in PAC/kB) to add to transactions you send (default: 0.00)
+.HP
+\fB\-rescan\fR
+.IP
+Rescan the block chain for missing wallet transactions on startup
+.HP
+\fB\-salvagewallet\fR
+.IP
+Attempt to recover private keys from a corrupt wallet on startup
+.HP
+\fB\-spendzeroconfchange\fR
+.IP
+Spend unconfirmed change when sending transactions (default: 1)
+.HP
+\fB\-txconfirmtarget=\fR<n>
+.IP
+If paytxfee is not set, include enough fee so transactions begin
+confirmation on average within n blocks (default: 6)
+.HP
+\fB\-usehd\fR
+.IP
+Use hierarchical deterministic key generation (HD) after BIP39/BIP44.
+Only has effect during wallet creation/first start (default: 0)
+.HP
+\fB\-mnemonic\fR
+.IP
+User defined mnemonic for HD wallet (bip39). Only has effect during
+wallet creation/first start (default: randomly generated)
+.HP
+\fB\-mnemonicpassphrase\fR
+.IP
+User defined mnemonic passphrase for HD wallet (BIP39). Only has effect
+during wallet creation/first start (default: empty string)
+.HP
+\fB\-hdseed\fR
+.IP
+User defined seed for HD wallet (should be in hex). Only has effect
+during wallet creation/first start (default: randomly generated)
+.HP
+\fB\-upgradewallet\fR
+.IP
+Upgrade wallet to latest format on startup
+.HP
+\fB\-wallet=\fR<file>
+.IP
+Specify wallet file (within data directory) (default: wallet.dat)
+.HP
+\fB\-walletbroadcast\fR
+.IP
+Make the wallet broadcast transactions (default: 1)
+.HP
+\fB\-walletnotify=\fR<cmd>
+.IP
+Execute command when a wallet transaction changes (%s in cmd is replaced
+by TxID)
+.HP
+\fB\-zapwallettxes=\fR<mode>
+.IP
+Delete all wallet transactions and only recover those parts of the
+blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
+account owner and payment request information, 2 = drop tx meta
+data)
+.HP
+\fB\-createwalletbackups=\fR<n>
+.IP
+Number of automatic wallet backups (default: 10)
+.HP
+\fB\-walletbackupsdir=\fR<dir>
+.IP
+Specify full path to directory for automatic wallet backups (must exist)
+.HP
+\fB\-keepass\fR
+.IP
+Use KeePass 2 integration using KeePassHttp plugin (default: 0)
+.HP
+\fB\-keepassport=\fR<port>
+.IP
+Connect to KeePassHttp on port <port> (default: 19455)
+.HP
+\fB\-keepasskey=\fR<key>
+.IP
+KeePassHttp key for AES encrypted communication with KeePass
+.HP
+\fB\-keepassid=\fR<name>
+.IP
+KeePassHttp id for the established association
+.HP
+\fB\-keepassname=\fR<name>
+.IP
+Name to construct url for KeePass entry that stores the wallet
+passphrase
+.PP
+ZeroMQ notification options:
+.HP
+\fB\-zmqpubhashblock=\fR<address>
+.IP
+Enable publish hash block in <address>
+.HP
+\fB\-zmqpubhashtx=\fR<address>
+.IP
+Enable publish hash transaction in <address>
+.HP
+\fB\-zmqpubhashtxlock=\fR<address>
+.IP
+Enable publish hash transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubhashgovernancevote=\fR<address>
+.IP
+Enable publish hash of governance votes in <address>
+.HP
+\fB\-zmqpubhashgovernanceobject=\fR<address>
+.IP
+Enable publish hash of governance objects (like proposals) in <address>
+.HP
+\fB\-zmqpubhashinstantsenddoublespend=\fR<address>
+.IP
+Enable publish transaction hashes of attempted InstantSend double spend
+in <address>
+.HP
+\fB\-zmqpubrawblock=\fR<address>
+.IP
+Enable publish raw block in <address>
+.HP
+\fB\-zmqpubrawtx=\fR<address>
+.IP
+Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxlock=\fR<address>
+.IP
+Enable publish raw transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubrawinstantsenddoublespend=\fR<address>
+.IP
+Enable publish raw transactions of attempted InstantSend double spend in
+<address>
+.PP
+Debugging/Testing options:
+.HP
+\fB\-uacomment=\fR<cmt>
+.IP
+Append comment to the user agent string
+.HP
+\fB\-debug=\fR<category>
+.IP
+Output debugging information (default: 0, supplying <category> is
+optional). If <category> is not supplied or if <category> = 1,
+output all debugging information.<category> can be: addrman,
+alert, bench, cmpctblock, coindb, db, http, leveldb, libevent,
+lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
+selectcoins, tor, zmq, paccoin (or specifically: gobject,
+instantsend, keepass, masternode, mnpayments, mnsync,
+privatesend, spork).
+.HP
+\fB\-help\-debug\fR
+.IP
+Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
+.HP
+\fB\-logips\fR
+.IP
+Include IP addresses in debug output (default: 0)
+.HP
+\fB\-logtimestamps\fR
+.IP
+Prepend debug output with timestamp (default: 1)
+.HP
+\fB\-minrelaytxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+relaying, mining and transaction creation (default: 0.00001)
+.HP
+\fB\-maxtxfee=\fR<amt>
+.IP
+Maximum total fees (in PAC) to use in a single wallet transaction or
+raw transaction; setting this too low may abort large
+transactions (default: 0.10)
+.HP
+\fB\-printtoconsole\fR
+.IP
+Send trace/debug info to console instead of debug.log file
+.HP
+\fB\-printtodebuglog\fR
+.IP
+Send trace/debug info to debug.log file (default: 1)
+.HP
+\fB\-shrinkdebugfile\fR
+.IP
+Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-litemode=\fR<n>
+.IP
+Disable all Paccoin specific functionality (Masternodes, PrivateSend,
+InstantSend, Governance) (0\-1, default: 0)
+.HP
+\fB\-sporkaddr=\fR<hex>
+.IP
+Override spork address. Only useful for regtest and devnet. Using this
+on mainnet or testnet will ban you.
+.HP
+\fB\-minsporkkeys=\fR<n>
+.IP
+Overrides minimum spork signers to change spork value. Only useful for
+regtest and devnet. Using this on mainnet or testnet will ban
+you.
+.PP
+Masternode options:
+.HP
+\fB\-masternode=\fR<n>
+.IP
+Enable the client to act as a masternode (0\-1, default: 0)
+.HP
+\fB\-mnconf=\fR<file>
+.IP
+Specify masternode configuration file (default: masternode.conf)
+.HP
+\fB\-mnconflock=\fR<n>
+.IP
+Lock masternodes from masternode configuration file (default: 1)
+.HP
+\fB\-masternodeprivkey=\fR<n>
+.IP
+Set the masternode private key
+.PP
+PrivateSend options:
+.HP
+\fB\-enableprivatesend=\fR<n>
+.IP
+Enable use of automated PrivateSend for funds stored in this wallet
+(0\-1, default: 0)
+.HP
+\fB\-privatesendmultisession=\fR<n>
+.IP
+Enable multiple PrivateSend mixing sessions per block, experimental
+(0\-1, default: 0)
+.HP
+\fB\-privatesendsessions=\fR<n>
+.IP
+Use N separate masternodes in parallel to mix funds (1\-10, default: 4)
+.HP
+\fB\-privatesendrounds=\fR<n>
+.IP
+Use N separate masternodes for each denominated input to mix funds
+(2\-16, default: 4)
+.HP
+\fB\-privatesendamount=\fR<n>
+.IP
+Keep N PAC anonymized (2\-21000000, default: 1000)
+.HP
+\fB\-liquidityprovider=\fR<n>
+.IP
+Provide liquidity to PrivateSend by infrequently mixing coins on a
+continual basis (0\-100, default: 0, 1=very frequent, high fees,
+100=very infrequent, low fees)
+.PP
+InstantSend options:
+.HP
+\fB\-enableinstantsend=\fR<n>
+.IP
+Enable InstantSend, show confirmations for locked transactions (0\-1,
+default: 1)
+.HP
+\fB\-instantsendnotify=\fR<cmd>
+.IP
+Execute command when a wallet InstantSend transaction is successfully
+locked (%s in cmd is replaced by TxID)
+.PP
+Node relay options:
+.HP
+\fB\-bytespersigop\fR
+.IP
+Minimum bytes per sigop in transactions we relay and mine (default: 20)
+.HP
+\fB\-datacarrier\fR
+.IP
+Relay and mine data carrier transactions (default: 1)
+.HP
+\fB\-datacarriersize\fR
+.IP
+Maximum size of data in data carrier transactions we relay and mine
+(default: 83)
+.PP
+Block creation options:
+.HP
+\fB\-blockmaxsize=\fR<n>
+.IP
+Set maximum block size in bytes (default: 2000000)
+.HP
+\fB\-blockprioritysize=\fR<n>
+.IP
+Set maximum size of high\-priority/low\-fee transactions in bytes
+(default: 10000)
+.HP
+\fB\-blockmintxfee=\fR<amt>
+.IP
+Set lowest fee rate (in PAC/kB) for transactions to be included in
+block creation. (default: 0.00001)
+.PP
+RPC server options:
+.HP
+\fB\-server\fR
+.IP
+Accept command line and JSON\-RPC commands
+.HP
+\fB\-rest\fR
+.IP
+Accept public REST requests (default: 0)
+.HP
+\fB\-rpcbind=\fR<addr>
+.IP
+Bind to given address to listen for JSON\-RPC connections. Use
+[host]:port notation for IPv6. This option can be specified
+multiple times (default: bind to all interfaces)
+.HP
+\fB\-rpccookiefile=\fR<loc>
+.IP
+Location of the auth cookie (default: data dir)
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcauth=\fR<userpw>
+.IP
+Username and hashed password for JSON\-RPC connections. The field
+<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
+canonical python script is included in share/rpcuser. The client
+then connects normally using the
+rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
+option can be specified multiple times
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Listen for JSON\-RPC connections on <port> (default: 9998 or testnet:
+19998)
+.HP
+\fB\-rpcallowip=\fR<ip>
+.IP
+Allow JSON\-RPC connections from specified source. Valid for <ip> are a
+single IP (e.g. 1.2.3.4), a network/netmask (e.g.
+1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
+option can be specified multiple times
+.HP
+\fB\-rpcthreads=\fR<n>
+.IP
+Set the number of threads to service RPC calls (default: 4)
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.

From d0855b212c24c7962517bf5a2abdc5410622f0c6 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:09:46 -0600
Subject: [PATCH 106/225] add patches

---
 .../patches/native_biplist/sorted_list.patch  | 29 ++++++++
 .../patches/native_mac_alias/python3.patch    | 72 +++++++++++++++++++
 .../patches/qt/fix-cocoahelpers-macos.patch   | 70 ++++++++++++++++++
 depends/patches/qt/fix_qt_configure.patch     | 11 +++
 depends/patches/qt/fix_qt_pkgconfig.patch     | 11 +++
 depends/patches/qt/qfixed-coretext.patch      | 34 +++++++++
 ...d3957725acd34aa8b8d011585812f3369411.patch | 22 ++++++
 ...45c12e0b100cd38acecc16ce7db02905e27c.patch | 22 ++++++
 8 files changed, 271 insertions(+)
 create mode 100644 depends/patches/native_biplist/sorted_list.patch
 create mode 100644 depends/patches/native_mac_alias/python3.patch
 create mode 100644 depends/patches/qt/fix-cocoahelpers-macos.patch
 create mode 100644 depends/patches/qt/fix_qt_configure.patch
 create mode 100644 depends/patches/qt/fix_qt_pkgconfig.patch
 create mode 100644 depends/patches/qt/qfixed-coretext.patch
 create mode 100644 depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
 create mode 100644 depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch

diff --git a/depends/patches/native_biplist/sorted_list.patch b/depends/patches/native_biplist/sorted_list.patch
new file mode 100644
index 000000000000..89abdb1b71ff
--- /dev/null
+++ b/depends/patches/native_biplist/sorted_list.patch
@@ -0,0 +1,29 @@
+--- a/biplist/__init__.py	2014-10-26 19:03:11.000000000 +0000
++++ b/biplist/__init__.py	2016-07-19 19:30:17.663521999 +0000
+@@ -541,7 +541,7 @@
+             return HashableWrapper(n)
+         elif isinstance(root, dict):
+             n = {}
+-            for key, value in iteritems(root):
++            for key, value in sorted(iteritems(root)):
+                 n[self.wrapRoot(key)] = self.wrapRoot(value)
+             return HashableWrapper(n)
+         elif isinstance(root, list):
+@@ -616,7 +616,7 @@
+             elif isinstance(obj, dict):
+                 size = proc_size(len(obj))
+                 self.incrementByteCount('dictBytes', incr=1+size)
+-                for key, value in iteritems(obj):
++                for key, value in sorted(iteritems(obj)):
+                     check_key(key)
+                     self.computeOffsets(key, asReference=True)
+                     self.computeOffsets(value, asReference=True)
+@@ -714,7 +714,7 @@
+                 keys = []
+                 values = []
+                 objectsToWrite = []
+-                for key, value in iteritems(obj):
++                for key, value in sorted(iteritems(obj)):
+                     keys.append(key)
+                     values.append(value)
+                 for key in keys:
diff --git a/depends/patches/native_mac_alias/python3.patch b/depends/patches/native_mac_alias/python3.patch
new file mode 100644
index 000000000000..1a32340be5b1
--- /dev/null
+++ b/depends/patches/native_mac_alias/python3.patch
@@ -0,0 +1,72 @@
+diff -dur a/mac_alias/alias.py b/mac_alias/alias.py
+--- a/mac_alias/alias.py	2015-10-19 12:12:48.000000000 +0200
++++ b/mac_alias/alias.py	2016-04-03 12:13:12.037159417 +0200
+@@ -243,10 +243,10 @@
+         alias = Alias()
+         alias.appinfo = appinfo
+             
+-        alias.volume = VolumeInfo (volname.replace('/',':'),
++        alias.volume = VolumeInfo (volname.decode().replace('/',':'),
+                                    voldate, fstype, disktype,
+                                    volattrs, volfsid)
+-        alias.target = TargetInfo (kind, filename.replace('/',':'),
++        alias.target = TargetInfo (kind, filename.decode().replace('/',':'),
+                                    folder_cnid, cnid,
+                                    crdate, creator_code, type_code)
+         alias.target.levels_from = levels_from
+@@ -261,9 +261,9 @@
+                 b.read(1)
+ 
+             if tag == TAG_CARBON_FOLDER_NAME:
+-                alias.target.folder_name = value.replace('/',':')
++                alias.target.folder_name = value.decode().replace('/',':')
+             elif tag == TAG_CNID_PATH:
+-                alias.target.cnid_path = struct.unpack(b'>%uI' % (length // 4),
++                alias.target.cnid_path = struct.unpack('>%uI' % (length // 4),
+                                                            value)
+             elif tag == TAG_CARBON_PATH:
+                 alias.target.carbon_path = value
+@@ -298,9 +298,9 @@
+                 alias.target.creation_date \
+                     = mac_epoch + datetime.timedelta(seconds=seconds)
+             elif tag == TAG_POSIX_PATH:
+-                alias.target.posix_path = value
++                alias.target.posix_path = value.decode()
+             elif tag == TAG_POSIX_PATH_TO_MOUNTPOINT:
+-                alias.volume.posix_path = value
++                alias.volume.posix_path = value.decode()
+             elif tag == TAG_RECURSIVE_ALIAS_OF_DISK_IMAGE:
+                 alias.volume.disk_image_alias = Alias.from_bytes(value)
+             elif tag == TAG_USER_HOME_LENGTH_PREFIX:
+@@ -422,13 +422,13 @@
+         #       (so doing so is ridiculous, and nothing could rely on it).
+         b.write(struct.pack(b'>h28pI2shI64pII4s4shhI2s10s',
+                             self.target.kind,
+-                            carbon_volname, voldate,
++                            carbon_volname, int(voldate),
+                             self.volume.fs_type,
+                             self.volume.disk_type,
+                             self.target.folder_cnid,
+                             carbon_filename,
+                             self.target.cnid,
+-                            crdate,
++                            int(crdate),
+                             self.target.creator_code,
+                             self.target.type_code,
+                             self.target.levels_from,
+@@ -449,12 +449,12 @@
+ 
+         b.write(struct.pack(b'>hhQhhQ',
+                 TAG_HIGH_RES_VOLUME_CREATION_DATE,
+-                8, long(voldate * 65536),
++                8, int(voldate * 65536),
+                 TAG_HIGH_RES_CREATION_DATE,
+-                8, long(crdate * 65536)))
++                8, int(crdate * 65536)))
+ 
+         if self.target.cnid_path:
+-            cnid_path = struct.pack(b'>%uI' % len(self.target.cnid_path),
++            cnid_path = struct.pack('>%uI' % len(self.target.cnid_path),
+                                     *self.target.cnid_path)
+             b.write(struct.pack(b'>hh', TAG_CNID_PATH,
+                                  len(cnid_path)))
diff --git a/depends/patches/qt/fix-cocoahelpers-macos.patch b/depends/patches/qt/fix-cocoahelpers-macos.patch
new file mode 100644
index 000000000000..1b43a9eff8fe
--- /dev/null
+++ b/depends/patches/qt/fix-cocoahelpers-macos.patch
@@ -0,0 +1,70 @@
+From 0707260a4f8e64dfadf1df5f935e74cabb7c7d27 Mon Sep 17 00:00:00 2001
+From: Jake Petroules <jake.petroules@qt.io>
+Date: Sun, 1 Oct 2017 21:48:17 -0700
+Subject: [PATCH] Fix build error with macOS 10.13 SDK
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Several of these variables/macros are no longer defined. We didn't
+validate the preconditions on iOS, tvOS, or watchOS, so no
+need to bother validating them on macOS either. Nor did we check the
+OSStatus result on any platform anyways.
+
+Task-number: QTBUG-63401
+Change-Id: Ife64dff767cf6d3f4b839fc53ec486181c176bf3
+(cherry-picked from 861544583511d4e6f7745d2339b26ff1cd44132b)
+Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
+Reviewed-by: Tor Arne VestbÃ¸ <tor.arne.vestbo@qt.io>
+---
+ src/plugins/platforms/cocoa/qcocoahelpers.h  |  2 +-
+ src/plugins/platforms/cocoa/qcocoahelpers.mm | 13 +------------
+ 2 files changed, 2 insertions(+), 13 deletions(-)
+
+diff --git old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
+index bbb3793..74371d5 100644
+--- old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
++++ new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
+@@ -80,7 +80,7 @@ QColor qt_mac_toQColor(CGColorRef color);
+ // Creates a mutable shape, it's the caller's responsibility to release.
+ HIMutableShapeRef qt_mac_QRegionToHIMutableShape(const QRegion &region);
+ 
+-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);
++void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);
+ 
+ NSDragOperation qt_mac_mapDropAction(Qt::DropAction action);
+ NSDragOperation qt_mac_mapDropActions(Qt::DropActions actions);
+diff --git old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
+index cd73148..3f8429e 100644
+--- old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
++++ new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
+@@ -544,15 +544,8 @@ NSRect qt_mac_flipRect(const QRect &rect)
+     return NSMakeRect(rect.x(), flippedY, rect.width(), rect.height());
+ }
+ 
+-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
++void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
+ {
+-    // Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
+-    OSStatus err = noErr;
+-
+-    require_action(inContext != NULL, InvalidContext, err = paramErr);
+-    require_action(inBounds != NULL, InvalidBounds, err = paramErr);
+-    require_action(inImage != NULL, InvalidImage, err = paramErr);
+-
+     CGContextSaveGState( inContext );
+     CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
+     CGContextScaleCTM(inContext, 1, -1);
+@@ -560,10 +553,6 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
+     CGContextDrawImage(inContext, *inBounds, inImage);
+ 
+     CGContextRestoreGState(inContext);
+-InvalidImage:
+-InvalidBounds:
+-InvalidContext:
+-        return err;
+ }
+ 
+ Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum)
+-- 
+2.7.4
diff --git a/depends/patches/qt/fix_qt_configure.patch b/depends/patches/qt/fix_qt_configure.patch
new file mode 100644
index 000000000000..3466a6c24d79
--- /dev/null
+++ b/depends/patches/qt/fix_qt_configure.patch
@@ -0,0 +1,11 @@
+--- old/qtbase/configure
++++ new/qtbase/configure
+@@ -2846,7 +2846,7 @@
+         # with the system. We use 'xcrun' to check the clang version that's part of
+         # the Xcode installation.
+         XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`
+-        CLANGVERSION=`echo "$XCRUN" | sed -n 's/.*version \([0-9]\).*/\1/p'`
++        CLANGVERSION=`echo "$XCRUN" | sed -n 's/.*version \([0-9]*\).*/\1/p'`
+         expr "$CLANGVERSION" : '[0-9]' > /dev/null || { echo "Unable to determine CLANG version from output of xcrun: $XCRUN" ; exit 2 ; }
+         if [ "$CLANGVERSION" -ge 3 ]; then
+             PLATFORM=macx-clang
diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch
new file mode 100644
index 000000000000..34302a9f2d2e
--- /dev/null
+++ b/depends/patches/qt/fix_qt_pkgconfig.patch
@@ -0,0 +1,11 @@
+--- old/qtbase/mkspecs/features/qt_module.prf
++++ new/qtbase/mkspecs/features/qt_module.prf
+@@ -245,7 +245,7 @@
+ load(qt_targets)
+ 
+ # this builds on top of qt_common
+-!internal_module:!lib_bundle:if(unix|mingw) {
++unix|mingw {
+     CONFIG += create_pc
+     QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+     host_build: \
diff --git a/depends/patches/qt/qfixed-coretext.patch b/depends/patches/qt/qfixed-coretext.patch
new file mode 100644
index 000000000000..c5ad7d063237
--- /dev/null
+++ b/depends/patches/qt/qfixed-coretext.patch
@@ -0,0 +1,34 @@
+From dbdd5f0ffbce52c8b789ed09f1aa3f1da6c02e23 Mon Sep 17 00:00:00 2001
+From: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
+Date: Fri, 30 Mar 2018 11:58:16 -0700
+Subject: [PATCH] QCoreTextFontEngine: Fix build with Xcode 9.3
+
+Apple LLVM version 9.1.0 (clang-902.0.39.1)
+
+Error message:
+
+.../qfontengine_coretext.mm:827:20: error: qualified reference to
+      'QFixed' is a constructor name rather than a type in this context
+    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+
+Change-Id: Iebe26b3b087a16b10664208fc8851cbddb47f043
+Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
+---
+ src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git old/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm new/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+index 25ff69d877d..98b753eff96 100644
+--- old/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
++++ new/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+@@ -824,7 +824,7 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, gl
+ 
+ QFixed QCoreTextFontEngine::emSquareSize() const
+ {
+-    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
++    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+ }
+ 
+ QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
+-- 
+2.16.3
diff --git a/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch b/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
new file mode 100644
index 000000000000..f704b3d94fda
--- /dev/null
+++ b/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
@@ -0,0 +1,22 @@
+From 9114d3957725acd34aa8b8d011585812f3369411 Mon Sep 17 00:00:00 2001
+From: Jeroen Ooms <jeroenooms@gmail.com>
+Date: Tue, 20 Oct 2015 13:10:38 +0200
+Subject: [PATCH] enable static libraries on mingw
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 393505b..e92131a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -265,7 +265,7 @@ case "${host_os}" in
+         libzmq_dso_visibility="no"
+
+         if test "x$enable_static" = "xyes"; then
+-            AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
++            CPPFLAGS="-DZMQ_STATIC"
+         fi
+
+ 	# Set FD_SETSIZE to 1024
\ No newline at end of file
diff --git a/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch b/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
new file mode 100644
index 000000000000..9aff2c179a19
--- /dev/null
+++ b/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
@@ -0,0 +1,22 @@
+From 9e6745c12e0b100cd38acecc16ce7db02905e27c Mon Sep 17 00:00:00 2001
+From: David Millard <dmillard10@gmail.com>
+Date: Tue, 10 May 2016 13:53:53 -0700
+Subject: [PATCH] Fix autotools for static MinGW builds
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5a0fa14..def6ea7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -259,7 +259,7 @@ case "${host_os}" in
+         libzmq_dso_visibility="no"
+
+         if test "x$enable_static" = "xyes"; then
+-            CPPFLAGS="-DZMQ_STATIC"
++            CPPFLAGS="-DZMQ_STATIC $CPPFLAGS"
+         fi
+
+ 	# Set FD_SETSIZE to 1024
\ No newline at end of file

From c73639af0ee00bb5b394baf256d58ee525e6def4 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 12:25:53 -0600
Subject: [PATCH 107/225] PACtoUSD removal

---
 src/qt/bitcoinunits.cpp       | 11 -----------
 src/qt/bitcoinunits.h         |  2 --
 src/qt/receivecoinsdialog.cpp |  1 -
 3 files changed, 14 deletions(-)

diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index f8000b1210a2..152b85f2949e 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -277,14 +277,3 @@ CAmount BitcoinUnits::maxMoney()
 {
     return MAX_MONEY;
 }
-
-QString BitcoinUnits::pacToUsd(CAmount balance)
-{
-    QSettings settings;
-    qint64 bal = (qint64)balance;
-    qint64 tbal = (bal > 0 ? bal : -bal);
-    double dbal = tbal;
-    double dval = (settings.value("PACvalue").toString()).toDouble();
-    QString s_n_abs = QString::number((dbal/100000000)*dval);
-    return s_n_abs;
-}
\ No newline at end of file
diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h
index fef5ff2c3720..40011ea34180 100644
--- a/src/qt/bitcoinunits.h
+++ b/src/qt/bitcoinunits.h
@@ -102,8 +102,6 @@ class BitcoinUnits: public QAbstractListModel
     static QString getAmountColumnTitle(int unit);
     ///@}
 
-    static QString pacToUsd(CAmount balance);
-
     //! @name AbstractListModel implementation
     //! List model for unit drop-down selection box.
     ///@{
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 9d3360fcf23f..26bda7467f95 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -390,5 +390,4 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchImmatureBalance);
 
     ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance));
-    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
 }

From 4615dcc0bd6d708b380e715303af9dc485c21a11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 18 Feb 2019 12:34:14 -0600
Subject: [PATCH 108/225] BugFixed with BitcoinAmountField comma

the spinner was not detecting the amount with the comma. It was removed from this control
---
 src/qt/receivecoinsdialog.cpp | 2 +-
 src/qt/sendcoinsdialog.cpp    | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 26bda7467f95..22dc38ee98c8 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -389,5 +389,5 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchUnconfirmedBalance);
     Q_UNUSED(watchImmatureBalance);
 
-    ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance));
+    ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), balance, false, BitcoinUnits::separatorAlways));
 }
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 03ee2533cc19..e88df71d8eb6 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -585,8 +585,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    } else {
 		    bal = balance;
 	    }
-
-        ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), bal));
+        ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), bal, false, BitcoinUnits::separatorAlways));
     }
 }
 

From d4f80069e4a54977227effdab24143fd073eea61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 18 Feb 2019 12:34:25 -0600
Subject: [PATCH 109/225] Amperson removed from ui

---
 src/qt/forms/sendcoinsdialog.ui | 17 ++++++++++-------
 src/qt/locale/paccoin_en.ts     |  8 ++++----
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index e3ab43881b8d..6d43ced77421 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1040,6 +1040,9 @@
                 <height>50</height>
                </size>
               </property>
+              <property name="locale">
+               <locale language="English" country="UnitedStates"/>
+              </property>
               <property name="text">
                <string>123,456.00</string>
               </property>
@@ -1342,7 +1345,7 @@
             <widget class="QWidget" name="scrollAreaWidgetContents_3">
              <property name="geometry">
               <rect>
-               <x>-95</x>
+               <x>0</x>
                <y>0</y>
                <width>293</width>
                <height>484</height>
@@ -1860,22 +1863,22 @@
   </layout>
  </widget>
  <customwidgets>
-  <customwidget>
-   <class>QValidatedLineEdit</class>
-   <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
-  </customwidget>
   <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>
  </customwidgets>
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupFee"/>
   <buttongroup name="groupCustomFee"/>
+  <buttongroup name="groupFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/locale/paccoin_en.ts b/src/qt/locale/paccoin_en.ts
index 0626eb9bb4ed..738023058c22 100644
--- a/src/qt/locale/paccoin_en.ts
+++ b/src/qt/locale/paccoin_en.ts
@@ -1149,7 +1149,7 @@
     <message>
         <location line="+11"/>
         <source>&amp;Label</source>
-        <translation>&amp;Label</translation>
+        <translation>Label</translation>
     </message>
     <message>
         <location line="+10"/>
@@ -3231,7 +3231,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     <message>
         <location line="+10"/>
         <source>&amp;Label:</source>
-        <translation>&amp;Label:</translation>
+        <translation>Label:</translation>
     </message>
     <message>
         <location line="+13"/>
@@ -3242,7 +3242,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     <message>
         <location line="-19"/>
         <source>&amp;Amount:</source>
-        <translation>&amp;Amount:</translation>
+        <translation>Amount:</translation>
     </message>
     <message>
         <location line="+34"/>
@@ -3857,7 +3857,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     <message>
         <location line="-1055"/>
         <source>&amp;Label:</source>
-        <translation>&amp;Label:</translation>
+        <translation>Label:</translation>
     </message>
     <message>
         <location line="+13"/>

From 5ae384c152f7617764c9d36a60bbd5428c7c84fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 18 Feb 2019 12:34:48 -0600
Subject: [PATCH 110/225] RCC was not finding the icons and assets

It should work now
---
 src/Makefile.qt.include | 103 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 98 insertions(+), 5 deletions(-)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 1b16bc189467..042c7532645a 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -179,6 +179,16 @@ BITCOIN_QT_H = \
   qt/walletview.h \
   qt/winshutdownmonitor.h 
 
+RES_FONTS = \
+  qt/res/fonts/VolteRounded-Regular.otf \
+  qt/res/fonts/VolteRounded-Bold.otf \
+  qt/res/fonts/VolteRounded-Light.otf \
+  qt/res/fonts/VolteRounded-Medium.otf \
+  qt/res/fonts/VolteRounded-Semibold.otf \
+  qt/res/fonts/Gotham-Medium.ttf \
+  qt/res/fonts/Gotham-Bold.otf
+
+
 RES_ICONS = \
   qt/res/icons/bitcoin.ico \
   qt/res/icons/bitcoin.png \
@@ -404,7 +414,64 @@ RES_ICONS = \
   qt/res/icons/trad/fontsmaller.png \
   qt/res/icons/trad/transaction_abandoned.png \
   qt/res/icons/trad/network_disabled.png \
-  qt/res/icons/trad/proposal.png
+  qt/res/icons/trad/proposal.png \
+  qt/res/icons/pac/address-book.png \
+  qt/res/icons/pac/quit.png \
+  qt/res/icons/pac/send.png \
+  qt/res/icons/pac/connect0_16.png \
+  qt/res/icons/pac/connect1_16.png \
+  qt/res/icons/pac/connect2_16.png \
+  qt/res/icons/pac/connect3_16.png \
+  qt/res/icons/pac/connect4_16.png \
+  qt/res/icons/pac/transaction0.png \
+  qt/res/icons/pac/transaction2.png \
+  qt/res/icons/pac/transaction_conflicted.png \
+  qt/res/icons/pac/clock1.png \
+  qt/res/icons/pac/clock2.png \
+  qt/res/icons/pac/clock3.png \
+  qt/res/icons/pac/clock4.png \
+  qt/res/icons/pac/clock5.png \
+  qt/res/icons/pac/eye.png \
+  qt/res/icons/pac/eye_minus.png \
+  qt/res/icons/pac/eye_plus.png \
+  qt/res/icons/pac/configure.png \
+  qt/res/icons/pac/receive.png \
+  qt/res/icons/pac/proposal.png \
+  qt/res/icons/pac/editpaste.png \
+  qt/res/icons/pac/editcopy.png \
+  qt/res/icons/pac/add.png \
+  qt/res/icons/pac/edit.png \
+  qt/res/icons/pac/history.png \
+  qt/res/icons/pac/masternodes.png \
+  qt/res/icons/pac/overview.png \
+  qt/res/icons/pac/export.png \
+  qt/res/icons/pac/synced.png \
+  qt/res/icons/pac/remove.png \
+  qt/res/icons/pac/tx_mined.png \
+  qt/res/icons/pac/tx_input.png \
+  qt/res/icons/pac/tx_output.png \
+  qt/res/icons/pac/tx_inout.png \
+  qt/res/icons/pac/lock_closed.png \
+  qt/res/icons/pac/lock_open.png \
+  qt/res/icons/pac/key.png \
+  qt/res/icons/pac/filesave.png \
+  qt/res/icons/pac/debugwindow.png \
+  qt/res/icons/pac/drkblue_editpaste.png \
+  qt/res/icons/pac/drkblue_address-book.png \
+  qt/res/icons/pac/drkblue_editcopy.png \
+  qt/res/icons/pac/drkblue_remove.png \
+  qt/res/icons/pac/browse.png \
+  qt/res/icons/pac/about.png \
+  qt/res/icons/pac/about_qt.png \
+  qt/res/icons/pac/verify.png \
+  qt/res/icons/pac/hd_enabled.png \
+  qt/res/icons/pac/hd_disabled.png \
+  qt/res/icons/pac/fontbigger.png \
+  qt/res/icons/pac/fontsmaller.png \
+  qt/res/icons/pac/transaction_abandoned.png \
+  qt/res/icons/pac/network_disabled.png \
+  qt/res/icons/pac/info.png \
+  qt/res/icons/pac/private.png
 
 BITCOIN_QT_CPP = \
   qt/bantablemodel.cpp \
@@ -523,14 +590,40 @@ RES_IMAGES = \
   qt/res/images/trad/drkblue_leftArrow_small.png \
   qt/res/images/trad/drkblue_rightArrow_small.png \
   qt/res/images/trad/drkblue_qtreeview_selected.png \
-  qt/res/images/trad/drkblue_walletFrame_bg.png
+  qt/res/images/trad/drkblue_walletFrame_bg.png \
+  qt/res/images/pac/about.png \
+  qt/res/images/pac/paccoin_logo_horizontal.png \
+  qt/res/images/pac/unchecked.png \
+  qt/res/images/pac/checked.png \
+  qt/res/images/pac/drkblue_downArrow.png \
+  qt/res/images/pac/drkblue_downArrow_small.png \
+  qt/res/images/pac/drkblue_upArrow_small.png \
+  qt/res/images/pac/drkblue_leftArrow_small.png \
+  qt/res/images/pac/drkblue_rightArrow_small.png \
+  qt/res/images/pac/drkblue_qtreeview_selected.png \
+  qt/res/images/pac/drkblue_walletFrame_bg.jpg \
+  qt/res/images/pac/splash.png \
+  qt/res/images/pac/splash_testnet.png \
+  qt/res/images/pac/hover_profile.png \
+  qt/res/images/pac/profile_bkg.png \
+  qt/res/images/pac/profile.jpg \
+  qt/res/images/pac/header_bkg.png \
+  qt/res/images/pac/checked_b.png \
+  qt/res/images/pac/unchecked_b.png \
+  qt/res/images/pac/checked_b_dis.png \
+  qt/res/images/pac/unchecked_b_dis.png \
+  qt/res/images/pac/checked_dis.png \
+  qt/res/images/pac/unchecked_dis.png 
+
 
 RES_CSS = \
   qt/res/css/drkblue.css \
   qt/res/css/crownium.css \
   qt/res/css/light.css \
   qt/res/css/light-hires.css \
-  qt/res/css/trad.css
+  qt/res/css/trad.css \
+  qt/res/css/pac.css
+
 
 RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png)
 
@@ -544,7 +637,7 @@ qt_libbitcoinqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INC
 qt_libbitcoinqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS)
 
 qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \
-  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) 
+  $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_FONTS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) 
 
 nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \
   $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP)
@@ -606,7 +699,7 @@ $(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM)
 	$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) $(RCCFLAGS) -name paccoin_locale $(@D)/$(<F) | \
 	  $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@
 
-$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(PROTOBUF_H)
+$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_FONTS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(PROTOBUF_H)
 	@test -f $(RCC)
 	$(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) $(RCCFLAGS) -name paccoin $< | \
 	  $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@

From c0701cf5320b11a908afdead401d77416f8b9a71 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:35:08 -0600
Subject: [PATCH 111/225] completion

---
 ...completion => paccoin-cli.bash-completion} | 59 +++++++++++--------
 contrib/paccoin-tx.bash-completion            | 57 ++++++++++++++++++
 contrib/paccoind.bash-completion              | 56 ++++++++++++++++++
 3 files changed, 147 insertions(+), 25 deletions(-)
 rename contrib/{dashd.bash-completion => paccoin-cli.bash-completion} (67%)
 create mode 100644 contrib/paccoin-tx.bash-completion
 create mode 100644 contrib/paccoind.bash-completion

diff --git a/contrib/dashd.bash-completion b/contrib/paccoin-cli.bash-completion
similarity index 67%
rename from contrib/dashd.bash-completion
rename to contrib/paccoin-cli.bash-completion
index a6098ba6023f..e001a3d30801 100644
--- a/contrib/dashd.bash-completion
+++ b/contrib/paccoin-cli.bash-completion
@@ -1,45 +1,52 @@
-# bash programmable completion for paccoind(1) and paccoin-cli(1)
-# Copyright (c) 2012,2014 Christian von Roques <roques@mti.ag>
+# bash programmable completion for paccoin-cli(1)
+# Copyright (c) 2012-2016 The Bitcoin Core developers
 # Distributed under the MIT software license, see the accompanying
 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
 
-have paccoind && {
-
-# call $paccoind for RPC
+# call $paccoin-cli for RPC
 _paccoin_rpc() {
     # determine already specified args necessary for RPC
     local rpcargs=()
     for i in ${COMP_LINE}; do
         case "$i" in
-            -conf=*|-proxy*|-rpc*)
+            -conf=*|-datadir=*|-regtest|-rpc*|-testnet)
                 rpcargs=( "${rpcargs[@]}" "$i" )
                 ;;
         esac
     done
-    $paccoind "${rpcargs[@]}" "$@"
+    $paccoin_cli "${rpcargs[@]}" "$@"
 }
 
-# Add paccoin accounts to COMPREPLY
+# Add wallet accounts to COMPREPLY
 _paccoin_accounts() {
     local accounts
-    accounts=$(_paccoin_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}')
+    accounts=$(_paccoin_rpc listaccounts | awk -F '"' '{ print $2 }')
     COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) )
 }
 
-_paccoind() {
+_paccoin_cli() {
     local cur prev words=() cword
-    local paccoind
+    local paccoin_cli
 
-    # save and use original argument to invoke paccoind
-    # paccoind might not be in $PATH
-    paccoind="$1"
+    # save and use original argument to invoke paccoin-cli for -help, help and RPC
+    # as paccoin-cli might not be in $PATH
+    paccoin_cli="$1"
 
     COMPREPLY=()
     _get_comp_words_by_ref -n = cur prev words cword
 
+    if ((cword > 5)); then
+        case ${words[cword-5]} in
+            sendtoaddress)
+                COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
+
     if ((cword > 4)); then
         case ${words[cword-4]} in
-            listtransactions)
+            importaddress|listtransactions|setban)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -56,7 +63,7 @@ _paccoind() {
                 _paccoin_accounts
                 return 0
                 ;;
-            getbalance|gettxout|importaddress|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
+            getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -69,7 +76,11 @@ _paccoind() {
                 COMPREPLY=( $( compgen -W "add remove onetry" -- "$cur" ) )
                 return 0
                 ;;
-            getblock|getrawtransaction|gettransaction|listaccounts|listreceivedbyaccount|listreceivedbyaddress|sendrawtransaction)
+            setban)
+                COMPREPLY=( $( compgen -W "add remove" -- "$cur" ) )
+                return 0
+                ;;
+            fundrawtransaction|getblock|getblockheader|getmempoolancestors|getmempooldescendants|getrawtransaction|gettransaction|listaccounts|listreceivedbyaccount|listreceivedbyaddress|sendrawtransaction)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -85,7 +96,7 @@ _paccoind() {
             _filedir
             return 0
             ;;
-        getmempool|lockunspent|setgenerate)
+        getaddednodeinfo|getrawmempool|lockunspent|setgenerate)
             COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
             return 0
             ;;
@@ -96,7 +107,7 @@ _paccoind() {
     esac
 
     case "$cur" in
-        -conf=*|-pid=*|-loadblock=*|-wallet=*)
+        -conf=*)
             cur="${cur#*=}"
             _filedir
             return 0
@@ -112,9 +123,9 @@ _paccoind() {
         *)
             local helpopts commands
 
-            # only parse --help if senseful
+            # only parse -help if senseful
             if [[ -z "$cur" || "$cur" =~ ^- ]]; then
-                helpopts=$($paccoind --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
+                helpopts=$($paccoin_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
             fi
 
             # only parse help if senseful
@@ -131,10 +142,8 @@ _paccoind() {
             return 0
             ;;
     esac
-}
-
-complete -F _paccoind paccoind paccoin-cli
-}
+} &&
+complete -F _paccoin_cli paccoin-cli
 
 # Local variables:
 # mode: shell-script
diff --git a/contrib/paccoin-tx.bash-completion b/contrib/paccoin-tx.bash-completion
new file mode 100644
index 000000000000..7612e2edc31c
--- /dev/null
+++ b/contrib/paccoin-tx.bash-completion
@@ -0,0 +1,57 @@
+# bash programmable completion for paccoin-tx(1)
+# Copyright (c) 2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+_paccoin_tx() {
+    local cur prev words=() cword
+    local paccoin_tx
+
+    # save and use original argument to invoke paccoin-tx for -help
+    # it might not be in $PATH
+    paccoin_tx="$1"
+
+    COMPREPLY=()
+    _get_comp_words_by_ref -n =: cur prev words cword
+
+    case "$cur" in
+        load=*:*)
+            cur="${cur#load=*:}"
+            _filedir
+            return 0
+            ;;
+        *=*)	# prevent attempts to complete other arguments
+            return 0
+            ;;
+    esac
+
+    if [[ "$cword" == 1 || ( "$prev" != "-create" && "$prev" == -* ) ]]; then
+        # only options (or an uncompletable hex-string) allowed
+        # parse paccoin-tx -help for options
+        local helpopts
+        helpopts=$($paccoin_tx -help | sed -e '/^  -/ p' -e d )
+        COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
+    else
+        # only commands are allowed
+        # parse -help for commands
+        local helpcmds
+        helpcmds=$($paccoin_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^  [a-z]/ p' -e d )
+        COMPREPLY=( $( compgen -W "$helpcmds" -- "$cur" ) )
+    fi
+
+    # Prevent space if an argument is desired
+    if [[ $COMPREPLY == *= ]]; then
+        compopt -o nospace
+    fi
+
+    return 0
+} &&
+complete -F _paccoin_tx paccoin-tx
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/paccoind.bash-completion b/contrib/paccoind.bash-completion
new file mode 100644
index 000000000000..5c668ffba11a
--- /dev/null
+++ b/contrib/paccoind.bash-completion
@@ -0,0 +1,56 @@
+# bash programmable completion for paccoind(1) and paccoin-qt(1)
+# Copyright (c) 2012-2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+_paccoind() {
+    local cur prev words=() cword
+    local paccoind
+
+    # save and use original argument to invoke paccoind for -help
+    # it might not be in $PATH
+    paccoind="$1"
+
+    COMPREPLY=()
+    _get_comp_words_by_ref -n = cur prev words cword
+
+    case "$cur" in
+        -conf=*|-pid=*|-loadblock=*|-rootcertificates=*|-rpccookiefile=*|-wallet=*)
+            cur="${cur#*=}"
+            _filedir
+            return 0
+            ;;
+        -datadir=*)
+            cur="${cur#*=}"
+            _filedir -d
+            return 0
+            ;;
+        -*=*)	# prevent nonsense completions
+            return 0
+            ;;
+        *)
+
+            # only parse -help if senseful
+            if [[ -z "$cur" || "$cur" =~ ^- ]]; then
+                local helpopts
+                helpopts=$($paccoind -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
+                COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
+            fi
+
+            # Prevent space if an argument is desired
+            if [[ $COMPREPLY == *= ]]; then
+                compopt -o nospace
+            fi
+            return 0
+            ;;
+    esac
+} &&
+complete -F _paccoind paccoind paccoin-qt
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh

From ffbd1df11fa06fc4e6354f9338017b34a85efcbb Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 14:13:59 -0600
Subject: [PATCH 112/225] Add dmg background

---
 contrib/macdeploy/background.svg | 34 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 contrib/macdeploy/background.svg

diff --git a/contrib/macdeploy/background.svg b/contrib/macdeploy/background.svg
new file mode 100644
index 000000000000..9c330af45142
--- /dev/null
+++ b/contrib/macdeploy/background.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="1000pt" height="640pt" viewBox="0 0 1000 640" preserveAspectRatio="xMidYMid meet">
+	<!-- kate: space-indent off;
+	Copyright (c) 2015 The Bitcoin Core developers
+	Distributed under the MIT software license, see the accompanying
+	file COPYING or http://www.opensource.org/licenses/mit-license.php.
+	-->
+	<style type="text/css"><![CDATA[
+		text {
+			font-family: "Tuffy";
+			font-size: 86px;
+			fill: gray;
+			text-anchor: middle;
+		}
+	]]></style>
+	<defs>
+		<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
+			<stop offset="0%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+			<stop offset="33%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+			<stop offset="80%" style="stop-color:rgb(205,205,205);stop-opacity:1" />
+			<stop offset="100%" style="stop-color:rgb(204,204,204);stop-opacity:1" />
+		</linearGradient>
+	</defs>
+	<rect width="1000" height="640" style="fill:url(#gradient);stroke-width:0" />
+	<g transform="translate(500,0) scale(0.9, 1)">
+		<text x="0" y="114">PACKAGE_NAME</text>
+	</g>
+	<g transform="translate(0.000000,640.000000) scale(0.100000,-0.100000)"
+	fill="#000000" stroke="none">
+		<path d="M4995 3705 c-24 -23 -25 -29 -25 -165 l0 -140 -306 0 -306 0 -29 -29 c-29 -29 -29 -31 -29 -141 0 -110 0 -112 29 -141 l29 -29 306 0 306 0 0 -140 c0 -136 1 -142 25 -165 16 -17 35 -25 57 -25 29 0 72 32 306 226 180 149 274 233 278 250 13 53 -2 70 -278 299 -235 194 -277 225 -306 225 -22 0 -41 -8 -57 -25z" fixlter="url(#glow)"/>
+	</g>
+</svg>

From e1c28300bd72981e6b9cd93f6f7c8094293846a2 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 14:43:59 -0600
Subject: [PATCH 113/225] macdeploy missing files

---
 contrib/macdeploy/custom_dsstore.py  | 59 ++++++++++++++++++++++++++++
 contrib/macdeploy/extract-osx-sdk.sh | 33 ++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100755 contrib/macdeploy/custom_dsstore.py
 create mode 100755 contrib/macdeploy/extract-osx-sdk.sh

diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
new file mode 100755
index 000000000000..8b70cf7c684e
--- /dev/null
+++ b/contrib/macdeploy/custom_dsstore.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python3
+# Copyright (c) 2013-2015 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+import biplist
+from ds_store import DSStore
+from mac_alias import Alias
+import sys
+
+output_file = sys.argv[1]
+package_name_ns = sys.argv[2]
+
+ds = DSStore.open(output_file, 'w+')
+ds['.']['bwsp'] = {
+    'ShowStatusBar': False,
+    'WindowBounds': b'{{300, 280}, {500, 343}}',
+    'ContainerShowSidebar': False,
+    'SidebarWidth': 0,
+    'ShowTabView': False,
+    'PreviewPaneVisibility': False,
+    'ShowToolbar': False,
+    'ShowSidebar': False,
+    'ShowPathbar': True
+}
+
+icvp = {
+    'gridOffsetX': 0.0,
+    'textSize': 12.0,
+    'viewOptionsVersion': 1,
+    'backgroundImageAlias': b'\x00\x00\x00\x00\x02\x1e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x94\\\xb0H+\x00\x05\x00\x00\x00\x98\x0fbackground.tiff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xd19\xb0\xf8\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\r\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b.background\x00\x00\x10\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x11\x00\x08\x00\x00\xd19\xb0\xf8\x00\x00\x00\x01\x00\x04\x00\x00\x00\x98\x00\x0e\x00 \x00\x0f\x00b\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00t\x00i\x00f\x00f\x00\x0f\x00\x02\x00\x00\x00\x12\x00\x1c/.background/background.tiff\x00\x14\x01\x06\x00\x00\x00\x00\x01\x06\x00\x02\x00\x00\x0cMacintosh HD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x97\xab\xc3H+\x00\x00\x01\x88[\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02u\xab\x8d\xd1\x94\\\xb0devrddsk\xff\xff\xff\xff\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07bitcoin\x00\x00\x10\x00\x08\x00\x00\xce\x97\xab\xc3\x00\x00\x00\x11\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x01\x00\x14\x01\x88[\x88\x00\x16\xa9\t\x00\x08\xfaR\x00\x08\xfaQ\x00\x02d\x8e\x00\x0e\x00\x02\x00\x00\x00\x0f\x00\x1a\x00\x0c\x00M\x00a\x00c\x00i\x00n\x00t\x00o\x00s\x00h\x00 \x00H\x00D\x00\x13\x00\x01/\x00\x00\x15\x00\x02\x00\x14\xff\xff\x00\x00\xff\xff\x00\x00',
+    'backgroundColorBlue': 1.0,
+    'iconSize': 96.0,
+    'backgroundColorGreen': 1.0,
+    'arrangeBy': 'none',
+    'showIconPreview': True,
+    'gridSpacing': 100.0,
+    'gridOffsetY': 0.0,
+    'showItemInfo': False,
+    'labelOnBottom': True,
+    'backgroundType': 2,
+    'backgroundColorRed': 1.0
+}
+alias = Alias.from_bytes(icvp['backgroundImageAlias'])
+alias.volume.name = package_name_ns
+alias.volume.posix_path = '/Volumes/' + package_name_ns
+alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00dashcoreuser:\x00Documents:\x00dashcore:\x00dashcore:\x00' + package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.posix_path = 'Users/dashcoreuser/Documents/dashcore/dashcore/' + package_name_ns + '.temp.dmg'
+alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
+icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
+ds['.']['icvp'] = icvp
+
+ds['.']['vSrn'] = ('long', 1)
+
+ds['Applications']['Iloc'] = (370, 156)
+ds['Dash-Qt.app']['Iloc'] = (128, 156)
+
+ds.flush()
+ds.close()
diff --git a/contrib/macdeploy/extract-osx-sdk.sh b/contrib/macdeploy/extract-osx-sdk.sh
new file mode 100755
index 000000000000..ff9fbd58df07
--- /dev/null
+++ b/contrib/macdeploy/extract-osx-sdk.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Copyright (c) 2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+set -e
+
+INPUTFILE="Xcode_7.3.1.dmg"
+HFSFILENAME="5.hfs"
+SDKDIR="Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"
+
+7z x "${INPUTFILE}" "${HFSFILENAME}"
+SDKNAME="$(basename "${SDKDIR}")"
+SDKDIRINODE=$(ifind -n "${SDKDIR}" "${HFSFILENAME}")
+fls "${HFSFILENAME}" -rpF ${SDKDIRINODE} |
+ while read type inode filename; do
+	inode="${inode::-1}"
+	if [ "${filename:0:14}" = "usr/share/man/" ]; then
+		continue
+	fi
+	filename="${SDKNAME}/$filename"
+	echo "Extracting $filename ..."
+	mkdir -p "$(dirname "$filename")"
+	if [ "$type" = "l/l" ]; then
+		ln -s "$(icat "${HFSFILENAME}" $inode)" "$filename"
+	else
+		icat "${HFSFILENAME}" $inode >"$filename"
+	fi
+done
+echo "Building ${SDKNAME}.tar.gz ..."
+MTIME="$(istat "${HFSFILENAME}" "${SDKDIRINODE}" | perl -nle 'm/Content Modified:\s+(.*?)\s\(/ && print $1')"
+find "${SDKNAME}" | sort | tar --no-recursion --mtime="${MTIME}" --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > "${SDKNAME}.tar.gz"
+echo 'All done!'

From cda74873115c31b4ab80f0785404e7f68f5f6a3c Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 15:51:44 -0600
Subject: [PATCH 114/225] Change tar.gz name

---
 contrib/gitian-descriptors/gitian-osx.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
index ee1e0eb315e8..9da1984b3ca5 100644
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -123,14 +123,14 @@ script: |
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
   make dist
-  SOURCEDIST=`echo paccoincore-*.tar.gz`
+  SOURCEDIST=`echo Paccoin-*.tar.gz`
   DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
 
   # Correct tar file order
   mkdir -p temp
   pushd temp
   tar xf ../$SOURCEDIST
-  find paccoincore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
+  find Paccoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
   popd
 
   ORIGPATH="$PATH"

From e58e03de5fd8e89d7a92a4cbb44ba296dab2f991 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:02:14 -0600
Subject: [PATCH 115/225] update-deps

---
 CMakeLists.txt                                |  83 ++
 Makefile.am                                   | 119 +--
 autogen.sh                                    |   6 +
 build-aux/m4/ax_boost_base.m4                 |  18 +-
 build-aux/m4/ax_boost_program_options.m4      |   7 +-
 build-aux/m4/ax_boost_system.m4               |   5 +-
 build-aux/m4/ax_check_compile_flag.m4         |  12 +-
 build-aux/m4/ax_check_link_flag.m4            |  13 +-
 build-aux/m4/ax_check_preproc_flag.m4         |  12 +-
 build-aux/m4/ax_gcc_func_attribute.m4         |   8 +-
 build-aux/m4/ax_pthread.m4                    | 385 +++++++---
 build-aux/m4/bitcoin_find_bdb48.m4            | 124 +--
 build-aux/m4/bitcoin_qt.m4                    |  30 +-
 build-aux/m4/bitcoin_subdir_to_include.m4     |   4 +
 build-aux/m4/l_atomic.m4                      |  46 ++
 configure.ac                                  | 237 ++++--
 contrib/devtools/split-debug.sh               |  10 +
 contrib/devtools/split-debug.sh.in            |  10 +
 contrib/gitian-descriptors/README.md          |   2 +-
 contrib/gitian-descriptors/gitian-linux.yml   | 142 +++-
 .../gitian-descriptors/gitian-osx-signer.yml  |  14 +-
 contrib/gitian-descriptors/gitian-osx.yml     |  80 +-
 .../gitian-descriptors/gitian-win-signer.yml  |  11 +-
 contrib/gitian-descriptors/gitian-win.yml     |  87 ++-
 depends/.gitignore                            |   1 +
 depends/Makefile                              |  34 +-
 depends/README.md                             |  11 +-
 depends/builders/darwin.mk                    |   4 +-
 depends/builders/linux.mk                     |   2 +-
 depends/config.guess                          | 131 ++--
 depends/config.site.in                        |   5 -
 depends/config.sub                            |  39 +-
 depends/funcs.mk                              |  18 +-
 depends/hosts/darwin.mk                       |   6 +-
 depends/hosts/linux.mk                        |   2 +-
 depends/hosts/mingw32.mk                      |   2 +-
 depends/packages/bdb.mk                       |   3 +-
 depends/packages/chia_bls.mk                  |  50 ++
 depends/packages/dbus.mk                      |   4 +-
 depends/packages/expat.mk                     |   8 +-
 depends/packages/fontconfig.mk                |  10 +-
 depends/packages/freetype.mk                  |   6 +-
 depends/packages/gmp.mk                       |  22 +
 depends/packages/miniupnpc.mk                 |   4 +-
 depends/packages/native_biplist.mk            |  20 +
 depends/packages/native_ccache.mk             |   4 +-
 depends/packages/native_cctools.mk            |  27 +-
 depends/packages/native_comparisontool.mk     |  21 -
 depends/packages/native_ds_store.mk           |  17 +
 depends/packages/native_mac_alias.mk          |  21 +
 depends/packages/openssl.mk                   |  39 +-
 depends/packages/packages.mk                  |  17 +-
 depends/packages/qt.mk                        | 129 ++--
 depends/packages/qt46.mk                      |  66 --
 depends/packages/zeromq.mk                    |  19 +-
 depends/packages/zlib.mk                      |  27 +
 .../patches/boost/darwin_boost_atomic-1.patch |  35 -
 .../patches/boost/darwin_boost_atomic-2.patch |  55 --
 depends/patches/boost/gcc_5_no_cxx11.patch    |  37 -
 .../patches/qt/fix-xcb-include-order.patch    |  42 +-
 depends/patches/qt/mac-qmake.conf             |  15 +-
 depends/patches/qt/mingw-uuidof.patch         |  18 +-
 depends/patches/qt/pidlist_absolute.patch     |  12 +-
 depends/patches/qt46/stlfix.patch             |  10 -
 doc/man/Makefile.am                           |  13 +
 doc/man/paccoin-cli.1                         |  92 +++
 doc/man/paccoin-qt.1                          | 715 ++++++++++++++++++
 doc/man/paccoin-tx.1                          | 125 +++
 doc/man/paccoind.1                            | 690 +++++++++++++++++
 69 files changed, 3226 insertions(+), 867 deletions(-)
 create mode 100644 CMakeLists.txt
 create mode 100644 build-aux/m4/l_atomic.m4
 create mode 100755 contrib/devtools/split-debug.sh
 create mode 100644 contrib/devtools/split-debug.sh.in
 create mode 100644 depends/packages/chia_bls.mk
 create mode 100644 depends/packages/gmp.mk
 create mode 100644 depends/packages/native_biplist.mk
 delete mode 100644 depends/packages/native_comparisontool.mk
 create mode 100644 depends/packages/native_ds_store.mk
 create mode 100644 depends/packages/native_mac_alias.mk
 delete mode 100644 depends/packages/qt46.mk
 create mode 100644 depends/packages/zlib.mk
 delete mode 100644 depends/patches/boost/darwin_boost_atomic-1.patch
 delete mode 100644 depends/patches/boost/darwin_boost_atomic-2.patch
 delete mode 100644 depends/patches/boost/gcc_5_no_cxx11.patch
 delete mode 100644 depends/patches/qt46/stlfix.patch
 create mode 100644 doc/man/Makefile.am
 create mode 100644 doc/man/paccoin-cli.1
 create mode 100644 doc/man/paccoin-qt.1
 create mode 100644 doc/man/paccoin-tx.1
 create mode 100644 doc/man/paccoind.1

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000000..a36b90cc8f28
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,83 @@
+# This CMakeLists.txt is not meant to actually work!
+# It only serves as a dummy project to make CLion work properly when it comes to symbol resolution and all the nice
+# features dependent on that. Building must still be done on the command line using the automake build chain
+# If you load this project in CLion and would like to run/debug executables, make sure to remove the "Build" entry from
+# the run/debug configuration as otherwise CLion will try to build this project with cmake, failing horribly.
+# You'll also have to manually change the executable in the configuration to the correct path of the already built executable
+
+cmake_minimum_required(VERSION 3.7)
+project(paccoin)
+
+set(CMAKE_CXX_STANDARD 14)
+
+include_directories(
+        src
+        src/qt/forms
+        src/leveldb/include
+        src/univalue/include
+)
+
+if(UNIX AND NOT APPLE)
+    set(DEPENDS_PREFIX depends/x86_64-pc-linux-gnu)
+elseif(APPLE)
+    set(DEPENDS_PREFIX depends/x86_64-apple-darwin11)
+elseif(WIN32)
+    set(DEPENDS_PREFIX depends/x86_64-w64-mingw32)
+endif()
+
+message(STATUS "DEPENDS_PREFIX: ${DEPENDS_PREFIX}")
+
+if(DEFINED DEPENDS_PREFIX)
+    include_directories(${DEPENDS_PREFIX}/include)
+    include_directories(${DEPENDS_PREFIX}/include/QtWidgets)
+endif()
+
+add_definitions(
+        -DENABLE_WALLET=1
+)
+
+file(GLOB SOURCE_FILES
+        src/bench/*.cpp
+        src/bench/*.h
+        src/compat/*.cpp
+        src/compat/*.h
+        src/consensus/*.h
+        src/consensus/*.cpp
+        src/crypto/*.c
+        src/crypto/*.h
+        src/crypto/*.cpp
+        src/leveldb/db/*.cc
+        src/leveldb/db/*.h
+        src/leveldb/include/*.h
+        src/policy/*.cpp
+        src/policy/*.h
+        src/primitives/*.cpp
+        src/primitives/*.h
+        src/qt/test/*.cpp
+        src/qt/test/*.h
+        src/qt/*.cpp
+        src/qt/*.h
+        src/script/*.cpp
+        src/script/*.h
+        src/secp256k1/include/*.h
+        src/test/*.cpp
+        src/test/*.h
+        src/univalue/include/*.h
+        src/univalue/lib/*.cpp
+        src/univalue/lib/*.h
+        src/wallet/test/*.cpp
+        src/wallet/*.cpp
+        src/wallet/*.h
+        src/zmq/*.cpp
+        src/zmq/*.h
+        src/*.cpp
+        src/*.h
+        src/evo/*.h
+        src/evo/*.cpp
+        src/llmq/*.h
+        src/llmq/*.cpp
+        src/rpc/*.cpp
+        src/rpc/*.h
+        )
+
+add_executable(paccoin ${SOURCE_FILES})
diff --git a/Makefile.am b/Makefile.am
index b0c2a26d6921..1df6b19d26a8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,30 +1,50 @@
+# Copyright (c) 2013-2016 The Bitcoin Core developers
+# Copyright (c) 2014-2018 The Paccoin Core developers
+# Copyright (c) 2018-2019 The Paccoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 ACLOCAL_AMFLAGS = -I build-aux/m4
 SUBDIRS = src
+if ENABLE_MAN
+SUBDIRS += doc/man
+endif
 .PHONY: deploy FORCE
 
 GZIP_ENV="-9n"
+export PYTHONPATH
 
 if BUILD_BITCOIN_LIBS
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libpaccoinconsensus.pc
 endif
 
-BITCOIND_BIN=$(top_builddir)/src/paccoind$(EXEEXT)
-BITCOIN_QT_BIN=$(top_builddir)/src/qt/paccoin-qt$(EXEEXT)
-BITCOIN_CLI_BIN=$(top_builddir)/src/paccoin-cli$(EXEEXT)
+BITCOIND_BIN=$(top_builddir)/src/$(BITCOIN_DAEMON_NAME)$(EXEEXT)
+BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT)
+BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT)
 BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
 
+empty :=
+space := $(empty) $(empty)
+
 OSX_APP=Paccoin-Qt.app
-OSX_DMG=Paccoin-Core.dmg
+OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
+OSX_DMG = $(OSX_VOLNAME).dmg
+OSX_BACKGROUND_SVG=background.svg
 OSX_BACKGROUND_IMAGE=background.tiff
+OSX_BACKGROUND_IMAGE_DPIS=36 72
+OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py
 OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
 OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
-OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings
 OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
-OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
+OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
 OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
 
 DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
+DIST_CONTRIB = $(top_srcdir)/contrib/paccoin-cli.bash-completion \
+	       $(top_srcdir)/contrib/paccoin-tx.bash-completion \
+	       $(top_srcdir)/contrib/paccoind.bash-completion \
+	       $(top_srcdir)/contrib/init
 
 BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
            $(top_srcdir)/contrib/devtools/security-check.py
@@ -34,30 +54,20 @@ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
   $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
   $(top_srcdir)/doc/README_windows.txt
 
-OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \
-  $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \
-  $(top_srcdir)/contrib/macdeploy/DS_Store \
+OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
+  $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_SVG) \
+  $(OSX_DSSTORE_GEN) \
   $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
   $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
 
-COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
+COVERAGE_INFO = baseline_filtered_combined.info baseline.info \
   leveldb_baseline.info test_paccoin_filtered.info total_coverage.info \
-  baseline_filtered.info block_test_filtered.info rpc_test.info rpc_test_filtered.info \
+  baseline_filtered.info rpc_test.info rpc_test_filtered.info \
   leveldb_baseline_filtered.info test_paccoin_coverage.info test_paccoin.info
 
 dist-hook:
-	-$(MAKE) -C $(top_distdir)/src/leveldb clean
-	-$(MAKE) -C $(top_distdir)/src/secp256k1 distclean
 	-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
 
-distcheck-hook:
-	$(MKDIR_P) $(top_distdir)/_build/src/leveldb
-	cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/
-	-$(MAKE) -C $(top_distdir)/_build/src/leveldb clean
-
-distcleancheck:
-	@:
-
 $(BITCOIN_WIN_INSTALLER): all-recursive
 	$(MKDIR_P) $(top_builddir)/release
 	STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
@@ -67,9 +77,6 @@ $(BITCOIN_WIN_INSTALLER): all-recursive
 	  echo error: could not build $@
 	@echo built $@
 
-$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE
-	$(MAKE) -C src $(patsubst src/%,%,$@)
-
 $(OSX_APP)/Contents/PkgInfo:
 	$(MKDIR_P) $(@D)
 	@echo "APPL????" > $@
@@ -90,17 +97,27 @@ $(OSX_APP)/Contents/MacOS/Paccoin-Qt: $(BITCOIN_QT_BIN)
 	$(MKDIR_P) $(@D)
 	STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM)  $< $@
 
-$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR)
+$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings:
 	$(MKDIR_P) $(@D)
-	$(INSTALL_DATA) $< $@
+	echo '{	CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@
 
 OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
   $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
   $(OSX_APP)/Contents/MacOS/Paccoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
 
+osx_volname:
+	echo $(OSX_VOLNAME) >$@
+
 if BUILD_DARWIN
-$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
-	$(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2
+$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) $(OSX_BACKGROUND_IMAGE)
+	$(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 -volname $(OSX_VOLNAME)
+
+$(OSX_BACKGROUND_IMAGE).png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 36 -p 36 -o $@
+$(OSX_BACKGROUND_IMAGE)@2x.png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 72 -p 72 -o $@
+$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE).png $(OSX_BACKGROUND_IMAGE)@2x.png
+	tiffutil -cathidpicheck $^ -out $@
 
 deploydir: $(OSX_DMG)
 else
@@ -114,16 +131,20 @@ $(APP_DIST_DIR)/Applications:
 $(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Paccoin-Qt
 
 $(OSX_DMG): $(APP_DIST_EXTRAS)
-	$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Paccoin-Core" -no-pad -r -dir-mode 0755 -apple -o $@ dist
+	$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist
 
-$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE)
+dpi%.$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_SVG)
+	sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d $* -p $* | $(IMAGEMAGICK_CONVERT) - $@
+OSX_BACKGROUND_IMAGE_DPIFILES := $(foreach dpi,$(OSX_BACKGROUND_IMAGE_DPIS),dpi$(dpi).$(OSX_BACKGROUND_IMAGE))
+$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIFILES)
 	$(MKDIR_P) $(@D)
-	$(INSTALL) $< $@
-$(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store
-	$(INSTALL) $< $@
+	$(TIFFCP) -c none $(OSX_BACKGROUND_IMAGE_DPIFILES) $@
+
+$(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN)
+	$(PYTHON) $< "$@" "$(OSX_VOLNAME)"
 
 $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Paccoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
-	INSTALLNAMETOOL=$(INSTALLNAMETOOL)  OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
+	INSTALLNAMETOOL=$(INSTALLNAMETOOL)  OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
 
 deploydir: $(APP_DIST_EXTRAS)
 endif
@@ -171,16 +192,6 @@ test_paccoin.info: baseline_filtered_combined.info
 test_paccoin_filtered.info: test_paccoin.info
 	$(LCOV) -r $< "/usr/include/*" -o $@
 
-block_test.info: test_paccoin_filtered.info
-	$(MKDIR_P) qa/tmp
-	-@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS)
-	$(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@
-	$(LCOV) -z -d $(abs_builddir)/src
-	$(LCOV) -z -d $(abs_builddir)/src/leveldb
-
-block_test_filtered.info: block_test.info
-	$(LCOV) -r $< "/usr/include/*" -o $@
-
 rpc_test.info: test_paccoin_filtered.info
 	-@TIMEOUT=15 python qa/pull-tester/rpc-tests.py $(EXTENDED_RPC_TESTS)
 	$(LCOV) -c -d $(abs_builddir)/src --t rpc-tests -o $@
@@ -193,8 +204,8 @@ rpc_test_filtered.info: rpc_test.info
 test_paccoin_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info
 	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -o $@
 
-total_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info block_test_filtered.info rpc_test_filtered.info
-	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -a block_test_filtered.info -a rpc_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
+total_coverage.info: baseline_filtered_combined.info test_paccoin_filtered.info rpc_test_filtered.info
+	$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_paccoin_filtered.info -a rpc_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
 
 test_paccoin.coverage/.dirstamp:  test_paccoin_coverage.info
 	$(GENHTML) -s $< -o $(@D)
@@ -208,21 +219,19 @@ cov: test_paccoin.coverage/.dirstamp total.coverage/.dirstamp
 
 endif
 
-# Paccoin: disable the test until upstream switches from convoluted comparison tool
-# Ref https://github.com/bitcoin/bitcoin/issues/4545
-if USE_COMPARISON_TOOL
-check-local:
-	## $(MKDIR_P) qa/tmp
-	## @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1
-endif
-
 dist_noinst_SCRIPTS = autogen.sh
 
-EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
+EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
 
 CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
 
+# This file is problematic for out-of-tree builds if it exists.
+DISTCLEANFILES = qa/pull-tester/tests_config.pyc
+
 .INTERMEDIATE: $(COVERAGE_INFO)
 
+DISTCHECK_CONFIGURE_FLAGS = --enable-man
+
 clean-local:
 	rm -rf coverage_percent.txt test_paccoin.coverage/ total.coverage/ qa/tmp/ cache/ $(OSX_APP)
+	rm -rf qa/pull-tester/__pycache__
diff --git a/autogen.sh b/autogen.sh
index 3e26a183059c..27417daf7691 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,8 @@
 #!/bin/sh
+# Copyright (c) 2013-2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 set -e
 srcdir="$(dirname $0)"
 cd "$srcdir"
@@ -6,4 +10,6 @@ if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then
   LIBTOOLIZE="${GLIBTOOLIZE}"
   export LIBTOOLIZE
 fi
+which autoreconf >/dev/null || \
+  (echo "configuration failed, please install autoconf first" && exit 1)
 autoreconf --install --force --warnings=all
diff --git a/build-aux/m4/ax_boost_base.m4 b/build-aux/m4/ax_boost_base.m4
index 3f24d5ddc617..650c94fa6475 100644
--- a/build-aux/m4/ax_boost_base.m4
+++ b/build-aux/m4/ax_boost_base.m4
@@ -33,7 +33,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 23
+#serial 27
 
 AC_DEFUN([AX_BOOST_BASE],
 [
@@ -95,7 +95,7 @@ if test "x$want_boost" = "xyes"; then
       x86_64)
         libsubdirs="lib64 libx32 lib lib64"
         ;;
-      ppc64|s390x|sparc64|aarch64)
+      ppc64|s390x|sparc64|aarch64|ppc64le)
         libsubdirs="lib64 lib lib64"
         ;;
     esac
@@ -170,7 +170,7 @@ if test "x$want_boost" = "xyes"; then
         AC_MSG_RESULT(yes)
     succeeded=yes
     found_system=yes
-        ],[:
+        ],[
         ])
     AC_LANG_POP([C++])
 
@@ -179,6 +179,10 @@ if test "x$want_boost" = "xyes"; then
     dnl if we found no boost with system layout we search for boost libraries
     dnl built and installed without the --layout=system option or for a staged(not installed) version
     if test "x$succeeded" != "xyes"; then
+        CPPFLAGS="$CPPFLAGS_SAVED"
+        LDFLAGS="$LDFLAGS_SAVED"
+        BOOST_CPPFLAGS=
+        BOOST_LDFLAGS=
         _version=0
         if test "$ac_boost_path" != ""; then
             if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
@@ -191,6 +195,12 @@ if test "x$want_boost" = "xyes"; then
                     VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
                     BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
                 done
+                dnl if nothing found search for layout used in Windows distributions
+                if test -z "$BOOST_CPPFLAGS"; then
+                    if test -d "$ac_boost_path/boost" && test -r "$ac_boost_path/boost"; then
+                        BOOST_CPPFLAGS="-I$ac_boost_path"
+                    fi
+                fi
             fi
         else
             if test "$cross_compiling" != yes; then
@@ -253,7 +263,7 @@ if test "x$want_boost" = "xyes"; then
             AC_MSG_RESULT(yes)
         succeeded=yes
         found_system=yes
-            ],[:
+            ],[
             ])
         AC_LANG_POP([C++])
     fi
diff --git a/build-aux/m4/ax_boost_program_options.m4 b/build-aux/m4/ax_boost_program_options.m4
index f591441854f5..2bdb5937162e 100644
--- a/build-aux/m4/ax_boost_program_options.m4
+++ b/build-aux/m4/ax_boost_program_options.m4
@@ -29,7 +29,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 22
+#serial 24
 
 AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 [
@@ -63,9 +63,9 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 		AC_CACHE_CHECK([whether the Boost::Program_Options library is available],
 					   ax_cv_boost_program_options,
 					   [AC_LANG_PUSH(C++)
-				AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/program_options.hpp>
+				AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/program_options/errors.hpp>
                                                           ]],
-                                  [[boost::program_options::options_description generic("Generic options");
+                                  [[boost::program_options::error err("Error message");
                                    return 0;]])],
                            ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no)
 					AC_LANG_POP([C++])
@@ -74,7 +74,6 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
 				AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available])
                   BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
                 if test "x$ax_boost_user_program_options_lib" = "x"; then
-                ax_lib=
                 for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do
                      ax_lib=${libextension}
 				    AC_CHECK_LIB($ax_lib, exit,
diff --git a/build-aux/m4/ax_boost_system.m4 b/build-aux/m4/ax_boost_system.m4
index 9c78280fcae4..1c05450cbe1d 100644
--- a/build-aux/m4/ax_boost_system.m4
+++ b/build-aux/m4/ax_boost_system.m4
@@ -31,7 +31,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 17
+#serial 18
 
 AC_DEFUN([AX_BOOST_SYSTEM],
 [
@@ -68,9 +68,10 @@ AC_DEFUN([AX_BOOST_SYSTEM],
 					   ax_cv_boost_system,
         [AC_LANG_PUSH([C++])
 			 CXXFLAGS_SAVE=$CXXFLAGS
+			 CXXFLAGS=
 
 			 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]],
-                                   [[boost::system::system_category]])],
+				    [[boost::system::error_category *a = 0;]])],
                    ax_cv_boost_system=yes, ax_cv_boost_system=no)
 			 CXXFLAGS=$CXXFLAGS_SAVE
              AC_LANG_POP([C++])
diff --git a/build-aux/m4/ax_check_compile_flag.m4 b/build-aux/m4/ax_check_compile_flag.m4
index c3a8d695a1bc..ca3639715e72 100644
--- a/build-aux/m4/ax_check_compile_flag.m4
+++ b/build-aux/m4/ax_check_compile_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
 #   force the compiler to issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
 #
@@ -53,19 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_COMPILE_FLAG],
-[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
 AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
 AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
   ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
   _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+  AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_check_link_flag.m4 b/build-aux/m4/ax_check_link_flag.m4
index e2d0d363e4c4..eb01a6ce135e 100644
--- a/build-aux/m4/ax_check_link_flag.m4
+++ b/build-aux/m4/ax_check_link_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   EXTRA-FLAGS FLAG".  This can for example be used to force the linker to
 #   issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_LINK_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
 #
@@ -53,18 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_LINK_FLAG],
-[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
 AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
   ax_check_save_flags=$LDFLAGS
   LDFLAGS="$LDFLAGS $4 $1"
-  AC_LINK_IFELSE([AC_LANG_PROGRAM()],
+  AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   LDFLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_check_preproc_flag.m4 b/build-aux/m4/ax_check_preproc_flag.m4
index b1cfef6b86dd..ca1d5ee2b6d1 100644
--- a/build-aux/m4/ax_check_preproc_flag.m4
+++ b/build-aux/m4/ax_check_preproc_flag.m4
@@ -4,7 +4,7 @@
 #
 # SYNOPSIS
 #
-#   AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#   AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
 #
 # DESCRIPTION
 #
@@ -19,6 +19,8 @@
 #   "CPPFLAGS EXTRA-FLAGS FLAG".  This can for example be used to force the
 #   preprocessor to issue an error when a bad flag is given.
 #
+#   INPUT gives an alternative input source to AC_PREPROC_IFELSE.
+#
 #   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
 #   macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG.
 #
@@ -53,19 +55,19 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 2
+#serial 4
 
 AC_DEFUN([AX_CHECK_PREPROC_FLAG],
-[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
 AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl
 AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [
   ax_check_save_flags=$CPPFLAGS
   CPPFLAGS="$CPPFLAGS $4 $1"
-  AC_PREPROC_IFELSE([AC_LANG_PROGRAM()],
+  AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
     [AS_VAR_SET(CACHEVAR,[yes])],
     [AS_VAR_SET(CACHEVAR,[no])])
   CPPFLAGS=$ax_check_save_flags])
-AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+AS_VAR_IF(CACHEVAR,yes,
   [m4_default([$2], :)],
   [m4_default([$3], :)])
 AS_VAR_POPDEF([CACHEVAR])dnl
diff --git a/build-aux/m4/ax_gcc_func_attribute.m4 b/build-aux/m4/ax_gcc_func_attribute.m4
index 275ca63a2c21..c788ca9bd435 100644
--- a/build-aux/m4/ax_gcc_func_attribute.m4
+++ b/build-aux/m4/ax_gcc_func_attribute.m4
@@ -31,6 +31,7 @@
 #    cold
 #    const
 #    constructor
+#    constructor_priority for constructor attribute with priority
 #    deprecated
 #    destructor
 #    dllexport
@@ -73,7 +74,7 @@
 #   and this notice are preserved.  This file is offered as-is, without any
 #   warranty.
 
-#serial 2
+#serial 3
 
 AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
     AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1])
@@ -103,6 +104,9 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
                 [const], [
                     int foo( void ) __attribute__(($1));
                 ],
+                [constructor_priority], [
+                    int foo( void ) __attribute__((__constructor__(65535/2)));
+                ],
                 [constructor], [
                     int foo( void ) __attribute__(($1));
                 ],
@@ -180,6 +184,8 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
                 [visibility], [
                     int foo_def( void ) __attribute__(($1("default")));
                     int foo_hid( void ) __attribute__(($1("hidden")));
+                    int foo_int( void ) __attribute__(($1("internal")));
+                    int foo_pro( void ) __attribute__(($1("protected")));
                 ],
                 [warning], [
                     int foo( void ) __attribute__(($1("")));
diff --git a/build-aux/m4/ax_pthread.m4 b/build-aux/m4/ax_pthread.m4
index d383ad5c6d6a..4c4051ea376f 100644
--- a/build-aux/m4/ax_pthread.m4
+++ b/build-aux/m4/ax_pthread.m4
@@ -19,10 +19,10 @@
 #   is necessary on AIX to use the special cc_r compiler alias.)
 #
 #   NOTE: You are assumed to not only compile your program with these flags,
-#   but also link it with them as well. e.g. you should link with
+#   but also to link with them as well. For example, you might link with
 #   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
 #
-#   If you are only building threads programs, you may wish to use these
+#   If you are only building threaded programs, you may wish to use these
 #   variables in your default LIBS, CFLAGS, and CC:
 #
 #     LIBS="$PTHREAD_LIBS $LIBS"
@@ -30,8 +30,8 @@
 #     CC="$PTHREAD_CC"
 #
 #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
 #
 #   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
 #   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
@@ -82,35 +82,40 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 21
+#serial 23
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
 AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
 AC_LANG_PUSH([C])
 ax_pthread_ok=no
 
 # We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
 # It gets checked for in the link test anyway.
 
 # First of all, check if the user has set any of the PTHREAD_LIBS,
 # etcetera environment variables, and if threads linking works using
 # them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-        AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test x"$ax_pthread_ok" = xno; then
+        if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
         fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
 
 # We must check for the threads library under a number of different
@@ -123,7 +128,7 @@ fi
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -132,82 +137,225 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt
 # none: in case threads are in libc; should be tried before -Kthread and
 #       other compiler flags to prevent continual compiler warnings
 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
 # pthread: Linux, etcetera
 # --thread-safe: KAI C++
 # pthread-config: use pthread-config program (for GNU Pth library)
 
-case ${host_os} in
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
         solaris*)
 
         # On Solaris (at least, for some versions), libc contains stubbed
         # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
+
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ;;
+esac
+
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
+
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
+
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
         ;;
 
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
         ;;
 esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
 
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
 
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
-                  [AC_MSG_RESULT([yes])],
-                  [ax_pthread_extra_flags=
-                   AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
+fi # $ax_pthread_clang = yes
 
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
 
-        case $flag in
+        case $ax_pthread_try_flag in
                 none)
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
                 -*)
-                AC_MSG_CHECKING([whether pthreads work with $flag])
-                PTHREAD_CFLAGS="$flag"
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-                if test x"$ax_pthread_config" = xno; then continue; fi
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
                 ;;
 
                 *)
-                AC_MSG_CHECKING([for the pthreads library -l$flag])
-                PTHREAD_LIBS="-l$flag"
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
 
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
         # Check for various functions.  We must include pthread.h,
         # since some functions may be macros.  (On the Sequent, we
@@ -218,7 +366,11 @@ for flag in $ax_pthread_flags; do
         # pthread_cleanup_push because it is one of the few pthread
         # functions on Solaris that doesn't have a non-functional libc stub.
         # We try pthread_create on general principles.
+
         AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
                         static void routine(void *a) { a = 0; }
                         static void *start_routine(void *a) { return a; }],
                        [pthread_t th; pthread_attr_t attr;
@@ -227,16 +379,14 @@ for flag in $ax_pthread_flags; do
                         pthread_attr_init(&attr);
                         pthread_cleanup_push(routine, 0);
                         pthread_cleanup_pop(0) /* ; */])],
-                [ax_pthread_ok=yes],
-                [])
+            [ax_pthread_ok=yes],
+            [])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
 
         PTHREAD_LIBS=""
         PTHREAD_CFLAGS=""
@@ -244,71 +394,74 @@ done
 fi
 
 # Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        AC_MSG_CHECKING([for joinable pthread attribute])
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-                           [int attr = $attr; return attr /* ; */])],
-                [attr_name=$attr; break],
-                [])
-        done
-        AC_MSG_RESULT([$attr_name])
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-            AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
-                               [Define to necessary symbol if this constant
-                                uses a non-standard name on your system.])
-        fi
-
-        AC_MSG_CHECKING([if more special flags are required for pthreads])
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        AC_MSG_RESULT([$flag])
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
+
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
 
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-            [ax_cv_PTHREAD_PRIO_INHERIT], [
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                                [[int i = PTHREAD_PRIO_INHERIT;]])],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
-        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
-            [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
+        if test "x$GCC" != "xyes"; then
             case $host_os in
                 aix*)
                 AS_CASE(["x/$CC"],
-                  [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-                  [#handle absolute path differently from PATH based program lookup
-                   AS_CASE(["x$CC"],
-                     [x/*],
-                     [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                     [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
                 ;;
             esac
         fi
@@ -321,7 +474,7 @@ AC_SUBST([PTHREAD_CFLAGS])
 AC_SUBST([PTHREAD_CC])
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
         ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
         :
 else
diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4
index 46529c868eb6..980f1e8f19cd 100644
--- a/build-aux/m4/bitcoin_find_bdb48.m4
+++ b/build-aux/m4/bitcoin_find_bdb48.m4
@@ -1,66 +1,78 @@
+dnl Copyright (c) 2013-2015 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 AC_DEFUN([BITCOIN_FIND_BDB48],[
-  AC_MSG_CHECKING([for Berkeley DB C++ headers])
-  BDB_CPPFLAGS=
-  BDB_LIBS=
-  bdbpath=X
-  bdb48path=X
-  bdbdirlist=
-  for _vn in 4.8 48 4 5 ''; do
-    for _pfx in b lib ''; do
-      bdbdirlist="$bdbdirlist ${_pfx}db${_vn}"
+  AC_ARG_VAR(BDB_CFLAGS, [C compiler flags for BerkeleyDB, bypasses autodetection])
+  AC_ARG_VAR(BDB_LIBS, [Linker flags for BerkeleyDB, bypasses autodetection])
+
+  if test "x$BDB_CFLAGS" = "x"; then
+    AC_MSG_CHECKING([for Berkeley DB C++ headers])
+    BDB_CPPFLAGS=
+    bdbpath=X
+    bdb48path=X
+    bdbdirlist=
+    for _vn in 4.8 48 4 5 ''; do
+      for _pfx in b lib ''; do
+        bdbdirlist="$bdbdirlist ${_pfx}db${_vn}"
+      done
     done
-  done
-  for searchpath in $bdbdirlist ''; do
-    test -n "${searchpath}" && searchpath="${searchpath}/"
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-      #include <${searchpath}db_cxx.h>
-    ]],[[
-      #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4)
-        #error "failed to find bdb 4.8+"
-      #endif
-    ]])],[
-      if test "x$bdbpath" = "xX"; then
-        bdbpath="${searchpath}"
-      fi
-    ],[
-      continue
-    ])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-      #include <${searchpath}db_cxx.h>
-    ]],[[
-      #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8)
-        #error "failed to find bdb 4.8"
-      #endif
-    ]])],[
-      bdb48path="${searchpath}"
-      break
-    ],[])
-  done
-  if test "x$bdbpath" = "xX"; then
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([libdb_cxx headers missing, Paccoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
-  elif test "x$bdb48path" = "xX"; then
-    BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
-    AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
-      AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!])
-    ],[
-      AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)])
-    ])
+    for searchpath in $bdbdirlist ''; do
+      test -n "${searchpath}" && searchpath="${searchpath}/"
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+        #include <${searchpath}db_cxx.h>
+      ]],[[
+        #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4)
+          #error "failed to find bdb 4.8+"
+        #endif
+      ]])],[
+        if test "x$bdbpath" = "xX"; then
+          bdbpath="${searchpath}"
+        fi
+      ],[
+        continue
+      ])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+        #include <${searchpath}db_cxx.h>
+      ]],[[
+        #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8)
+          #error "failed to find bdb 4.8"
+        #endif
+      ]])],[
+        bdb48path="${searchpath}"
+        break
+      ],[])
+    done
+    if test "x$bdbpath" = "xX"; then
+      AC_MSG_RESULT([no])
+      AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    elif test "x$bdb48path" = "xX"; then
+      BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
+      AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
+        AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!])
+      ],[
+        AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)])
+      ])
+    else
+      BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx)
+      bdbpath="${bdb48path}"
+    fi
   else
-    BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx)
-    bdbpath="${bdb48path}"
+    BDB_CPPFLAGS=${BDB_CFLAGS}
   fi
   AC_SUBST(BDB_CPPFLAGS)
   
-  # TODO: Ideally this could find the library version and make sure it matches the headers being used
-  for searchlib in db_cxx-4.8 db_cxx; do
-    AC_CHECK_LIB([$searchlib],[main],[
-      BDB_LIBS="-l${searchlib}"
-      break
-    ])
-  done
   if test "x$BDB_LIBS" = "x"; then
-      AC_MSG_ERROR([libdb_cxx missing, Paccoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    # TODO: Ideally this could find the library version and make sure it matches the headers being used
+    for searchlib in db_cxx-4.8 db_cxx; do
+      AC_CHECK_LIB([$searchlib],[main],[
+        BDB_LIBS="-l${searchlib}"
+        break
+      ])
+    done
+    if test "x$BDB_LIBS" = "x"; then
+        AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)])
+    fi
   fi
   AC_SUBST(BDB_LIBS)
 ])
diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4
index f15568a91be8..5abc58ce7e63 100644
--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -1,3 +1,7 @@
+dnl Copyright (c) 2013-2016 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 dnl Helper for cases where a qt dependency is not met.
 dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit.
 AC_DEFUN([BITCOIN_QT_FAIL],[
@@ -235,7 +239,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
 
 
   dnl enable qt support
-  AC_MSG_CHECKING(whether to build Paccoin Core GUI)
+  AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI)
   BITCOIN_QT_CHECK([
     bitcoin_enable_qt=yes
     bitcoin_enable_qt_test=yes
@@ -346,8 +350,9 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
           QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
         fi
       fi
-     m4_ifdef([PKG_CHECK_MODULES],[
      if test x$use_pkgconfig = xyes; then
+     : dnl
+     m4_ifdef([PKG_CHECK_MODULES],[
        PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"])
        if test x$TARGET_OS = xlinux; then
          PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"])
@@ -357,8 +362,23 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
        elif test x$TARGET_OS = xdarwin; then
          PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"])
        fi
-     fi
      ])
+     else
+       if test x$TARGET_OS = xwindows; then
+         AC_CACHE_CHECK(for Qt >= 5.6, bitcoin_cv_need_platformsupport,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+             [[#include <QtCore>]],[[
+             #if QT_VERSION < 0x050600
+             choke;
+             #endif
+             ]])],
+           [bitcoin_cv_need_platformsupport=yes],
+           [bitcoin_cv_need_platformsupport=no])
+         ])
+         if test x$bitcoin_cv_need_platformsupport = xyes; then
+           BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXPlatformSupport not found)))
+         fi
+       fi
+     fi
   else
     if test x$qt_plugin_path != x; then
       QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
@@ -468,8 +488,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
   ])
 
   BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in])))
-  BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
-  BITCOIN_QT_CHECK(AC_CHECK_LIB([jpeg] ,[main],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
+  BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
+  BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
   BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in])))
   BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled])))
   BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core]   ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found)))
diff --git a/build-aux/m4/bitcoin_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4
index 66f106c7d47b..7841042ac877 100644
--- a/build-aux/m4/bitcoin_subdir_to_include.m4
+++ b/build-aux/m4/bitcoin_subdir_to_include.m4
@@ -1,3 +1,7 @@
+dnl Copyright (c) 2013-2014 The Bitcoin Core developers
+dnl Distributed under the MIT software license, see the accompanying
+dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
 dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE])
 dnl SUBDIRECTORY-NAME must end with a path separator
 AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
diff --git a/build-aux/m4/l_atomic.m4 b/build-aux/m4/l_atomic.m4
new file mode 100644
index 000000000000..75c43f9a92d3
--- /dev/null
+++ b/build-aux/m4/l_atomic.m4
@@ -0,0 +1,46 @@
+dnl Copyright (c) 2015 Tim Kosse <tim.kosse@filezilla-project.org>
+dnl Copying and distribution of this file, with or without modification, are
+dnl permitted in any medium without royalty provided the copyright notice
+dnl and this notice are preserved. This file is offered as-is, without any
+dnl warranty.
+
+# Some versions of gcc/libstdc++ require linking with -latomic if
+# using the C++ atomic library.
+#
+# Sourced from http://bugs.debian.org/797228
+
+m4_define([_CHECK_ATOMIC_testbody], [[
+  #include <atomic>
+  #include <cstdint>
+
+  int main() {
+    std::atomic<int64_t> a{};
+
+    int64_t v = 5;
+    int64_t r = a.fetch_add(v);
+    return static_cast<int>(r);
+  }
+]])
+
+AC_DEFUN([CHECK_ATOMIC], [
+
+  AC_LANG_PUSH(C++)
+
+  AC_MSG_CHECKING([whether std::atomic can be used without link library])
+
+  AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+      AC_MSG_RESULT([yes])
+    ],[
+      AC_MSG_RESULT([no])
+      LIBS="$LIBS -latomic"
+      AC_MSG_CHECKING([whether std::atomic needs -latomic])
+      AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[
+          AC_MSG_RESULT([yes])
+        ],[
+          AC_MSG_RESULT([no])
+          AC_MSG_FAILURE([cannot figure out how to use std::atomic])
+        ])
+    ])
+
+  AC_LANG_POP
+])
diff --git a/configure.ac b/configure.ac
index f7ffef70eb61..647399402c47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,16 +2,23 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
 AC_PREREQ([2.60])
 define(_CLIENT_VERSION_MAJOR, 0)
 define(_CLIENT_VERSION_MINOR, 12)
-define(_CLIENT_VERSION_REVISION, 5)
-define(_CLIENT_VERSION_BUILD, 1)
+define(_CLIENT_VERSION_REVISION, 6)
+define(_CLIENT_VERSION_BUILD, 0)
 define(_CLIENT_VERSION_IS_RELEASE, true)
-define(_COPYRIGHT_YEAR, 2018)
-AC_INIT([Paccoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/PACCommunity/PAC/issues],[paccoincore])
+define(_COPYRIGHT_YEAR, 2019)
+define(_COPYRIGHT_HOLDERS,[The %s developers])
+define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Paccoin Core]])
+AC_INIT([Paccoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/PaccoinCommunity/PAC/issues],[Paccoin],[https://paccoin.net/])
 AC_CONFIG_SRCDIR([src/validation.cpp])
 AC_CONFIG_HEADERS([src/config/paccoin-config.h])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([build-aux/m4])
 
+BITCOIN_DAEMON_NAME=paccoind
+BITCOIN_GUI_NAME=paccoin-qt
+BITCOIN_CLI_NAME=paccoin-cli
+BITCOIN_TX_NAME=paccoin-tx
+
 AC_CANONICAL_HOST
 
 AH_TOP([#ifndef PAC_CONFIG_H])
@@ -47,8 +54,10 @@ case $host in
      lt_cv_deplibs_check_method="pass_all"
   ;;
 esac
-dnl Require C++11 compiler (no GNU extensions)
-AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory], [nodefault])
+dnl Require C++14 compiler (no GNU extensions)
+AX_CXX_COMPILE_STDCXX([14], [noext], [mandatory], [nodefault])
+dnl Check if -latomic is required for <std::atomic>
+CHECK_ATOMIC
 
 dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures
 dnl that we get the same -std flags for both.
@@ -68,8 +77,8 @@ AC_PATH_TOOL(RANLIB, ranlib)
 AC_PATH_TOOL(STRIP, strip)
 AC_PATH_TOOL(GCOV, gcov)
 AC_PATH_PROG(LCOV, lcov)
-AC_PATH_PROG(JAVA, java)
-AC_PATH_PROG(PYTHON, python)
+dnl Python 3.x is supported from 3.4 on (see https://github.com/bitcoin/bitcoin/issues/7893)
+AC_PATH_PROGS([PYTHON], [python3.6 python3.5 python3.4 python3 python2.7 python2 python])
 AC_PATH_PROG(GENHTML, genhtml)
 AC_PATH_PROG([GIT], [git])
 AC_PATH_PROG(CCACHE,ccache)
@@ -77,9 +86,9 @@ AC_PATH_PROG(XGETTEXT,xgettext)
 AC_PATH_PROG(HEXDUMP,hexdump)
 AC_PATH_TOOL(READELF, readelf)
 AC_PATH_TOOL(CPPFILT, c++filt)
+AC_PATH_TOOL(OBJCOPY, objcopy)
 
-dnl pkg-config check.
-PKG_PROG_PKG_CONFIG
+AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
 
 # Enable wallet
 AC_ARG_ENABLE([wallet],
@@ -115,16 +124,6 @@ AC_ARG_ENABLE(bench,
     [use_bench=$enableval],
     [use_bench=yes])
 
-AC_ARG_WITH([comparison-tool],
-    AS_HELP_STRING([--with-comparison-tool],[path to java comparison tool (requires --enable-tests)]),
-    [use_comparison_tool=$withval],
-    [use_comparison_tool=no])
-
-AC_ARG_ENABLE([comparison-tool-reorg-tests],
-    AS_HELP_STRING([--enable-comparison-tool-reorg-tests],[enable expensive reorg tests in the comparison tool (default no)]),
-    [use_comparison_tool_reorg_tests=$enableval],
-    [use_comparison_tool_reorg_tests=no])
-
 AC_ARG_ENABLE([extended-rpc-tests],
     AS_HELP_STRING([--enable-extended-rpc-tests],[enable expensive RPC tests when using lcov (default no)]),
     [use_extended_rpc_tests=$enableval],
@@ -180,6 +179,12 @@ AC_ARG_ENABLE([zmq],
 
 AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
 
+AC_ARG_ENABLE(man,
+    [AS_HELP_STRING([--disable-man],
+                    [do not install man pages (default is to install)])],,
+    enable_man=yes)
+AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
+
 # Enable debug
 AC_ARG_ENABLE([debug],
     [AS_HELP_STRING([--enable-debug],
@@ -187,6 +192,13 @@ AC_ARG_ENABLE([debug],
     [enable_debug=$enableval],
     [enable_debug=no])
 
+# Turn warnings into errors
+AC_ARG_ENABLE([werror],
+    [AS_HELP_STRING([--enable-werror],
+                    [Treat certain compiler warnings as errors (default is no)])],
+    [enable_werror=$enableval],
+    [enable_werror=no])
+
 AC_LANG_PUSH([C++])
 AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
 
@@ -201,10 +213,19 @@ if test "x$enable_debug" = xyes; then
     fi
 fi
 
+ERROR_CXXFLAGS=
+if test "x$enable_werror" = "xyes"; then
+  if test "x$CXXFLAG_WERROR" = "x"; then
+    AC_MSG_ERROR("enable-werror set but -Werror is not usable")
+  fi
+  AX_CHECK_COMPILE_FLAG([-Werror=vla],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=vla"],,[[$CXXFLAG_WERROR]])
+fi
+
 if test "x$CXXFLAGS_overridden" = "xno"; then
   AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
+  AX_CHECK_COMPILE_FLAG([-Wvla],[CXXFLAGS="$CXXFLAGS -Wvla"],,[[$CXXFLAG_WERROR]])
   AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
 
   ## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
@@ -315,6 +336,7 @@ case $host in
          fi
        fi
 
+       AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
        AC_CHECK_PROG([BREW],brew, brew)
        if test x$BREW = xbrew; then
          dnl These Homebrew packages may be keg-only, meaning that they won't be found
@@ -348,6 +370,9 @@ case $host in
            AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool)
            AC_PATH_TOOL([OTOOL], [otool], otool)
            AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage)
+           AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
+           AC_PATH_PROGS([IMAGEMAGICK_CONVERT], [convert],convert)
+           AC_PATH_PROGS([TIFFCP], [tiffcp],tiffcp)
 
            dnl libtool will try to strip the static lib, which is a problem for
            dnl cross-builds because strip attempts to call a hard-coded ld,
@@ -366,23 +391,27 @@ case $host in
      TARGET_OS=linux
      LEVELDB_TARGET_FLAGS="-DOS_LINUX"
      ;;
+   *freebsd*)
+     LEVELDB_TARGET_FLAGS="-DOS_FREEBSD"
+     ;;
+   *openbsd*)
+     LEVELDB_TARGET_FLAGS="-DOS_OPENBSD"
+     ;;
    *)
      OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
+     AC_MSG_WARN([Guessing LevelDB OS as OS_${OTHER_OS}, please check whether this is correct, if not add an entry to configure.ac.])
      LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
      ;;
 esac
 
-if test x$use_comparison_tool != xno; then
-  AC_SUBST(JAVA_COMPARISON_TOOL, $use_comparison_tool)
-fi
-
-if test x$use_comparison_tool_reorg_tests != xno; then
-  if test x$use_comparison_tool = x; then
-    AC_MSG_ERROR("comparison tool reorg tests but comparison tool was not specified")
+if test x$use_pkgconfig = xyes; then
+  m4_ifndef([PKG_PROG_PKG_CONFIG], [AC_MSG_ERROR(PKG_PROG_PKG_CONFIG macro not found. Please install pkg-config and re-run autogen.sh.)])
+  m4_ifdef([PKG_PROG_PKG_CONFIG], [
+  PKG_PROG_PKG_CONFIG
+  if test x"$PKG_CONFIG" = "x"; then
+    AC_MSG_ERROR(pkg-config not found.)
   fi
-  AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 1)
-else
-  AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 0)
+  ])
 fi
 
 if test x$use_extended_rpc_tests != xno; then
@@ -396,19 +425,15 @@ if test x$use_lcov = xyes; then
   if test x$GCOV = x; then
     AC_MSG_ERROR("lcov testing requested but gcov not found")
   fi
-  if test x$JAVA = x; then
-    AC_MSG_ERROR("lcov testing requested but java not found")
-  fi
   if test x$PYTHON = x; then
     AC_MSG_ERROR("lcov testing requested but python not found")
   fi
   if test x$GENHTML = x; then
     AC_MSG_ERROR("lcov testing requested but genhtml not found")
   fi
-  if test x$use_comparison_tool = x; then
-    AC_MSG_ERROR("lcov testing requested but comparison tool was not specified")
-  fi
   LCOV="$LCOV --gcov-tool=$GCOV"
+  AX_CHECK_LINK_FLAG([[--coverage]], [LDFLAGS="$LDFLAGS --coverage"],
+    [AC_MSG_ERROR("lcov testing requested but --coverage linker flag does not work")])
   AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
     [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
 fi
@@ -485,6 +510,7 @@ if test x$use_hardening != xno; then
 
   AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
   AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
+  AX_CHECK_LINK_FLAG([[-Wl,--high-entropy-va]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--high-entropy-va"])
   AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
   AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
 
@@ -506,11 +532,12 @@ if test x$TARGET_OS = xdarwin; then
 fi
 
 AC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h])
-AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])])
-AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])])
 
 AC_CHECK_DECLS([strnlen])
 
+# Check for daemon(3), unrelated to --with-daemon (although used by it)
+AC_CHECK_DECLS([daemon])
+
 AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,,
 		[#if HAVE_ENDIAN_H
                  #include <endian.h>
@@ -531,6 +558,14 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
  [ AC_MSG_RESULT(no)]
 )
 
+dnl Check for mallopt(M_ARENA_MAX) (to set glibc arenas)
+AC_MSG_CHECKING(for mallopt M_ARENA_MAX)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <malloc.h>]],
+ [[ mallopt(M_ARENA_MAX, 1); ]])],
+ [ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MALLOPT_ARENA_MAX, 1,[Define this symbol if you have mallopt with M_ARENA_MAX]) ],
+ [ AC_MSG_RESULT(no)]
+)
+
 AC_MSG_CHECKING([for visibility attribute])
 AC_LINK_IFELSE([AC_LANG_SOURCE([
   int foo_def( void ) __attribute__((visibility("default")));
@@ -553,18 +588,6 @@ if test x$use_reduce_exports = xyes; then
   [AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
 fi
 
-dnl This can go away when we require c++11
-TEMP_CXXFLAGS="$CXXFLAGS"
-CXXFLAGS="$CXXFLAGS -std=c++0x"
-AC_MSG_CHECKING(for c++11 atomics)
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-  #include <atomic>
-  ]],[[]])],
-  [ AC_MSG_RESULT(yes); LEVELDB_ATOMIC_CPPFLAGS="-DLEVELDB_ATOMIC_PRESENT"; LEVELDB_ATOMIC_CXXFLAGS="-std=c++0x"],
-  [ AC_MSG_RESULT(no)]
-)
-CXXFLAGS="$TEMP_CXXFLAGS"
-
 LEVELDB_CPPFLAGS=
 LIBLEVELDB=
 LIBMEMENV=
@@ -592,7 +615,7 @@ BITCOIN_QT_INIT
 dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
 BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5])
 
-if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests = xnononono; then
+if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
     use_boost=no
 else
     use_boost=yes
@@ -600,8 +623,11 @@ fi
 
 if test x$use_boost = xyes; then
 
+dnl Minimum required Boost version
+define(MINIMUM_REQUIRED_BOOST, 1.47.0)
+
 dnl Check for boost libs
-AX_BOOST_BASE
+AX_BOOST_BASE([MINIMUM_REQUIRED_BOOST])
 AX_BOOST_SYSTEM
 AX_BOOST_FILESYSTEM
 AX_BOOST_PROGRAM_OPTIONS
@@ -761,12 +787,7 @@ fi
 fi
 
 if test x$use_pkgconfig = xyes; then
-
-  if test x"$PKG_CONFIG" = "x"; then
-    AC_MSG_ERROR(pkg-config not found.)
-  fi
-
-  : #NOP
+  : dnl
   m4_ifdef(
     [PKG_CHECK_MODULES],
     [
@@ -823,6 +844,15 @@ else
     AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
   fi
 
+  if test "x$use_zmq" = "xyes"; then
+    dnl Assume libzmq was built for static linking
+    case $host in
+      *mingw*)
+        ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
+      ;;
+    esac
+  fi
+
   BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found)))
   if test x$use_qr != xno; then
     BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
@@ -830,8 +860,21 @@ else
   fi
 fi
 
+save_CXXFLAGS="${CXXFLAGS}"
+CXXFLAGS="${CXXFLAGS} ${CRYPTO_CFLAGS} ${SSL_CFLAGS}"
+AC_CHECK_DECLS([EVP_MD_CTX_new],,,[AC_INCLUDES_DEFAULT
+#include <openssl/x509_vfy.h>
+])
+CXXFLAGS="${save_CXXFLAGS}"
+
 dnl univalue check
 
+need_bundled_univalue=yes
+
+if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
+  need_bundled_univalue=no
+else
+
 if test x$system_univalue != xno ; then
   found_univalue=no
   if test x$use_pkgconfig = xyes; then
@@ -853,6 +896,7 @@ if test x$system_univalue != xno ; then
 
   if test x$found_univalue = xyes ; then
     system_univalue=yes
+    need_bundled_univalue=no
   elif test x$system_univalue = xyes ; then
     AC_MSG_ERROR([univalue not found])
   else
@@ -860,22 +904,17 @@ if test x$system_univalue != xno ; then
   fi
 fi
 
-if test x$system_univalue = xno ; then
+if test x$need_bundled_univalue = xyes ; then
   UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
   UNIVALUE_LIBS='univalue/libunivalue.la'
 fi
-AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$system_univalue = xno])
+
+fi
+
+AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes])
 AC_SUBST(UNIVALUE_CFLAGS)
 AC_SUBST(UNIVALUE_LIBS)
 
-CXXFLAGS_TEMP="$CXXFLAGS"
-LIBS_TEMP="$LIBS"
-CXXFLAGS="$CXXFLAGS $SSL_CFLAGS $CRYPTO_CFLAGS"
-LIBS="$LIBS $SSL_LIBS $CRYPTO_LIBS"
-AC_CHECK_HEADER([openssl/ec.h],, AC_MSG_ERROR(OpenSSL ec header missing),)
-CXXFLAGS="$CXXFLAGS_TEMP"
-LIBS="$LIBS_TEMP"
-
 BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
 
 AC_MSG_CHECKING([whether to build paccoind])
@@ -1010,8 +1049,8 @@ else
   AC_MSG_RESULT([no])
 fi
 
-if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_tests = xnonononono; then
-  AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui or --enable-tests])
+if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnononononono; then
+  AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
 fi
 
 AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin])
@@ -1024,8 +1063,6 @@ AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
 AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
 AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
 AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
-AM_CONDITIONAL([USE_COMPARISON_TOOL],[test x$use_comparison_tool != xno])
-AM_CONDITIONAL([USE_COMPARISON_TOOL_REORG_TESTS],[test x$use_comparison_tool_reorg_test != xno])
 AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
 AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
 
@@ -1034,15 +1071,27 @@ AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version])
 AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision])
 AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build])
 AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release])
-AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release])
+AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year])
+AC_DEFINE(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS", [Copyright holder(s) before %s replacement])
+AC_DEFINE(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION", [Replacement for %s in copyright holders string])
+define(_COPYRIGHT_HOLDERS_FINAL, [patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT_HOLDERS_SUBSTITUTION])])
+AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)])
 AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR)
 AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR)
 AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION)
 AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD)
 AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE)
 AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR)
+AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS")
+AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION")
+AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL")
+AC_SUBST(BITCOIN_DAEMON_NAME)
+AC_SUBST(BITCOIN_GUI_NAME)
+AC_SUBST(BITCOIN_CLI_NAME)
+AC_SUBST(BITCOIN_TX_NAME)
 
 AC_SUBST(RELDFLAGS)
+AC_SUBST(ERROR_CXXFLAGS)
 AC_SUBST(HARDENED_CXXFLAGS)
 AC_SUBST(HARDENED_CPPFLAGS)
 AC_SUBST(HARDENED_LDFLAGS)
@@ -1056,11 +1105,17 @@ AC_SUBST(TESTDEFS)
 AC_SUBST(LEVELDB_TARGET_FLAGS)
 AC_SUBST(MINIUPNPC_CPPFLAGS)
 AC_SUBST(MINIUPNPC_LIBS)
-AC_SUBST(LEVELDB_ATOMIC_CPPFLAGS)
-AC_SUBST(LEVELDB_ATOMIC_CXXFLAGS)
-AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
-AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
+AC_SUBST(CRYPTO_LIBS)
+AC_SUBST(SSL_LIBS)
+AC_SUBST(EVENT_LIBS)
+AC_SUBST(EVENT_PTHREADS_LIBS)
+AC_SUBST(ZMQ_LIBS)
+AC_SUBST(PROTOBUF_LIBS)
+AC_SUBST(QR_LIBS)
+AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
 AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
+AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
+AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py])
 
 dnl boost's m4 checks do something really nasty: they export these vars. As a
 dnl result, they leak into secp256k1's configure and crazy things happen.
@@ -1085,7 +1140,7 @@ PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR"
 unset PKG_CONFIG_LIBDIR
 PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP"
 
-if test x$system_univalue = xno; then
+if test x$need_bundled_univalue = xyes; then
   AC_CONFIG_SUBDIRS([src/univalue])
 fi
 
@@ -1112,3 +1167,29 @@ case ${OS} in
      mv qa/pull-tester/tests_config-2.py qa/pull-tester/tests_config.py
    ;;
 esac
+
+echo 
+echo "Options used to compile and link:"
+echo "  with wallet   = $enable_wallet"
+echo "  with gui / qt = $bitcoin_enable_qt"
+if test x$bitcoin_enable_qt != xno; then
+    echo "    qt version  = $bitcoin_qt_got_major_vers"
+    echo "    with qr     = $use_qr"
+fi
+echo "  with zmq      = $use_zmq"
+echo "  with test     = $use_tests"
+echo "  with bench    = $use_bench"
+echo "  with upnp     = $use_upnp"
+echo "  debug enabled = $enable_debug"
+echo "  werror        = $enable_werror"
+echo 
+echo "  target os     = $TARGET_OS"
+echo "  build os      = $BUILD_OS"
+echo
+echo "  CC            = $CC"
+echo "  CFLAGS        = $CFLAGS"
+echo "  CPPFLAGS      = $CPPFLAGS"
+echo "  CXX           = $CXX"
+echo "  CXXFLAGS      = $CXXFLAGS"
+echo "  LDFLAGS       = $LDFLAGS"
+echo 
diff --git a/contrib/devtools/split-debug.sh b/contrib/devtools/split-debug.sh
new file mode 100755
index 000000000000..7f124ca9d909
--- /dev/null
+++ b/contrib/devtools/split-debug.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ $# -ne 3 ];
+    then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
+fi
+
+ --enable-deterministic-archives -p --only-keep-debug $1 $3
+ --enable-deterministic-archives -p --strip-debug $1 $2
+/usr/bin/strip --enable-deterministic-archives -p -s $2
+ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
diff --git a/contrib/devtools/split-debug.sh.in b/contrib/devtools/split-debug.sh.in
new file mode 100644
index 000000000000..deda49cc5410
--- /dev/null
+++ b/contrib/devtools/split-debug.sh.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ $# -ne 3 ];
+    then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
+fi
+
+@OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
+@OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
+@STRIP@ --enable-deterministic-archives -p -s $2
+@OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md
index b4f76ac3eb98..b89b60014e36 100644
--- a/contrib/gitian-descriptors/README.md
+++ b/contrib/gitian-descriptors/README.md
@@ -26,7 +26,7 @@ Once you've got the right hardware and software:
 
     # Create base images
     cd gitian-builder
-    bin/make-base-vm --suite trusty --arch amd64
+    bin/make-base-vm --suite bionic --arch amd64
     cd ..
 
     # Get inputs (see doc/release-process.md for exact inputs needed and where to get them)
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 9983f29c208f..8cb761653f1b 100755
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,34 +1,46 @@
 ---
-name: "paccoin-linux-0.12"
+name: "paccoin-linux-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "curl"
-- "g++-multilib"
-- "git-core"
+- "g++-aarch64-linux-gnu"
+- "g++-7-aarch64-linux-gnu"
+- "gcc-7-aarch64-linux-gnu"
+- "binutils-aarch64-linux-gnu"
+- "g++-arm-linux-gnueabihf"
+- "g++-7-arm-linux-gnueabihf"
+- "gcc-7-arm-linux-gnueabihf"
+- "binutils-arm-linux-gnueabihf"
+- "g++-7-multilib"
+- "gcc-7-multilib"
+- "binutils-gold"
+- "git"
 - "pkg-config"
 - "autoconf"
 - "libtool"
 - "automake"
+- "cmake"
 - "faketime"
 - "bsdmainutils"
-- "binutils-gold"
 - "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python3"
+- "libxkbcommon0"
 remotes:
 - "url": "https://github.com/PACCommunity/PAC.git"
   "dir": "PAC"
 files: []
 script: |
+
   WRAP_DIR=$HOME/wrapped
-  HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
-  CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests LDFLAGS=-static-libstdc++"
+  HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu"
+  CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
   FAKETIME_HOST_PROGS=""
-  FAKETIME_PROGS="date ar ranlib nm strip objcopy"
+  FAKETIME_PROGS="date ar ranlib nm"
   HOST_CFLAGS="-O2 -g"
   HOST_CXXFLAGS="-O2 -g"
   HOST_LDFLAGS=-static-libstdc++
@@ -41,40 +53,113 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories and fix the compiler check of ccache
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    # As we later wrap the gcc binaries, this is fast
+    export CCACHE_COMPILERCHECK="content"
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
-  # Create global faketime wrappers
+  # We include the GCC version in all wrappers so that ccache can detect compiler upgrades when hashing the wrappers
+  GCCVERSION=`gcc --version | head -1`
+
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
+    echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
+
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
+  EXTRA_INCLUDES_BASE=$WRAP_DIR/extra_includes
+  mkdir -p $EXTRA_INCLUDES_BASE
+
+  # x86 needs /usr/include/i386-linux-gnu/asm pointed to /usr/include/x86_64-linux-gnu/asm,
+  # but we can't write there. Instead, create a link here and force it to be included in the
+  # search paths by wrapping gcc/g++.
+
+  mkdir -p $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu
+  rm -f $WRAP_DIR/extra_includes/i686-pc-linux-gnu/asm
+  ln -s /usr/include/x86_64-linux-gnu/asm $EXTRA_INCLUDES_BASE/i686-pc-linux-gnu/asm
+
+  for prog in gcc g++; do
+  rm -f ${WRAP_DIR}/${prog}
+  cat << EOF > ${WRAP_DIR}/${prog}
+  #!/bin/bash
+  # GCCVERSION=${GCCVERSION}
+  REAL="`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1`"
+  for var in "\$@"
+  do
+    if [ "\$var" = "-m32" ]; then
+      export C_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu"
+      export CPLUS_INCLUDE_PATH="$EXTRA_INCLUDES_BASE/i686-pc-linux-gnu"
+      break
+    fi
+  done
+  \$REAL \$@
+  EOF
+  chmod +x ${WRAP_DIR}/${prog}
+  touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
+  done
+
   cd PAC
   BASEPREFIX=`pwd`/depends
   # Build dependencies for each host
   for i in $HOSTS; do
+    EXTRA_INCLUDES="$EXTRA_INCLUDES_BASE/$i"
+    if [ -d "$EXTRA_INCLUDES" ]; then
+      export HOST_ID_SALT="$EXTRA_INCLUDES"
+    fi
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
+    unset HOST_ID_SALT
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -98,17 +183,27 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
     make ${MAKEOPTS}
     make ${MAKEOPTS} -C src check-security
-    make ${MAKEOPTS} -C src check-symbols
+
+    #TODO: This is a quick hack that disables symbol checking for arm.
+    #      Instead, we should investigate why these are popping up.
+    #      For aarch64, we'll need to bump up the min GLIBC version, as the abi
+    #      support wasn't introduced until 2.17.
+    case $i in
+       aarch64-*) : ;;
+       arm-*) : ;;
+       *) make ${MAKEOPTS} -C src check-symbols ;;
+    esac
+
     make install DESTDIR=${INSTALLPATH}
     cd installed
     find . -name "lib*.la" -delete
     find . -name "lib*.a" -delete
     rm -rf ${DISTNAME}/lib/pkgconfig
-    find ${DISTNAME}/bin -type f -executable -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
-    find ${DISTNAME}/lib -type f -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
+    find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
+    find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
     find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
     find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
     cd ../../
@@ -116,8 +211,11 @@ script: |
   done
   mkdir -p $OUTDIR/src
   mv $SOURCEDIST $OUTDIR/src
-  mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux64-debug.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-i686-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux32-debug.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
-  mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
 
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml
index b8c24cdf5744..0e2d52822d74 100644
--- a/contrib/gitian-descriptors/gitian-osx-signer.yml
+++ b/contrib/gitian-descriptors/gitian-osx-signer.yml
@@ -1,17 +1,16 @@
 ---
 name: "paccoin-dmg-signer"
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "faketime"
-reference_datetime: "2017-01-01 00:00:00"
 remotes:
-- "url": "https://github.com/paccoinpay/paccoin-detached-sigs.git"
+- "url": "https://github.com/PACCommunity/pac-detached-sigs.git"
   "dir": "signature"
 files:
-- "paccoin-osx-unsigned.tar.gz"
+- "paccoincore-osx-unsigned.tar.gz"
 script: |
   WRAP_DIR=$HOME/wrapped
   mkdir -p ${WRAP_DIR}
@@ -28,10 +27,11 @@ script: |
     chmod +x ${WRAP_DIR}/${prog}
   done
 
-  UNSIGNED=paccoin-osx-unsigned.tar.gz
-  SIGNED=paccoin-osx-signed.dmg
+  UNSIGNED=paccoincore-osx-unsigned.tar.gz
+  SIGNED=paccoincore-osx-signed.dmg
 
   tar -xf ${UNSIGNED}
+  OSX_VOLNAME="$(cat osx_volname)"
   ./detached-sig-apply.sh ${UNSIGNED} signature/osx
-  ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Paccoin-Core" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
+  ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
   ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
index 2b849e9f6785..ee1e0eb315e8 100644
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -1,32 +1,39 @@
 ---
-name: "paccoin-osx-0.12"
+name: "paccoin-osx-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
-packages: 
+packages:
+- "ca-certificates"
 - "curl"
 - "g++"
-- "git-core"
+- "git"
 - "pkg-config"
 - "autoconf"
+- "librsvg2-bin"
+- "libtiff-tools"
 - "libtool"
 - "automake"
 - "faketime"
 - "bsdmainutils"
 - "cmake"
+- "imagemagick"
 - "libcap-dev"
 - "libz-dev"
 - "libbz2-dev"
-- "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python-dev"
+- "python3"
+- "python3-dev"
+- "python3-setuptools"
+- "fonts-tuffy"
 remotes:
-- "url": "https://github.com/PACCommunity/PAC.git"
+- "url": "https://github.com/CryptoMx/PAC.git"
   "dir": "PAC"
 files:
-- "MacOSX10.9.sdk.tar.gz"
+- "MacOSX10.11.sdk.tar.gz"
 script: |
   WRAP_DIR=$HOME/wrapped
   HOSTS="x86_64-apple-darwin11"
@@ -42,46 +49,76 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
   export ZERO_AR_DATE=1
 
-  # Create global faketime wrappers
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
+
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
   cd PAC
   BASEPREFIX=`pwd`/depends
 
   mkdir -p ${BASEPREFIX}/SDKs
-  tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.9.sdk.tar.gz
+  tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.11.sdk.tar.gz
 
   # Build dependencies for each host
   for i in $HOSTS; do
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -106,12 +143,15 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
     make ${MAKEOPTS}
     make install-strip DESTDIR=${INSTALLPATH}
 
+    make osx_volname
     make deploydir
+    OSX_VOLNAME="$(cat osx_volname)"
     mkdir -p unsigned-app-${i}
+    cp osx_volname unsigned-app-${i}/
     cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i}
     cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i}
     cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i}
@@ -123,7 +163,7 @@ script: |
     popd
 
     make deploy
-    ${WRAP_DIR}/dmg dmg Paccoin-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
+    ${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
 
     cd installed
     find . -name "lib*.la" -delete
@@ -135,3 +175,11 @@ script: |
   mkdir -p $OUTDIR/src
   mv $SOURCEDIST $OUTDIR/src
   mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
+
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml
index 9a009d6aa0d5..709bfd4638da 100644
--- a/contrib/gitian-descriptors/gitian-win-signer.yml
+++ b/contrib/gitian-descriptors/gitian-win-signer.yml
@@ -1,20 +1,19 @@
 ---
-name: "bitcoin-win-signer"
+name: "paccoin-win-signer"
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
 packages:
 - "libssl-dev"
 - "autoconf"
-reference_datetime: "2017-01-01 00:00:00"
 remotes:
-- "url": "https://github.com/paccoinpay/paccoin-detached-sigs.git"
+- "url": "https://github.com/PACCommunity/pac-detached-sigs.git"
   "dir": "signature"
 files:
 - "osslsigncode-1.7.1.tar.gz"
 - "osslsigncode-Backports-to-1.7.1.patch"
-- "bitcoin-win-unsigned.tar.gz"
+- "paccoincore-win-unsigned.tar.gz"
 script: |
   BUILD_DIR=`pwd`
   SIGDIR=${BUILD_DIR}/signature/win
@@ -24,7 +23,7 @@ script: |
   echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911  osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
 
   mkdir -p ${UNSIGNED_DIR}
-  tar -C ${UNSIGNED_DIR} -xf bitcoin-win-unsigned.tar.gz
+  tar -C ${UNSIGNED_DIR} -xf paccoincore-win-unsigned.tar.gz
 
   tar xf osslsigncode-1.7.1.tar.gz
   cd osslsigncode-1.7.1
diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml
index 6ebe88076024..f2e7ff3b592b 100755
--- a/contrib/gitian-descriptors/gitian-win.yml
+++ b/contrib/gitian-descriptors/gitian-win.yml
@@ -1,18 +1,19 @@
 ---
-name: "paccoin-win-0.12"
+name: "paccoin-win-0.13"
 enable_cache: true
 suites:
-- "trusty"
+- "bionic"
 architectures:
 - "amd64"
-packages: 
+packages:
 - "curl"
 - "g++"
-- "git-core"
+- "git"
 - "pkg-config"
 - "autoconf"
 - "libtool"
 - "automake"
+- "cmake"
 - "faketime"
 - "bsdmainutils"
 - "mingw-w64"
@@ -21,16 +22,17 @@ packages:
 - "zip"
 - "ca-certificates"
 - "python"
-reference_datetime: "2017-01-01 00:00:00"
+- "python3"
+- "rename"
 remotes:
 - "url": "https://github.com/PACCommunity/PAC.git"
   "dir": "PAC"
 files: []
 script: |
   WRAP_DIR=$HOME/wrapped
-  HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
+  HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
   CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests"
-  FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip objcopy"
+  FAKETIME_HOST_PROGS="ar ranlib nm windres strip objcopy"
   FAKETIME_PROGS="date makensis zip"
   HOST_CFLAGS="-O2 -g"
   HOST_CXXFLAGS="-O2 -g"
@@ -43,55 +45,93 @@ script: |
   mkdir -p ${WRAP_DIR}
   if test -n "$GBUILD_CACHE_ENABLED"; then
     export SOURCES_PATH=${GBUILD_COMMON_CACHE}
-    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
+    export BASE_CACHE=${GBUILD_PACKAGE_CACHE}/depends
     mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
+
+    # Setup ccache to use correct cache directories and fix the compiler check of ccache
+    CONFIGFLAGS="${CONFIGFLAGS} --enable-ccache"
+    export CCACHE_DIR=${GBUILD_PACKAGE_CACHE}/ccache
+    # As we later wrap the gcc binaries, this is fast
+    export CCACHE_COMPILERCHECK="content"
+    if [ -f ${GBUILD_PACKAGE_CACHE}/ccache.tar ]; then
+      pushd ${GBUILD_PACKAGE_CACHE}
+      tar xf ccache.tar
+      rm ccache.tar
+      popd
+    fi
+    # instead of compressing ccache.tar, we let ccache handle it by itself
+    # Otherwise we end up uncompressing/compressing a lot of cache files which we actually never use
+    export CCACHE_COMPRESS=1
+  else
+    CONFIGFLAGS="${CONFIGFLAGS} --disable-ccache"
   fi
 
-  # Create global faketime wrappers
+  # We include the GCC version in all wrappers so that ccache can detect compiler upgrades when hashing the wrappers
+  GCCVERSION=`gcc --version | head -1`
+
+  function create_global_faketime_wrappers {
   for prog in ${FAKETIME_PROGS}; do
     echo '#!/bin/bash' > ${WRAP_DIR}/${prog}
+    echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${prog}
     echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
     echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
-    echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog}
+    echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
     echo "\$REAL \$@" >> $WRAP_DIR/${prog}
     chmod +x ${WRAP_DIR}/${prog}
+    touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${prog}
   done
+  }
 
-  # Create per-host faketime wrappers
+  function create_per-host_faketime_wrappers {
   for i in $HOSTS; do
     for prog in ${FAKETIME_HOST_PROGS}; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
         echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
 
-  # Create per-host linker wrapper
+  function create_per-host_linker_wrapper {
   # This is only needed for trusty, as the mingw linker leaks a few bytes of
   # heap, causing non-determinism. See discussion in https://github.com/bitcoin/bitcoin/pull/6900
   for i in $HOSTS; do
     mkdir -p ${WRAP_DIR}/${i}
     for prog in collect2; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}/${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}/${prog}
         REAL=$(${i}-gcc -print-prog-name=${prog})
         echo "export MALLOC_PERTURB_=255" >> ${WRAP_DIR}/${i}/${prog}
         echo "${REAL} \$@" >> $WRAP_DIR/${i}/${prog}
         chmod +x ${WRAP_DIR}/${i}/${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}/${prog}
     done
     for prog in gcc g++; do
         echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
-        echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
+        echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
+        echo "REAL=\`which -a ${i}-${prog}-posix | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
+        echo '# Add the gcc version to the wrapper so that ccache takes this into account (we use CCACHE_COMPILERCHECK=content)' >> ${WRAP_DIR}/${i}-${prog}
+        echo "# `${prog} --version | head -1`" >> ${WRAP_DIR}/${i}-${prog}
         echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
-        echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog}
+        echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
         echo "export COMPILER_PATH=${WRAP_DIR}/${i}" >> ${WRAP_DIR}/${i}-${prog}
         echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
         chmod +x ${WRAP_DIR}/${i}-${prog}
+        touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
     done
   done
+  }
 
+  # Faketime for depends so intermediate results are comparable
+  export PATH_orig=${PATH}
+  create_global_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_faketime_wrappers "2000-01-01 12:00:00"
+  create_per-host_linker_wrapper "2000-01-01 12:00:00"
   export PATH=${WRAP_DIR}:${PATH}
 
   cd PAC
@@ -101,6 +141,13 @@ script: |
     make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
   done
 
+  # Faketime for binaries
+  export PATH=${PATH_orig}
+  create_global_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
+  create_per-host_linker_wrapper "${REFERENCE_DATETIME}"
+  export PATH=${WRAP_DIR}:${PATH}
+
   # Create the release tarball using (arbitrarily) the first host
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
@@ -127,7 +174,7 @@ script: |
     mkdir -p ${INSTALLPATH}
     tar --strip-components=1 -xf ../$SOURCEDIST
 
-    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
+    CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
     make ${MAKEOPTS}
     make ${MAKEOPTS} -C src check-security
     make deploy
@@ -152,3 +199,11 @@ script: |
   mv ${OUTDIR}/${DISTNAME}-i686-*-debug.zip ${OUTDIR}/${DISTNAME}-win32-debug.zip
   mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
   mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip
+
+  # Compress ccache (otherwise the assert file will get too huge)
+  if [ "$CCACHE_DIR" != "" ]; then
+    pushd ${GBUILD_PACKAGE_CACHE}
+    tar cf ccache.tar ccache
+    rm -rf ccache
+    popd
+  fi
diff --git a/depends/.gitignore b/depends/.gitignore
index 1f163897b9ef..3cb4b9ac1555 100644
--- a/depends/.gitignore
+++ b/depends/.gitignore
@@ -7,3 +7,4 @@ x86_64*
 i686*
 mips*
 arm*
+aarch64*
diff --git a/depends/Makefile b/depends/Makefile
index ef5a20e6c36a..dedb0674cf14 100644
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -15,6 +15,8 @@ BASEDIR = $(CURDIR)
 HASH_LENGTH:=11
 DOWNLOAD_CONNECT_TIMEOUT:=10
 DOWNLOAD_RETRIES:=3
+HOST_ID_SALT ?= salt
+BUILD_ID_SALT ?= salt
 
 host:=$(BUILD)
 ifneq ($(HOST),)
@@ -73,13 +75,31 @@ include builders/$(build_os).mk
 include builders/default.mk
 include packages/packages.mk
 
-qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages)
-qt_native_packages_$(NO_QT) = $(qt_native_packages)
+build_id_string:=$(BUILD_ID_SALT)
+build_id_string+=$(shell $(build_CC) --version 2>/dev/null)
+build_id_string+=$(shell $(build_AR) --version 2>/dev/null)
+build_id_string+=$(shell $(build_CXX) --version 2>/dev/null)
+build_id_string+=$(shell $(build_RANLIB) --version 2>/dev/null)
+build_id_string+=$(shell $(build_STRIP) --version 2>/dev/null)
+
+$(host_arch)_$(host_os)_id_string:=$(HOST_ID_SALT)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_CC) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
+$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
+
+qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch)_$(host_os)_packages)
 wallet_packages_$(NO_WALLET) = $(wallet_packages)
 upnp_packages_$(NO_UPNP) = $(upnp_packages)
 
 packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_)
-native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) $(qt_native_packages_)
+native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
+
+ifneq ($(qt_packages_),)
+native_packages += $(qt_native_packages)
+endif
+
 all_packages = $(packages) $(native_packages)
 
 meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
@@ -90,7 +110,7 @@ include funcs.mk
 
 toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin)
 final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in)
-final_build_id+=$(shell echo -n $(final_build_id_long) | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
+final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
 $(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
 	$(AT)rm -rf $(@D)
 	$(AT)mkdir -p $(@D)
@@ -131,9 +151,9 @@ endef
 
 define check_or_remove_sources
   mkdir -p $($(package)_source_dir); cd $($(package)_source_dir); \
-  $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \
-    ( if test -f $($(package)_all_sources); then echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; fi; \
-      rm -f $($(package)_all_sources) $($(1)_fetched))
+  test -f $($(package)_fetched) && ( $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \
+    ( echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; \
+      rm -f $($(package)_all_sources) $($(1)_fetched))) || true
 endef
 
 check-packages:
diff --git a/depends/README.md b/depends/README.md
index 37b073e0287a..5209c29104d7 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -12,9 +12,9 @@ For example:
 
     make HOST=x86_64-w64-mingw32 -j4
 
-A prefix will be generated that's suitable for plugging into Paccoin's
+A prefix will be generated that's suitable for plugging into Dash's
 configure. In the above example, a dir named x86_64-w64-mingw32 will be
-created. To use it for Paccoin:
+created. To use it for Dash:
 
     ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
 
@@ -23,7 +23,8 @@ Common `host-platform-triplets` for cross compilation are:
 - `i686-w64-mingw32` for Win32
 - `x86_64-w64-mingw32` for Win64
 - `x86_64-apple-darwin11` for MacOSX
-- `arm-linux-gnueabihf` for Linux ARM
+- `arm-linux-gnueabihf` for Linux ARM 32 bit
+- `aarch64-linux-gnu` for Linux ARM 64 bit
 
 No other options are needed, the paths are automatically configured.
 
@@ -38,9 +39,11 @@ The following can be set when running make: make FOO=bar
     NO_WALLET: Don't download/build/cache libs needed to enable the wallet
     NO_UPNP: Don't download/build/cache packages needed for enabling upnp
     DEBUG: disable some optimizations and enable more runtime checking
+    HOST_ID_SALT: Optional salt to use when generating host package ids
+    BUILD_ID_SALT: Optional salt to use when generating build package ids
 
 If some packages are not built, for example `make NO_WALLET=1`, the appropriate
-options will be passed to Paccoin Core's configure. In this case, `--disable-wallet`.
+options will be passed to Dash Core's configure. In this case, `--disable-wallet`.
 
 Additional targets:
 
diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk
index cedbddc57847..d15d6feea6f4 100644
--- a/depends/builders/darwin.mk
+++ b/depends/builders/darwin.mk
@@ -7,11 +7,11 @@ build_darwin_OTOOL: = $(shell xcrun -f otool)
 build_darwin_NM: = $(shell xcrun -f nm)
 build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
 build_darwin_SHA256SUM = shasum -a 256
-build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o
+build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
 
 #darwin host on darwin builder. overrides darwin host preferences.
 darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
-darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION)
+darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ -fvisibility=hidden
 darwin_AR:=$(shell xcrun -f ar)
 darwin_RANLIB:=$(shell xcrun -f ranlib)
 darwin_STRIP:=$(shell xcrun -f strip)
diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk
index d6a304e4b4b9..b03f42401047 100644
--- a/depends/builders/linux.mk
+++ b/depends/builders/linux.mk
@@ -1,2 +1,2 @@
 build_linux_SHA256SUM = sha256sum
-build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o
+build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
diff --git a/depends/config.guess b/depends/config.guess
index fba6e87a0f87..bbd48b60e88b 100755
--- a/depends/config.guess
+++ b/depends/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-11-19'
+timestamp='2017-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-11-19'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -186,9 +186,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+	    earm*)
+		os=netbsdelf
+		;;
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
@@ -237,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -268,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -376,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -410,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -635,13 +642,13 @@ EOF
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -680,11 +687,11 @@ EOF
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -697,12 +704,12 @@ EOF
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -807,14 +814,14 @@ EOF
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -896,7 +903,7 @@ EOF
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -919,7 +926,7 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -993,6 +1000,9 @@ EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    mips64el:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     openrisc*:Linux:*:*)
 	echo or1k-unknown-linux-${LIBC}
 	exit ;;
@@ -1025,6 +1035,9 @@ EOF
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1272,6 +1285,9 @@ EOF
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1285,9 +1301,9 @@ EOF
 	    UNAME_PROCESSOR=powerpc
 	fi
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		    grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
@@ -1309,7 +1325,7 @@ EOF
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1340,7 +1356,7 @@ EOF
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1382,7 +1398,7 @@ EOF
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1394,25 +1410,24 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
     amd64:Isilon\ OneFS:*:*)
-        echo x86_64-unknown-onefs
+	echo x86_64-unknown-onefs
 	exit ;;
 esac
 
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
diff --git a/depends/config.site.in b/depends/config.site.in
index 9e8aee159bf7..3d7c9fd43c7a 100644
--- a/depends/config.site.in
+++ b/depends/config.site.in
@@ -19,9 +19,6 @@ fi
 if test -z $with_protoc_bindir; then
   with_protoc_bindir=$depends_prefix/native/bin
 fi
-if test -z $with_comparison_tool; then
-  with_comparison_tool=$depends_prefix/native/share/BitcoindComparisonTool_jar/BitcoindComparisonTool.jar
-fi
 
 
 if test -z $enable_wallet && test -n "@no_wallet@"; then
@@ -66,8 +63,6 @@ LDFLAGS="-L$depends_prefix/lib $LDFLAGS"
 CC="@CC@"
 CXX="@CXX@"
 OBJC="${CC}"
-OBJCXX="${CXX}"
-CCACHE=$prefix/native/bin/ccache
 CCACHE=$depends_prefix/native/bin/ccache
 PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH
 
diff --git a/depends/config.sub b/depends/config.sub
index ea8747d30fff..7e792b4ae17b 100755
--- a/depends/config.sub
+++ b/depends/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-11-22'
+timestamp='2017-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-11-22'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -301,6 +301,7 @@ case $basic_machine in
 	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
 	| riscv32 | riscv64 \
 	| rl78 | rx \
@@ -428,6 +429,7 @@ case $basic_machine in
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
 	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
@@ -520,7 +522,7 @@ case $basic_machine in
 		basic_machine=i386-pc
 		os=-aros
 		;;
-        asmjs)
+	asmjs)
 		basic_machine=asmjs-unknown
 		;;
 	aux)
@@ -643,6 +645,14 @@ case $basic_machine in
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -1022,7 +1032,7 @@ case $basic_machine in
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1032,7 +1042,7 @@ case $basic_machine in
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1382,14 +1392,14 @@ case $os in
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1399,7 +1409,7 @@ case $os in
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
 	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-	      | -onefs* | -tirtos*)
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1531,6 +1541,8 @@ case $os in
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1626,6 +1638,9 @@ case $basic_machine in
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;
diff --git a/depends/funcs.mk b/depends/funcs.mk
index 050a9b132137..15e404e42dcf 100644
--- a/depends/funcs.mk
+++ b/depends/funcs.mk
@@ -19,15 +19,19 @@ define int_get_all_dependencies
 $(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies))))
 endef
 
-define fetch_file
-(test -f $$($(1)_source_dir)/$(4) || \
-  ( mkdir -p $$($(1)_download_dir) && echo Fetching $(1)... && \
-  ( $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" || \
-    $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \
+define fetch_file_inner
+    ( mkdir -p $$($(1)_download_dir) && echo Fetching $(3) from $(2) && \
+    $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" && \
     echo "$(5)  $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \
     $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \
     mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \
-    rm -rf $$($(1)_download_dir) ))
+    rm -rf $$($(1)_download_dir) )
+endef
+
+define fetch_file
+    ( test -f $$($(1)_source_dir)/$(4) || \
+    ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
+      $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5))))
 endef
 
 define int_get_build_recipe_hash
@@ -39,7 +43,7 @@ define int_get_build_id
 $(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies))
 $(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies)))
 $(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash)))
-$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps))
+$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string))
 $(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)))
 final_build_id_long+=$($(package)_build_id_long)
 
diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
index dbe6d00795e0..44663342f08e 100644
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -1,7 +1,7 @@
-OSX_MIN_VERSION=10.7
-OSX_SDK_VERSION=10.9
+OSX_MIN_VERSION=10.9
+OSX_SDK_VERSION=10.11
 OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
-LD64_VERSION=241.9
+LD64_VERSION=253.9
 darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
 darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++
 
diff --git a/depends/hosts/linux.mk b/depends/hosts/linux.mk
index b13a0f1ad714..602206d63421 100644
--- a/depends/hosts/linux.mk
+++ b/depends/hosts/linux.mk
@@ -1,5 +1,5 @@
 linux_CFLAGS=-pipe
-linux_CXXFLAGS=$(linux_CFLAGS)
+linux_CXXFLAGS=$(linux_CFLAGS) -static-libstdc++
 
 linux_release_CFLAGS=-O2
 linux_release_CXXFLAGS=$(linux_release_CFLAGS)
diff --git a/depends/hosts/mingw32.mk b/depends/hosts/mingw32.mk
index dbfb62fdcf98..83fc501a1990 100644
--- a/depends/hosts/mingw32.mk
+++ b/depends/hosts/mingw32.mk
@@ -1,5 +1,5 @@
 mingw32_CFLAGS=-pipe
-mingw32_CXXFLAGS=$(mingw32_CFLAGS)
+mingw32_CXXFLAGS=$(mingw32_CFLAGS) -static-libstdc++
 
 mingw32_release_CFLAGS=-O2
 mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk
index 200d57314ea0..6c9876c2c7c7 100644
--- a/depends/packages/bdb.mk
+++ b/depends/packages/bdb.mk
@@ -14,7 +14,8 @@ endef
 
 define $(package)_preprocess_cmds
   sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h && \
-  sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c
+  sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c && \
+  cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub dist
 endef
 
 define $(package)_config_cmds
diff --git a/depends/packages/chia_bls.mk b/depends/packages/chia_bls.mk
new file mode 100644
index 000000000000..85eb21472e1c
--- /dev/null
+++ b/depends/packages/chia_bls.mk
@@ -0,0 +1,50 @@
+package=chia_bls
+$(package)_version=v20181101
+# It's actually from https://github.com/Chia-Network/bls-signatures, but we have so many patches atm that it's forked
+$(package)_download_path=https://github.com/codablock/bls-signatures/archive
+$(package)_file_name=$($(package)_version).tar.gz
+$(package)_sha256_hash=b3ec74a77a7b6795f84b05e051a0824ef8d9e05b04b2993f01040f35689aa87c
+$(package)_dependencies=gmp
+#$(package)_patches=...TODO (when we switch back to https://github.com/Chia-Network/bls-signatures)
+
+#define $(package)_preprocess_cmds
+#  for i in $($(package)_patches); do patch -N -p1 < $($(package)_patch_dir)/$$$$i; done
+#endef
+
+define $(package)_set_vars
+  $(package)_config_opts=-DCMAKE_INSTALL_PREFIX=$($(package)_staging_dir)/$(host_prefix)
+  $(package)_config_opts+= -DCMAKE_PREFIX_PATH=$(host_prefix)
+  $(package)_config_opts+= -DSTLIB=ON -DSHLIB=OFF -DSTBIN=ON
+  $(package)_config_opts_linux=-DOPSYS=LINUX -DCMAKE_SYSTEM_NAME=Linux
+  $(package)_config_opts_darwin=-DOPSYS=MACOSX -DCMAKE_SYSTEM_NAME=Darwin
+  $(package)_config_opts_mingw32=-DOPSYS=WINDOWS -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" -DCMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS=""
+  $(package)_config_opts_i686+= -DWSIZE=32
+  $(package)_config_opts_x86_64+= -DWSIZE=64
+  $(package)_config_opts_arm+= -DWSIZE=32
+  $(package)_config_opts_debug=-DDEBUG=ON -DCMAKE_BUILD_TYPE=Debug
+
+  ifneq ($(darwin_native_toolchain),)
+    $(package)_config_opts_darwin+= -DCMAKE_AR="$(host_prefix)/native/bin/$($(package)_ar)"
+    $(package)_config_opts_darwin+= -DCMAKE_RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)"
+  endif
+endef
+
+define $(package)_config_cmds
+  export CC="$($(package)_cc)" && \
+  export CXX="$($(package)_cxx)" && \
+  export CFLAGS="$($(package)_cflags) $($(package)_cppflags)" && \
+  export CXXFLAGS="$($(package)_cxxflags) $($(package)_cppflags)" && \
+  export LDFLAGS="$($(package)_ldflags)" && \
+  mkdir -p build && cd build && \
+  cmake ../ $($(package)_config_opts)
+endef
+
+define $(package)_build_cmds
+  cd build && \
+  $(MAKE) $($(package)_build_opts)
+endef
+
+define $(package)_stage_cmds
+  cd build && \
+  $(MAKE) install
+endef
diff --git a/depends/packages/dbus.mk b/depends/packages/dbus.mk
index 8ac9ab742bfe..90ddcb923f21 100644
--- a/depends/packages/dbus.mk
+++ b/depends/packages/dbus.mk
@@ -1,8 +1,8 @@
 package=dbus
-$(package)_version=1.8.6
+$(package)_version=1.10.14
 $(package)_download_path=http://dbus.freedesktop.org/releases/dbus
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f
+$(package)_sha256_hash=23238f70353e38ce5ca183ebc9525c0d97ac00ef640ad29cf794782af6e6a083
 $(package)_dependencies=expat
 
 define $(package)_set_vars
diff --git a/depends/packages/expat.mk b/depends/packages/expat.mk
index 1ac443537420..81a660e83a55 100644
--- a/depends/packages/expat.mk
+++ b/depends/packages/expat.mk
@@ -1,8 +1,8 @@
 package=expat
-$(package)_version=2.1.0
-$(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version)
-$(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86
+$(package)_version=2.2.0
+$(package)_download_path=https://downloads.sourceforge.net/project/expat/expat/$($(package)_version)
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff
 
 define $(package)_set_vars
 $(package)_config_opts=--disable-static
diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk
index 2cf553ed9657..12695db4b9f7 100644
--- a/depends/packages/fontconfig.mk
+++ b/depends/packages/fontconfig.mk
@@ -1,8 +1,8 @@
 package=fontconfig
-$(package)_version=2.11.1
+$(package)_version=2.12.1
 $(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99
+$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
 $(package)_dependencies=freetype expat
 
 define $(package)_set_vars
@@ -13,7 +13,13 @@ define $(package)_config_cmds
   $($(package)_autoconf)
 endef
 
+# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig
+# have broken makefiles which needlessly attempt to re-generate headers with gperf.
+# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation.
+# This can be removed once the upstream build is fixed.
 define $(package)_build_cmds
+  sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \
+  sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \
   $(MAKE)
 endef
 
diff --git a/depends/packages/freetype.mk b/depends/packages/freetype.mk
index f7d6e0f9fc58..76b025c46318 100644
--- a/depends/packages/freetype.mk
+++ b/depends/packages/freetype.mk
@@ -1,8 +1,8 @@
 package=freetype
-$(package)_version=2.5.3
-$(package)_download_path=http://downloads.sourceforge.net/$(package)
+$(package)_version=2.7.1
+$(package)_download_path=http://download.savannah.gnu.org/releases/$(package)
 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e
+$(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
 
 define $(package)_set_vars
   $(package)_config_opts=--without-zlib --without-png --disable-static
diff --git a/depends/packages/gmp.mk b/depends/packages/gmp.mk
new file mode 100644
index 000000000000..0003b24a33da
--- /dev/null
+++ b/depends/packages/gmp.mk
@@ -0,0 +1,22 @@
+package=gmp
+$(package)_version=6.1.2
+$(package)_download_path=https://gmplib.org/download/gmp
+$(package)_file_name=gmp-$($(package)_version).tar.bz2
+$(package)_sha256_hash=5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2
+
+define $(package)_set_vars
+$(package)_config_opts+=--enable-cxx --enable-fat --with-pic --disable-shared
+endef
+
+define $(package)_config_cmds
+  $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+  $(MAKE)
+endef
+
+define $(package)_stage_cmds
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk
index 3d5a6df974bf..1bb8cb5d2664 100644
--- a/depends/packages/miniupnpc.mk
+++ b/depends/packages/miniupnpc.mk
@@ -1,8 +1,8 @@
 package=miniupnpc
-$(package)_version=1.9.20151026
+$(package)_version=2.0.20170509
 $(package)_download_path=http://miniupnp.free.fr/files
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=f3cf9a5a31588a917d4d9237e5bc50f84d00c5aa48e27ed50d9b88dfa6a25d47
+$(package)_sha256_hash=d3c368627f5cdfb66d3ebd64ca39ba54d6ff14a61966dbecb8dd296b7039f16a
 
 define $(package)_set_vars
 $(package)_build_opts=CC="$($(package)_cc)"
diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk
new file mode 100644
index 000000000000..373490aedcaa
--- /dev/null
+++ b/depends/packages/native_biplist.mk
@@ -0,0 +1,20 @@
+package=native_biplist
+$(package)_version=0.9
+$(package)_download_path=https://pypi.python.org/packages/source/b/biplist
+$(package)_file_name=biplist-$($(package)_version).tar.gz
+$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_patches=sorted_list.patch
+
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/sorted_list.patch
+endef
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/native_ccache.mk b/depends/packages/native_ccache.mk
index 027174479ada..3be669dc47cb 100644
--- a/depends/packages/native_ccache.mk
+++ b/depends/packages/native_ccache.mk
@@ -1,8 +1,8 @@
 package=native_ccache
-$(package)_version=3.2.4
+$(package)_version=3.4.2
 $(package)_download_path=https://samba.org/ftp/ccache
 $(package)_file_name=ccache-$($(package)_version).tar.bz2
-$(package)_sha256_hash=ffeb967edb549e67da0bd5f44f729a2022de9fdde65dfd80d2a7204d7f75332e
+$(package)_sha256_hash=3aa5587793d4c790bd22999bfc678250c029307b3afb9d16f6f4a49c67b78fb3
 
 define $(package)_set_vars
 $(package)_config_opts=
diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk
index 1c1bcf199a0b..44d238cc4c2a 100644
--- a/depends/packages/native_cctools.mk
+++ b/depends/packages/native_cctools.mk
@@ -1,14 +1,14 @@
 package=native_cctools
-$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb
+$(package)_version=807d6fd1be5d2224872e381870c0a75387fe05e6
 $(package)_download_path=https://github.com/theuni/cctools-port/archive
 $(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9
+$(package)_sha256_hash=a09c9ba4684670a0375e42d9d67e7f12c1f62581a27f28f7c825d6d7032ccc6a
 $(package)_build_subdir=cctools
-$(package)_clang_version=3.3
+$(package)_clang_version=3.7.1
 $(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version)
-$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz
-$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz
-$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7
+$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
+$(package)_clang_sha256_hash=99b28a6b48e793705228a390471991386daa33a9717cd9ca007fcdde69608fd9
 $(package)_extra_sources=$($(package)_clang_file_name)
 
 define $(package)_fetch_cmds
@@ -17,8 +17,13 @@ $(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clan
 endef
 
 define $(package)_extract_cmds
+  mkdir -p $($(package)_extract_dir) && \
+  echo "$($(package)_sha256_hash)  $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_clang_sha256_hash)  $($(package)_source_dir)/$($(package)_clang_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
   tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \
+  rm -f toolchain/lib/libc++abi.so* && \
   echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
   echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
   chmod +x toolchain/bin/$(host)-dsymutil && \
@@ -26,14 +31,15 @@ define $(package)_extract_cmds
 endef
 
 define $(package)_set_vars
-$(package)_config_opts=--target=$(host) --disable-libuuid
+$(package)_config_opts=--target=$(host) --disable-lto-support
 $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
 $(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang
 $(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++
 endef
 
 define $(package)_preprocess_cmds
-  cd $($(package)_build_subdir); ./autogen.sh
+  cd $($(package)_build_subdir); ./autogen.sh && \
+  sed -i.old "/define HAVE_PTHREADS/d" ld64/src/ld/InputFiles.h
 endef
 
 define $(package)_config_cmds
@@ -49,10 +55,11 @@ define $(package)_stage_cmds
   cd $($(package)_extract_dir)/toolchain && \
   mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \
   mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
-  cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
+  cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
+  cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
   cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
   cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \
-  cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \
+  cp bin/llvm-dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
   if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
   if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
 endef
diff --git a/depends/packages/native_comparisontool.mk b/depends/packages/native_comparisontool.mk
deleted file mode 100644
index e0ae0cec700e..000000000000
--- a/depends/packages/native_comparisontool.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-package=native_comparisontool
-$(package)_version=8c6666f
-$(package)_download_path=https://github.com/theuni/bitcoind-comparisontool/raw/master
-$(package)_file_name=pull-tests-$($(package)_version).jar
-$(package)_sha256_hash=a865332b3827abcde684ab79f5f43c083b0b6a4c97ff5508c79f29fee24f11cd
-$(package)_install_dirname=BitcoindComparisonTool_jar
-$(package)_install_filename=BitcoindComparisonTool.jar
-
-define $(package)_extract_cmds
-endef
-
-define $(package)_configure_cmds
-endef
-
-define $(package)_build_cmds
-endef
-
-define $(package)_stage_cmds
-  mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \
-  cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename)
-endef
diff --git a/depends/packages/native_ds_store.mk b/depends/packages/native_ds_store.mk
new file mode 100644
index 000000000000..e2d035d480c9
--- /dev/null
+++ b/depends/packages/native_ds_store.mk
@@ -0,0 +1,17 @@
+package=native_ds_store
+$(package)_version=1.1.0
+$(package)_download_path=https://bitbucket.org/al45tair/ds_store/get
+$(package)_download_file=v$($(package)_version).tar.bz2
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=921596764d71d1bbd3297a90ef6d286f718794d667e4f81d91d14053525d64c1
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_dependencies=native_biplist
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/native_mac_alias.mk b/depends/packages/native_mac_alias.mk
new file mode 100644
index 000000000000..9982a52a335c
--- /dev/null
+++ b/depends/packages/native_mac_alias.mk
@@ -0,0 +1,21 @@
+package=native_mac_alias
+$(package)_version=1.1.0
+$(package)_download_path=https://bitbucket.org/al45tair/mac_alias/get
+$(package)_download_file=v$($(package)_version).tar.bz2
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=87ad827e66790028361e43fc754f68ed041a9bdb214cca03c853f079b04fb120
+$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_patches=python3.patch
+
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/python3.patch
+endef
+
+define $(package)_build_cmds
+    python3 setup.py build
+endef
+
+define $(package)_stage_cmds
+    mkdir -p $($(package)_install_libdir) && \
+    python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
+endef
diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk
index fe6eb97dead0..5ee9f17a6323 100644
--- a/depends/packages/openssl.mk
+++ b/depends/packages/openssl.mk
@@ -6,9 +6,42 @@ $(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fce
 
 define $(package)_set_vars
 $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
-$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl no-zlib no-shared no-dso
-$(package)_config_opts+=no-krb5 no-capieng no-dtls1 no-gost no-gmp no-heartbeats no-jpake no-md2
-$(package)_config_opts+=no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-sha0 no-static_engine no-ssl2 no-ssl3
+$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl
+$(package)_config_opts+=no-camellia
+$(package)_config_opts+=no-capieng
+$(package)_config_opts+=no-cast
+$(package)_config_opts+=no-comp
+$(package)_config_opts+=no-dso
+$(package)_config_opts+=no-dtls1
+$(package)_config_opts+=no-ec_nistp_64_gcc_128
+$(package)_config_opts+=no-gost
+$(package)_config_opts+=no-gmp
+$(package)_config_opts+=no-heartbeats
+$(package)_config_opts+=no-idea
+$(package)_config_opts+=no-jpake
+$(package)_config_opts+=no-krb5
+$(package)_config_opts+=no-libunbound
+$(package)_config_opts+=no-md2
+$(package)_config_opts+=no-mdc2
+$(package)_config_opts+=no-rc4
+$(package)_config_opts+=no-rc5
+$(package)_config_opts+=no-rdrand
+$(package)_config_opts+=no-rfc3779
+$(package)_config_opts+=no-rsax
+$(package)_config_opts+=no-sctp
+$(package)_config_opts+=no-seed
+$(package)_config_opts+=no-sha0
+$(package)_config_opts+=no-shared
+$(package)_config_opts+=no-ssl-trace
+$(package)_config_opts+=no-ssl2
+$(package)_config_opts+=no-ssl3
+$(package)_config_opts+=no-static_engine
+$(package)_config_opts+=no-store
+$(package)_config_opts+=no-unit-test
+$(package)_config_opts+=no-weak-ssl-ciphers
+$(package)_config_opts+=no-whirlpool
+$(package)_config_opts+=no-zlib
+$(package)_config_opts+=no-zlib-dynamic
 $(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
 $(package)_config_opts_linux=-fPIC -Wa,--noexecstack
 $(package)_config_opts_x86_64_linux=linux-x86_64
diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk
index 02cc1884203a..5f3bf71a6299 100644
--- a/depends/packages/packages.mk
+++ b/depends/packages/packages.mk
@@ -1,20 +1,21 @@
-packages:=boost openssl libevent
-darwin_packages:=zeromq
-linux_packages:=zeromq
-native_packages := native_ccache native_comparisontool
+packages:=boost openssl libevent zeromq gmp
+native_packages := native_ccache
 
 qt_native_packages = native_protobuf
-qt_packages = qrencode protobuf
+qt_packages = qrencode protobuf zlib
+
+qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
+qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
 
-qt_linux_packages= qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
 qt_darwin_packages=qt
 qt_mingw32_packages=qt
 
-
 wallet_packages=bdb
 
 upnp_packages=miniupnpc
 
+darwin_native_packages = native_biplist native_ds_store native_mac_alias
+
 ifneq ($(build_os),darwin)
-darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus
+darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
 endif
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 84526d36fdfa..60374999573e 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -1,42 +1,65 @@
 PACKAGE=qt
-$(package)_version=5.5.0
-$(package)_download_path=http://download.qt.io/archive/qt/5.5/$($(package)_version)/submodules
+$(package)_version=5.7.1
+$(package)_download_path=https://download.qt.io/archive/qt/5.7/$($(package)_version)/submodules
 $(package)_suffix=opensource-src-$($(package)_version).tar.gz
 $(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a1af0561
-$(package)_dependencies=openssl
-$(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext
+$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410
+$(package)_dependencies=openssl zlib
+$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
 $(package)_build_subdir=qtbase
 $(package)_qt_libs=corelib network widgets gui plugins testlib
-$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch mingw-uuidof.patch pidlist_absolute.patch
+$(package)_patches=mac-qmake.conf mingw-uuidof.patch pidlist_absolute.patch fix-xcb-include-order.patch
+$(package)_patches+=fix_qt_configure.patch fix_qt_pkgconfig.patch fix-cocoahelpers-macos.patch qfixed-coretext.patch
+# NOTE: fix_qt_configure.patch is only needed for Qt 5.7, newer versions don't have this issue.
+# Remove it after bumping $(package)_version to 5.8+.
 
 $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=c4bd6db6e426965c6f8824c54e81f68bbd61e2bae1bcadc328c6e81c45902a0d
+$(package)_qttranslations_sha256_hash=3a15aebd523c6d89fb97b2d3df866c94149653a26d27a00aac9b6d3020bc5a1d
 
 $(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=d9e06bd19ecc86afba5e95d45a906d1bc1ad579aa70001e36143c1aaf695bdd6
+$(package)_qttools_sha256_hash=22d67de915cb8cd93e16fdd38fa006224ad9170bd217c2be1e53045a8dd02f0f
+
+#$(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix)
+#$(package)_qtwebsockets_sha256_hash=d4159161f7d72e9364e05227e549e49b5fd70a8e95f4f46a45a5610e86faf0ba
+
+#$(package)_qtwebchannel_file_name=qtwebchannel-$($(package)_suffix)
+#$(package)_qtwebchannel_sha256_hash=7aebd7d259fc4510b9519a158ea2959ef7843b94ad8b10678b9a7e9ffe388f42
 
 $(package)_extra_sources  = $($(package)_qttranslations_file_name)
 $(package)_extra_sources += $($(package)_qttools_file_name)
+#$(package)_extra_sources += $($(package)_qtwebsockets_file_name)
+#$(package)_extra_sources += $($(package)_qtwebchannel_file_name)
 
 define $(package)_set_vars
 $(package)_config_opts_release = -release
-$(package)_config_opts_debug   = -debug
-$(package)_config_opts += -opensource -confirm-license
+$(package)_config_opts_debug = -debug
+$(package)_config_opts += -bindir $(build_prefix)/bin
+$(package)_config_opts += -c++std c++11
+$(package)_config_opts += -confirm-license
+$(package)_config_opts += -dbus-runtime
+$(package)_config_opts += -hostprefix $(build_prefix)
+$(package)_config_opts += -no-alsa
 $(package)_config_opts += -no-audio-backend
+$(package)_config_opts += -no-cups
+$(package)_config_opts += -no-egl
+$(package)_config_opts += -no-eglfs
+$(package)_config_opts += -no-feature-style-windowsmobile
+$(package)_config_opts += -no-feature-style-windowsce
+$(package)_config_opts += -no-freetype
+$(package)_config_opts += -no-gif
 $(package)_config_opts += -no-glib
+$(package)_config_opts += -no-gstreamer
 $(package)_config_opts += -no-icu
-$(package)_config_opts += -no-cups
 $(package)_config_opts += -no-iconv
-$(package)_config_opts += -no-gif
-$(package)_config_opts += -no-freetype
-$(package)_config_opts += -no-nis
-$(package)_config_opts += -pch
+$(package)_config_opts += -no-kms
+$(package)_config_opts += -no-linuxfb
+$(package)_config_opts += -no-libudev
+$(package)_config_opts += -no-mitshm
+$(package)_config_opts += -no-mtdev
+$(package)_config_opts += -no-pulseaudio
+$(package)_config_opts += -no-openvg
+$(package)_config_opts += -no-reduce-relocations
 $(package)_config_opts += -no-qml-debug
-$(package)_config_opts += -nomake examples
-$(package)_config_opts += -nomake tests
-$(package)_config_opts += -no-feature-style-windowsmobile
-$(package)_config_opts += -no-feature-style-windowsce
 $(package)_config_opts += -no-sql-db2
 $(package)_config_opts += -no-sql-ibase
 $(package)_config_opts += -no-sql-oci
@@ -46,36 +69,27 @@ $(package)_config_opts += -no-sql-odbc
 $(package)_config_opts += -no-sql-psql
 $(package)_config_opts += -no-sql-sqlite
 $(package)_config_opts += -no-sql-sqlite2
-$(package)_config_opts += -prefix $(host_prefix)
-$(package)_config_opts += -hostprefix $(build_prefix)
-$(package)_config_opts += -bindir $(build_prefix)/bin
-$(package)_config_opts += -c++11
+$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -no-xinput2
+$(package)_config_opts += -no-xrender
+$(package)_config_opts += -nomake examples
+$(package)_config_opts += -nomake tests
+$(package)_config_opts += -opensource
 $(package)_config_opts += -openssl-linked
-$(package)_config_opts += -v
-$(package)_config_opts += -static
-$(package)_config_opts += -silent
+$(package)_config_opts += -optimized-qmake
+$(package)_config_opts += -pch
 $(package)_config_opts += -pkg-config
+$(package)_config_opts += -prefix $(host_prefix)
 $(package)_config_opts += -qt-libpng
 $(package)_config_opts += -qt-libjpeg
-$(package)_config_opts += -qt-zlib
 $(package)_config_opts += -qt-pcre
-$(package)_config_opts += -no-pulseaudio
-$(package)_config_opts += -no-openvg
-$(package)_config_opts += -no-xrender
-$(package)_config_opts += -no-alsa
-$(package)_config_opts += -no-mtdev
-$(package)_config_opts += -no-gstreamer
-$(package)_config_opts += -no-mitshm
-$(package)_config_opts += -no-kms
-$(package)_config_opts += -no-reduce-relocations
-$(package)_config_opts += -no-egl
-$(package)_config_opts += -no-eglfs
-$(package)_config_opts += -no-linuxfb
-$(package)_config_opts += -no-xinput2
-$(package)_config_opts += -no-libudev
-$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -system-zlib
 $(package)_config_opts += -reduce-exports
-$(package)_config_opts += -optimized-qmake
+$(package)_config_opts += -static
+$(package)_config_opts += -silent
+$(package)_config_opts += -v
+$(package)_config_opts += -no-feature-printer
+$(package)_config_opts += -no-feature-printdialog
 
 ifneq ($(build_os),darwin)
 $(package)_config_opts_darwin = -xplatform macx-clang-linux
@@ -108,8 +122,8 @@ endef
 define $(package)_extract_cmds
   mkdir -p $($(package)_extract_dir) && \
   echo "$($(package)_sha256_hash)  $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
-  echo "$($(package)_qttranslations_sha256_hash)  $($(package)_source_dir)/$($(package)_qttranslations_file_name)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
-  echo "$($(package)_qttools_sha256_hash)  $($(package)_source_dir)/$($(package)_qttools_file_name)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_qttranslations_sha256_hash)  $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
+  echo "$($(package)_qttools_sha256_hash)  $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
   mkdir qtbase && \
   tar --strip-components=1 -xf $($(package)_source) -C qtbase && \
@@ -119,32 +133,41 @@ define $(package)_extract_cmds
   tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
 endef
 
+
 define $(package)_preprocess_cmds
   sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
+  sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
   sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \
   sed -i.old "s|X11/extensions/XIproto.h|X11/X.h|" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \
   sed -i.old 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' qtbase/configure && \
+  sed -i.old 's/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0)/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft)/' qtbase/src/plugins/platforms/cocoa/qcocoacursor.mm && \
   mkdir -p qtbase/mkspecs/macx-clang-linux &&\
   cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
-  patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
   patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \
   patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \
-  echo "QMAKE_CFLAGS     += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  echo "QMAKE_CXXFLAGS   += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  echo "QMAKE_LFLAGS     += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
-  sed -i.old "s|QMAKE_CFLAGS            = |QMAKE_CFLAGS            = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
-  sed -i.old "s|QMAKE_LFLAGS            = |QMAKE_LFLAGS            = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
-  sed -i.old "s|QMAKE_CXXFLAGS          = |QMAKE_CXXFLAGS            = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
+  patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix_qt_configure.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix-cocoahelpers-macos.patch && \
+  patch -p1 < $($(package)_patch_dir)/qfixed-coretext.patch && \
+  echo "!host_build: QMAKE_CFLAGS     += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  echo "!host_build: QMAKE_CXXFLAGS   += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  echo "!host_build: QMAKE_LFLAGS     += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+  sed -i.old "s|QMAKE_CFLAGS            = |!host_build: QMAKE_CFLAGS            = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
+  sed -i.old "s|QMAKE_LFLAGS            = |!host_build: QMAKE_LFLAGS            = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
+  sed -i.old "s|QMAKE_CXXFLAGS          = |!host_build: QMAKE_CXXFLAGS            = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
+
 endef
 
 define $(package)_config_cmds
-  export PKG_CONFIG_SYSROOT_DIR=/ && \
   export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
   export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig  && \
   ./configure $($(package)_config_opts) && \
+  echo "host_build: QT_CONFIG ~= s/system-zlib/zlib" >> mkspecs/qconfig.pri && \
+  echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
   $(MAKE) sub-src-clean && \
   cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
   cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\
diff --git a/depends/packages/qt46.mk b/depends/packages/qt46.mk
deleted file mode 100644
index 8fb30a5c4471..000000000000
--- a/depends/packages/qt46.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-PACKAGE=qt46
-$(package)_version=4.6.4
-$(package)_download_path=http://download.qt-project.org/archive/qt/4.6/
-$(package)_file_name=qt-everywhere-opensource-src-$($(package)_version).tar.gz
-$(package)_sha256_hash=9ad4d46c721b53a429ed5a2eecfd3c239a9ab566562f183f99d3125f1a234250
-$(package)_dependencies=openssl freetype dbus libX11 xproto libXext libICE libSM
-$(package)_patches=stlfix.patch 
-
-define $(package)_set_vars
-$(package)_config_opts  = -prefix $(host_prefix) -headerdir $(host_prefix)/include/qt4 -bindir $(build_prefix)/bin
-$(package)_config_opts += -release -no-separate-debug-info -opensource -confirm-license
-$(package)_config_opts += -stl -qt-zlib
-
-$(package)_config_opts += -nomake examples -nomake tests -nomake tools -nomake translations -nomake demos -nomake docs
-$(package)_config_opts += -no-audio-backend -no-glib -no-nis -no-cups -no-iconv -no-gif -no-pch
-$(package)_config_opts += -no-xkb -no-xrender -no-xrandr -no-xfixes -no-xcursor -no-xinerama -no-xsync -no-xinput -no-mitshm -no-xshape
-$(package)_config_opts += -no-libtiff -no-fontconfig -openssl-linked
-$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql
-$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2
-$(package)_config_opts += -no-xmlpatterns -no-multimedia -no-phonon -no-scripttools -no-declarative
-$(package)_config_opts += -no-phonon-backend -no-webkit -no-javascript-jit -no-script
-$(package)_config_opts += -no-svg -no-libjpeg -no-libtiff -no-libpng -no-libmng -no-qt3support -no-opengl
-
-$(package)_config_opts_x86_64_linux  += -platform linux-g++-64
-$(package)_config_opts_i686_linux  = -platform linux-g++-32
-$(package)_build_env  = QT_RCC_TEST=1
-endef
-
-define $(package)_preprocess_cmds
-   sed -i.old "s|/include /usr/include||" config.tests/unix/freetype/freetype.pri && \
-   sed -i.old "s|src_plugins.depends = src_gui src_sql src_svg|src_plugins.depends = src_gui src_sql|" src/src.pro && \
-   sed -i.old "s|\.lower(|\.toLower(|g" src/network/ssl/qsslsocket_openssl.cpp && \
-   sed -i.old "s|Key_BackSpace|Key_Backspace|" src/gui/itemviews/qabstractitemview.cpp && \
-   sed -i.old "s|/usr/X11R6/lib64|$(host_prefix)/lib|" mkspecs/*/*.conf && \
-   sed -i.old "s|/usr/X11R6/lib|$(host_prefix)/lib|" mkspecs/*/*.conf && \
-   sed -i.old "s|/usr/X11R6/include|$(host_prefix)/include|" mkspecs/*/*.conf && \
-   sed -i.old "s|QMAKE_LFLAGS_SHLIB\t+= -shared|QMAKE_LFLAGS_SHLIB\t+= -shared -Wl,--exclude-libs,ALL|" mkspecs/common/g++.conf && \
-   sed -i.old "/SSLv2_client_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \
-   sed -i.old "/SSLv2_server_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \
-   patch -p1 < $($(package)_patch_dir)/stlfix.patch 
-endef
-
-define $(package)_config_cmds
-  export PKG_CONFIG_SYSROOT_DIR=/ && \
-  export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
-  export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig  && \
-  export CPATH=$(host_prefix)/include && \
-  OPENSSL_LIBS='-L$(host_prefix)/lib -lssl -lcrypto' ./configure $($(package)_config_opts) && \
-  cd tools/linguist/lrelease; ../../../bin/qmake  -o Makefile lrelease.pro
-endef
-
-define $(package)_build_cmds
-  export CPATH=$(host_prefix)/include && \
-  $(MAKE) -C src && \
-  $(MAKE) -C tools/linguist/lrelease
-endef
-
-define $(package)_stage_cmds
-  $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) install && \
-  $(MAKE) -C tools/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
-  rm -rf mkspecs/ lib/cmake/ lib/*.prl lib/*.la && \
-  find native/bin -type f -exec mv {} {}-qt4 \;
-endef
diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk
index b3f18db05696..01146c26f69b 100644
--- a/depends/packages/zeromq.mk
+++ b/depends/packages/zeromq.mk
@@ -1,25 +1,32 @@
 package=zeromq
-$(package)_version=4.0.7
-$(package)_download_path=http://download.zeromq.org
+$(package)_version=4.1.5
+$(package)_download_path=https://github.com/zeromq/zeromq4-1/releases/download/v$($(package)_version)/
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=e00b2967e074990d0538361cc79084a0a92892df2c6e7585da34e4c61ee47b03
+$(package)_sha256_hash=04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf
+$(package)_patches=9114d3957725acd34aa8b8d011585812f3369411.patch 9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
 
 define $(package)_set_vars
-  $(package)_config_opts=--without-documentation --disable-shared
+  $(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
   $(package)_config_opts_linux=--with-pic
   $(package)_cxxflags=-std=c++11
 endef
 
+define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/9114d3957725acd34aa8b8d011585812f3369411.patch && \
+  patch -p1 < $($(package)_patch_dir)/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch && \
+  ./autogen.sh
+endef
+
 define $(package)_config_cmds
   $($(package)_autoconf)
 endef
 
 define $(package)_build_cmds
-  $(MAKE) -C src
+  $(MAKE) libzmq.la
 endef
 
 define $(package)_stage_cmds
-  $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA
 endef
 
 define $(package)_postprocess_cmds
diff --git a/depends/packages/zlib.mk b/depends/packages/zlib.mk
new file mode 100644
index 000000000000..589490800f8b
--- /dev/null
+++ b/depends/packages/zlib.mk
@@ -0,0 +1,27 @@
+package=zlib
+$(package)_version=1.2.11
+$(package)_download_path=http://www.zlib.net
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
+
+define $(package)_set_vars
+$(package)_build_opts= CC="$($(package)_cc)"
+$(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
+$(package)_build_opts+=RANLIB="$($(package)_ranlib)"
+$(package)_build_opts+=AR="$($(package)_ar)"
+$(package)_build_opts_darwin+=AR="$($(package)_libtool)"
+$(package)_build_opts_darwin+=ARFLAGS="-o"
+endef
+
+define $(package)_config_cmds
+  ./configure --static --prefix=$(host_prefix)
+endef
+
+define $(package)_build_cmds
+  $(MAKE) $($(package)_build_opts) libz.a
+endef
+
+define $(package)_stage_cmds
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
+endef
+
diff --git a/depends/patches/boost/darwin_boost_atomic-1.patch b/depends/patches/boost/darwin_boost_atomic-1.patch
deleted file mode 100644
index 97f59cb7e4ee..000000000000
--- a/depends/patches/boost/darwin_boost_atomic-1.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp
-index 906c13e..dcb4d7d 100644
---- a/include/boost/atomic/detail/cas128strong.hpp
-+++ b/include/boost/atomic/detail/cas128strong.hpp
-@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void
-     store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type value_s = 0;
-+        storage_type value_s;
-+        memset(&value_s, 0, sizeof(value_s));
-         memcpy(&value_s, &value, sizeof(value_type));
-         platform_fence_before_store(order);
-         platform_store128(value_s, &v_);
-@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
- 
diff --git a/depends/patches/boost/darwin_boost_atomic-2.patch b/depends/patches/boost/darwin_boost_atomic-2.patch
deleted file mode 100644
index ca50765200ec..000000000000
--- a/depends/patches/boost/darwin_boost_atomic-2.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp
-index a130590..4af99a1 100644
---- a/include/boost/atomic/detail/gcc-atomic.hpp
-+++ b/include/boost/atomic/detail/gcc-atomic.hpp
-@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-     }
-@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
- 
-     value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-         value_type res;
-@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false,
-@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true,
diff --git a/depends/patches/boost/gcc_5_no_cxx11.patch b/depends/patches/boost/gcc_5_no_cxx11.patch
deleted file mode 100644
index 04514c593a10..000000000000
--- a/depends/patches/boost/gcc_5_no_cxx11.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
-From: jzmaddock <jzmaddock@gmail.com>
-Date: Sat, 23 Aug 2014 09:38:02 +0100
-Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
- feature was introduced in GCC 4.4.
-
----
- include/boost/config/compiler/gcc.hpp | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp
-index f37159d..97d8a18 100644
---- a/include/boost/config/compiler/gcc.hpp
-+++ b/include/boost/config/compiler/gcc.hpp
-@@ -154,14 +154,6 @@
- #  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
- #  define BOOST_NO_CXX11_RVALUE_REFERENCES
- #  define BOOST_NO_CXX11_STATIC_ASSERT
--
--// Variadic templates compiler:
--//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
--#  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
--#    define BOOST_HAS_VARIADIC_TMPL
--#  else
--#    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
--#  endif
- #endif
- 
- // C++0x features in 4.4.n and later
-@@ -176,6 +168,7 @@
- #  define BOOST_NO_CXX11_DELETED_FUNCTIONS
- #  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
- #  define BOOST_NO_CXX11_INLINE_NAMESPACES
-+#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
- #endif
- 
- #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
diff --git a/depends/patches/qt/fix-xcb-include-order.patch b/depends/patches/qt/fix-xcb-include-order.patch
index ae469ea94bff..ec2bc17d9bd9 100644
--- a/depends/patches/qt/fix-xcb-include-order.patch
+++ b/depends/patches/qt/fix-xcb-include-order.patch
@@ -1,45 +1,49 @@
---- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 02:06:42.705930685 +0000
-+++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 02:08:41.281926351 +0000
-@@ -94,8 +94,6 @@
-
+--- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
++++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
+@@ -76,8 +76,6 @@
+ 
  DEFINES += $$QMAKE_DEFINES_XCB
  LIBS += $$QMAKE_LIBS_XCB
 -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
 -QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
-
+ 
  CONFIG += qpa/genericunixfontdatabase
-
-@@ -104,7 +102,8 @@
+ 
+@@ -89,7 +87,8 @@
  contains(QT_CONFIG, xcb-qt) {
      DEFINES += XCB_USE_RENDER
      XCB_DIR = ../../../3rdparty/xcb
 -    INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
 +    QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +    QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
-     LIBS += -lxcb -L$$OUT_PWD/xcb-static -lxcb-static
+     LIBS += -lxcb -L$$MODULE_BASE_OUTDIR/lib -lxcb-static$$qtPlatformTargetSuffix()
  } else {
-     LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms
---- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro      2015-03-17 02:07:04.641929383 +0000
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro      2015-03-17 02:10:15.485922059 +0000
-@@ -8,7 +8,8 @@
-
+     LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms -lxcb-xinerama
+--- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
++++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
+@@ -9,7 +9,8 @@
+ 
  XCB_DIR = ../../../../3rdparty/xcb
-
+ 
 -INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude
 +QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
 +QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
-
+ 
  QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
  QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
---- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro	2015-07-24 16:02:59.530038830 -0400
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro	2015-07-24 16:01:22.106037459 -0400
-@@ -11,3 +11,9 @@
+--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
++++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
+@@ -6,6 +6,13 @@
      qxcbmain.cpp
  OTHER_FILES += xcb.json README
-
+ 
 +contains(QT_CONFIG, xcb-qt) {
 +    DEFINES += XCB_USE_RENDER
 +    XCB_DIR = ../../../3rdparty/xcb
 +    QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +    QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
 +}
++
+ PLUGIN_TYPE = platforms
+ PLUGIN_CLASS_NAME = QXcbIntegrationPlugin
+ !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = -
diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf
index a6d0070cca64..ca70d30b15e9 100644
--- a/depends/patches/qt/mac-qmake.conf
+++ b/depends/patches/qt/mac-qmake.conf
@@ -1,6 +1,5 @@
 MAKEFILE_GENERATOR = UNIX
 CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
-DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG
 QMAKE_INCREMENTAL_STYLE = sublib
 include(../common/macx.conf)
 include(../common/gcc-base-mac.conf)
@@ -11,14 +10,14 @@ QMAKE_XCODE_VERSION=4.3
 QMAKE_XCODE_DEVELOPER_PATH=/Developer
 QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION}
 QMAKE_MAC_SDK=macosx
-QMAKE_MAC_SDK.macosx.path = $${MAC_SDK_PATH}
+QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
 QMAKE_MAC_SDK.macosx.platform_name = macosx
-QMAKE_MAC_SDK.macosx.version = $${MAC_SDK_VERSION}
-QMAKE_MAC_SDK.macosx.platform_path = /phony
-QMAKE_CFLAGS += -target $${MAC_TARGET}
-QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
-QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
+QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION}
+QMAKE_MAC_SDK.macosx.PlatformPath = /phony
+!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET}
+!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
+!host_build: QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
 QMAKE_AR = $${CROSS_COMPILE}ar cq
 QMAKE_RANLIB=$${CROSS_COMPILE}ranlib
 QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool
diff --git a/depends/patches/qt/mingw-uuidof.patch b/depends/patches/qt/mingw-uuidof.patch
index 975366e61229..fb21923c8c36 100644
--- a/depends/patches/qt/mingw-uuidof.patch
+++ b/depends/patches/qt/mingw-uuidof.patch
@@ -1,6 +1,6 @@
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp	2015-06-20 17:40:20.956781548 -0400
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp	2015-06-20 17:29:32.052772416 -0400
-@@ -69,7 +69,7 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
+@@ -77,7 +77,7 @@
  #include <stdlib.h>
  #include <stdio.h>
  #include <windowsx.h>
@@ -9,8 +9,8 @@
  #  include <comdef.h>
  #endif
  
-@@ -762,7 +762,7 @@
-                           HWND_MESSAGE, NULL, (HINSTANCE)GetModuleHandle(0), NULL);
+@@ -814,7 +814,7 @@
+                           HWND_MESSAGE, NULL, static_cast<HINSTANCE>(GetModuleHandle(0)), NULL);
  }
  
 -#ifndef Q_OS_WINCE
@@ -18,16 +18,16 @@
  // Re-engineered from the inline function _com_error::ErrorMessage().
  // We cannot use it directly since it uses swprintf_s(), which is not
  // present in the MSVCRT.DLL found on Windows XP (QTBUG-35617).
-@@ -781,7 +781,7 @@
-          return QStringLiteral("IDispatch error #") + QString::number(wCode);
-      return QStringLiteral("Unknown error 0x0") + QString::number(comError.Error(), 16);
+@@ -833,7 +833,7 @@
+          return QString::asprintf("IDispatch error #%u", uint(wCode));
+      return QString::asprintf("Unknown error 0x0%x", uint(comError.Error()));
  }
 -#endif // !Q_OS_WINCE
 +#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
  
  /*!
      \brief Common COM error strings.
-@@ -846,12 +846,12 @@
+@@ -901,12 +901,12 @@
      default:
          break;
      }
diff --git a/depends/patches/qt/pidlist_absolute.patch b/depends/patches/qt/pidlist_absolute.patch
index 0b49c050dcc1..c79282417905 100644
--- a/depends/patches/qt/pidlist_absolute.patch
+++ b/depends/patches/qt/pidlist_absolute.patch
@@ -1,7 +1,7 @@
 diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h	2015-06-29 22:04:40.000000000 +0200
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h	2015-11-01 12:55:59.751234846 +0100
-@@ -124,10 +124,18 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h
++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
+@@ -136,10 +136,18 @@
      inline void init();
  
      typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **);
@@ -21,9 +21,9 @@ diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/
      SHCreateItemFromParsingName sHCreateItemFromParsingName;
      SHGetKnownFolderIDList sHGetKnownFolderIDList;
 diff -dur old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
---- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp	2015-06-29 22:04:40.000000000 +0200
-+++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp	2015-11-01 13:41:09.503149772 +0100
-@@ -1008,7 +1008,11 @@
+--- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
++++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+@@ -1016,7 +1016,11 @@
              qWarning() << __FUNCTION__ << ": Invalid CLSID: " << url.path();
              return Q_NULLPTR;
          }
diff --git a/depends/patches/qt46/stlfix.patch b/depends/patches/qt46/stlfix.patch
deleted file mode 100644
index f8f6fb04b0b7..000000000000
--- a/depends/patches/qt46/stlfix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- old/config.tests/unix/stl/stltest.cpp	2011-06-23 03:45:23.000000000 -0400
-+++ new/config.tests/unix/stl/stltest.cpp	2014-08-28 00:54:04.154837604 -0400
-@@ -49,6 +49,7 @@
- #include <vector>
- #include <algorithm>
- #include <iostream>
-+#include <cstddef>
- 
- // something mean to see if the compiler and C++ standard lib are good enough
- template<class K, class T>
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
new file mode 100644
index 000000000000..61cdf2935059
--- /dev/null
+++ b/doc/man/Makefile.am
@@ -0,0 +1,13 @@
+dist_man1_MANS=
+
+if BUILD_BITCOIND
+  dist_man1_MANS+=paccoind.1
+endif
+
+if ENABLE_QT
+  dist_man1_MANS+=paccoin-qt.1
+endif
+
+if BUILD_BITCOIN_UTILS
+  dist_man1_MANS+=paccoin-cli.1 paccoin-tx.1
+endif
diff --git a/doc/man/paccoin-cli.1 b/doc/man/paccoin-cli.1
new file mode 100644
index 000000000000..0be59195308c
--- /dev/null
+++ b/doc/man/paccoin-cli.1
@@ -0,0 +1,92 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-CLI "1" "November 2018" "paccoin-cli v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-cli \- manual page for paccoin-cli v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core RPC client version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoin\-cli [options] <command> [params]
+Send command to Paccoin Core
+.IP
+paccoin\-cli [options] \fB\-named\fR <command> [name=value] ... Send command to Paccoin Core (with named arguments)
+paccoin\-cli [options] help                List commands
+paccoin\-cli [options] help <command>      Get help for a command
+.SH OPTIONS
+.HP
+\-?
+.IP
+This help message
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-regtest\fR
+.IP
+Enter regression test mode, which uses a special chain in which blocks
+can be solved instantly. This is intended for regression testing
+tools and app development.
+.HP
+\fB\-named\fR
+.IP
+Pass named instead of positional arguments (default: false)
+.HP
+\fB\-rpcconnect=\fR<ip>
+.IP
+Send commands to node running on <ip> (default: 127.0.0.1)
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Connect to JSON\-RPC on <port> (default: 9998 or testnet: 19998)
+.HP
+\fB\-rpcwait\fR
+.IP
+Wait for RPC server to start
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcclienttimeout=\fR<n>
+.IP
+Timeout during HTTP requests (default: 900)
+.HP
+\fB\-stdin\fR
+.IP
+Read extra arguments from standard input, one per line until EOF/Ctrl\-D
+(recommended for sensitive information such as passphrases)
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoin-qt.1 b/doc/man/paccoin-qt.1
new file mode 100644
index 000000000000..b51f86b508ec
--- /dev/null
+++ b/doc/man/paccoin-qt.1
@@ -0,0 +1,715 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-QT "1" "November 2018" "paccoin-qt v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-qt \- manual page for paccoin-qt v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core version v0.13.0.0 (64\-bit)
+Usage:
+.IP
+paccoin\-qt [command\-line options]
+.SH OPTIONS
+.HP
+\-?
+.IP
+Print this help message and exit
+.HP
+\fB\-version\fR
+.IP
+Print version and exit
+.HP
+\fB\-alerts\fR
+.IP
+Receive and display P2P network alerts (default: 1)
+.HP
+\fB\-alertnotify=\fR<cmd>
+.IP
+Execute command when a relevant alert is received or we see a really
+long fork (%s in cmd is replaced by message)
+.HP
+\fB\-blocknotify=\fR<cmd>
+.IP
+Execute command when the best block changes (%s in cmd is replaced by
+block hash)
+.HP
+\fB\-assumevalid=\fR<hex>
+.IP
+If this block is in the chain assume that it and its ancestors are valid
+and potentially skip their script verification (0 to verify all,
+default:
+0000000000000024e26c7df7e46d673724d223cf4ca2b2adc21297cc095600f4,
+testnet:
+000000000118fa2f031efedf874adbe7fe6b023cdf9478e8e2400c2d505df30d)
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.HP
+\fB\-dbcache=\fR<n>
+.IP
+Set database cache size in megabytes (4 to 16384, default: 300)
+.HP
+\fB\-loadblock=\fR<file>
+.IP
+Imports blocks from external blk000??.dat file on startup
+.HP
+\fB\-maxorphantx=\fR<n>
+.IP
+Keep at most <n> unconnectable transactions in memory (default: 100)
+.HP
+\fB\-maxmempool=\fR<n>
+.IP
+Keep the transaction memory pool below <n> megabytes (default: 300)
+.HP
+\fB\-mempoolexpiry=\fR<n>
+.IP
+Do not keep transactions in the mempool longer than <n> hours (default:
+336)
+.HP
+\fB\-blockreconstructionextratxn=\fR<n>
+.IP
+Extra transactions to keep in memory for compact block reconstructions
+(default: 100)
+.HP
+\fB\-par=\fR<n>
+.IP
+Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
+leave that many cores free, default: 0)
+.HP
+\fB\-pid=\fR<file>
+.IP
+Specify pid file (default: paccoind.pid)
+.HP
+\fB\-prune=\fR<n>
+.IP
+Reduce storage requirements by enabling pruning (deleting) of old
+blocks. This allows the pruneblockchain RPC to be called to
+delete specific blocks, and enables automatic pruning of old
+blocks if a target size in MiB is provided. This mode is
+incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
+setting requires re\-downloading the entire blockchain. (default:
+0 = disable pruning blocks, 1 = allow manual pruning via RPC,
+>945 = automatically prune block files to stay under the
+specified target size in MiB)
+.HP
+\fB\-reindex\-chainstate\fR
+.IP
+Rebuild chain state from the currently indexed blocks
+.HP
+\fB\-reindex\fR
+.IP
+Rebuild chain state and block index from the blk*.dat files on disk
+.HP
+\fB\-sysperms\fR
+.IP
+Create new files with system default permissions, instead of umask 077
+(only effective with disabled wallet functionality)
+.HP
+\fB\-txindex\fR
+.IP
+Maintain a full transaction index, used by the getrawtransaction rpc
+call (default: 1)
+.HP
+\fB\-addressindex\fR
+.IP
+Maintain a full address index, used to query for the balance, txids and
+unspent outputs for addresses (default: 0)
+.HP
+\fB\-timestampindex\fR
+.IP
+Maintain a timestamp index for block hashes, used to query blocks hashes
+by a range of timestamps (default: 0)
+.HP
+\fB\-spentindex\fR
+.IP
+Maintain a full spent index, used to query the spending txid and input
+index for an outpoint (default: 0)
+.PP
+Connection options:
+.HP
+\fB\-addnode=\fR<ip>
+.IP
+Add a node to connect to and attempt to keep the connection open
+.HP
+\fB\-allowprivatenet\fR
+.IP
+Allow RFC1918 addresses to be relayed and connected to (default: 0)
+.HP
+\fB\-banscore=\fR<n>
+.IP
+Threshold for disconnecting misbehaving peers (default: 100)
+.HP
+\fB\-bantime=\fR<n>
+.IP
+Number of seconds to keep misbehaving peers from reconnecting (default:
+86400)
+.HP
+\fB\-bind=\fR<addr>
+.IP
+Bind to given address and always listen on it. Use [host]:port notation
+for IPv6
+.HP
+\fB\-connect=\fR<ip>
+.IP
+Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
+disable automatic connections
+.HP
+\fB\-discover\fR
+.IP
+Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
+or \fB\-proxy\fR)
+.HP
+\fB\-dns\fR
+.IP
+Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
+.HP
+\fB\-dnsseed\fR
+.IP
+Query for peer addresses via DNS lookup, if low on addresses (default: 1
+unless \fB\-connect\fR/\-noconnect)
+.HP
+\fB\-externalip=\fR<ip>
+.IP
+Specify your own public address
+.HP
+\fB\-forcednsseed\fR
+.IP
+Always query for peer addresses via DNS lookup (default: 0)
+.HP
+\fB\-listen\fR
+.IP
+Accept connections from outside (default: 1 if no \fB\-proxy\fR or
+\fB\-connect\fR/\-noconnect)
+.HP
+\fB\-listenonion\fR
+.IP
+Automatically create Tor hidden service (default: 1)
+.HP
+\fB\-maxconnections=\fR<n>
+.IP
+Maintain at most <n> connections to peers (temporary service connections
+excluded) (default: 125)
+.HP
+\fB\-maxreceivebuffer=\fR<n>
+.IP
+Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
+.HP
+\fB\-maxsendbuffer=\fR<n>
+.IP
+Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
+.HP
+\fB\-maxtimeadjustment\fR
+.IP
+Maximum allowed median peer time offset adjustment. Local perspective of
+time may be influenced by peers forward or backward by this
+amount. (default: 4200 seconds)
+.HP
+\fB\-onion=\fR<ip:port>
+.IP
+Use separate SOCKS5 proxy to reach peers via Tor hidden services
+(default: \fB\-proxy\fR)
+.HP
+\fB\-onlynet=\fR<net>
+.IP
+Only connect to nodes in network <net> (ipv4, ipv6 or onion)
+.HP
+\fB\-permitbaremultisig\fR
+.IP
+Relay non\-P2SH multisig (default: 1)
+.HP
+\fB\-peerbloomfilters\fR
+.IP
+Support filtering of blocks and transaction with bloom filters (default:
+1)
+.HP
+\fB\-port=\fR<port>
+.IP
+Listen for connections on <port> (default: 9999 or testnet: 19999)
+.HP
+\fB\-proxy=\fR<ip:port>
+.IP
+Connect through SOCKS5 proxy
+.HP
+\fB\-proxyrandomize\fR
+.IP
+Randomize credentials for every proxy connection. This enables Tor
+stream isolation (default: 1)
+.HP
+\fB\-seednode=\fR<ip>
+.IP
+Connect to a node to retrieve peer addresses, and disconnect
+.HP
+\fB\-timeout=\fR<n>
+.IP
+Specify connection timeout in milliseconds (minimum: 1, default: 5000)
+.HP
+\fB\-torcontrol=\fR<ip>:<port>
+.IP
+Tor control port to use if onion listening enabled (default:
+127.0.0.1:9051)
+.HP
+\fB\-torpassword=\fR<pass>
+.IP
+Tor control port password (default: empty)
+.HP
+\fB\-upnp\fR
+.IP
+Use UPnP to map the listening port (default: 0)
+.HP
+\fB\-whitebind=\fR<addr>
+.IP
+Bind to given address and whitelist peers connecting to it. Use
+[host]:port notation for IPv6
+.HP
+\fB\-whitelist=\fR<IP address or network>
+.IP
+Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
+CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
+times. Whitelisted peers cannot be DoS banned and their
+transactions are always relayed, even if they are already in the
+mempool, useful e.g. for a gateway
+.HP
+\fB\-whitelistrelay\fR
+.IP
+Accept relayed transactions received from whitelisted peers even when
+not relaying transactions (default: 1)
+.HP
+\fB\-whitelistforcerelay\fR
+.IP
+Force relay of transactions from whitelisted peers even if they violate
+local relay policy (default: 1)
+.HP
+\fB\-maxuploadtarget=\fR<n>
+.IP
+Tries to keep outbound traffic under the given target (in MiB per 24h),
+0 = no limit (default: 0)
+.PP
+Wallet options:
+.HP
+\fB\-disablewallet\fR
+.IP
+Do not load the wallet and disable wallet RPC calls
+.HP
+\fB\-keypool=\fR<n>
+.IP
+Set key pool size to <n> (default: 1000)
+.HP
+\fB\-fallbackfee=\fR<amt>
+.IP
+A fee rate (in PAC/kB) that will be used when fee estimation has
+insufficient data (default: 0.00001)
+.HP
+\fB\-mintxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+transaction creation (default: 0.00001)
+.HP
+\fB\-paytxfee=\fR<amt>
+.IP
+Fee (in PAC/kB) to add to transactions you send (default: 0.00)
+.HP
+\fB\-rescan\fR
+.IP
+Rescan the block chain for missing wallet transactions on startup
+.HP
+\fB\-salvagewallet\fR
+.IP
+Attempt to recover private keys from a corrupt wallet on startup
+.HP
+\fB\-spendzeroconfchange\fR
+.IP
+Spend unconfirmed change when sending transactions (default: 1)
+.HP
+\fB\-txconfirmtarget=\fR<n>
+.IP
+If paytxfee is not set, include enough fee so transactions begin
+confirmation on average within n blocks (default: 6)
+.HP
+\fB\-usehd\fR
+.IP
+Use hierarchical deterministic key generation (HD) after BIP39/BIP44.
+Only has effect during wallet creation/first start (default: 0)
+.HP
+\fB\-mnemonic\fR
+.IP
+User defined mnemonic for HD wallet (bip39). Only has effect during
+wallet creation/first start (default: randomly generated)
+.HP
+\fB\-mnemonicpassphrase\fR
+.IP
+User defined mnemonic passphrase for HD wallet (BIP39). Only has effect
+during wallet creation/first start (default: empty string)
+.HP
+\fB\-hdseed\fR
+.IP
+User defined seed for HD wallet (should be in hex). Only has effect
+during wallet creation/first start (default: randomly generated)
+.HP
+\fB\-upgradewallet\fR
+.IP
+Upgrade wallet to latest format on startup
+.HP
+\fB\-wallet=\fR<file>
+.IP
+Specify wallet file (within data directory) (default: wallet.dat)
+.HP
+\fB\-walletbroadcast\fR
+.IP
+Make the wallet broadcast transactions (default: 1)
+.HP
+\fB\-walletnotify=\fR<cmd>
+.IP
+Execute command when a wallet transaction changes (%s in cmd is replaced
+by TxID)
+.HP
+\fB\-zapwallettxes=\fR<mode>
+.IP
+Delete all wallet transactions and only recover those parts of the
+blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
+account owner and payment request information, 2 = drop tx meta
+data)
+.HP
+\fB\-createwalletbackups=\fR<n>
+.IP
+Number of automatic wallet backups (default: 10)
+.HP
+\fB\-walletbackupsdir=\fR<dir>
+.IP
+Specify full path to directory for automatic wallet backups (must exist)
+.HP
+\fB\-keepass\fR
+.IP
+Use KeePass 2 integration using KeePassHttp plugin (default: 0)
+.HP
+\fB\-keepassport=\fR<port>
+.IP
+Connect to KeePassHttp on port <port> (default: 19455)
+.HP
+\fB\-keepasskey=\fR<key>
+.IP
+KeePassHttp key for AES encrypted communication with KeePass
+.HP
+\fB\-keepassid=\fR<name>
+.IP
+KeePassHttp id for the established association
+.HP
+\fB\-keepassname=\fR<name>
+.IP
+Name to construct url for KeePass entry that stores the wallet
+passphrase
+.HP
+\fB\-windowtitle=\fR<name>
+.IP
+Wallet window title
+.PP
+ZeroMQ notification options:
+.HP
+\fB\-zmqpubhashblock=\fR<address>
+.IP
+Enable publish hash block in <address>
+.HP
+\fB\-zmqpubhashtx=\fR<address>
+.IP
+Enable publish hash transaction in <address>
+.HP
+\fB\-zmqpubhashtxlock=\fR<address>
+.IP
+Enable publish hash transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubhashgovernancevote=\fR<address>
+.IP
+Enable publish hash of governance votes in <address>
+.HP
+\fB\-zmqpubhashgovernanceobject=\fR<address>
+.IP
+Enable publish hash of governance objects (like proposals) in <address>
+.HP
+\fB\-zmqpubhashinstantsenddoublespend=\fR<address>
+.IP
+Enable publish transaction hashes of attempted InstantSend double spend
+in <address>
+.HP
+\fB\-zmqpubrawblock=\fR<address>
+.IP
+Enable publish raw block in <address>
+.HP
+\fB\-zmqpubrawtx=\fR<address>
+.IP
+Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxlock=\fR<address>
+.IP
+Enable publish raw transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubrawinstantsenddoublespend=\fR<address>
+.IP
+Enable publish raw transactions of attempted InstantSend double spend in
+<address>
+.PP
+Debugging/Testing options:
+.HP
+\fB\-uacomment=\fR<cmt>
+.IP
+Append comment to the user agent string
+.HP
+\fB\-debug=\fR<category>
+.IP
+Output debugging information (default: 0, supplying <category> is
+optional). If <category> is not supplied or if <category> = 1,
+output all debugging information.<category> can be: addrman,
+alert, bench, cmpctblock, coindb, db, http, leveldb, libevent,
+lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
+selectcoins, tor, zmq, paccoin (or specifically: gobject,
+instantsend, keepass, masternode, mnpayments, mnsync,
+privatesend, spork), qt.
+.HP
+\fB\-help\-debug\fR
+.IP
+Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
+.HP
+\fB\-logips\fR
+.IP
+Include IP addresses in debug output (default: 0)
+.HP
+\fB\-logtimestamps\fR
+.IP
+Prepend debug output with timestamp (default: 1)
+.HP
+\fB\-minrelaytxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+relaying, mining and transaction creation (default: 0.00001)
+.HP
+\fB\-maxtxfee=\fR<amt>
+.IP
+Maximum total fees (in PAC) to use in a single wallet transaction or
+raw transaction; setting this too low may abort large
+transactions (default: 0.10)
+.HP
+\fB\-printtoconsole\fR
+.IP
+Send trace/debug info to console instead of debug.log file
+.HP
+\fB\-printtodebuglog\fR
+.IP
+Send trace/debug info to debug.log file (default: 1)
+.HP
+\fB\-shrinkdebugfile\fR
+.IP
+Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-litemode=\fR<n>
+.IP
+Disable all Paccoin specific functionality (Masternodes, PrivateSend,
+InstantSend, Governance) (0\-1, default: 0)
+.HP
+\fB\-sporkaddr=\fR<hex>
+.IP
+Override spork address. Only useful for regtest and devnet. Using this
+on mainnet or testnet will ban you.
+.HP
+\fB\-minsporkkeys=\fR<n>
+.IP
+Overrides minimum spork signers to change spork value. Only useful for
+regtest and devnet. Using this on mainnet or testnet will ban
+you.
+.PP
+Masternode options:
+.HP
+\fB\-masternode=\fR<n>
+.IP
+Enable the client to act as a masternode (0\-1, default: 0)
+.HP
+\fB\-mnconf=\fR<file>
+.IP
+Specify masternode configuration file (default: masternode.conf)
+.HP
+\fB\-mnconflock=\fR<n>
+.IP
+Lock masternodes from masternode configuration file (default: 1)
+.HP
+\fB\-masternodeprivkey=\fR<n>
+.IP
+Set the masternode private key
+.PP
+PrivateSend options:
+.HP
+\fB\-enableprivatesend=\fR<n>
+.IP
+Enable use of automated PrivateSend for funds stored in this wallet
+(0\-1, default: 0)
+.HP
+\fB\-privatesendmultisession=\fR<n>
+.IP
+Enable multiple PrivateSend mixing sessions per block, experimental
+(0\-1, default: 0)
+.HP
+\fB\-privatesendsessions=\fR<n>
+.IP
+Use N separate masternodes in parallel to mix funds (1\-10, default: 4)
+.HP
+\fB\-privatesendrounds=\fR<n>
+.IP
+Use N separate masternodes for each denominated input to mix funds
+(2\-16, default: 4)
+.HP
+\fB\-privatesendamount=\fR<n>
+.IP
+Keep N PAC anonymized (2\-21000000, default: 1000)
+.HP
+\fB\-liquidityprovider=\fR<n>
+.IP
+Provide liquidity to PrivateSend by infrequently mixing coins on a
+continual basis (0\-100, default: 0, 1=very frequent, high fees,
+100=very infrequent, low fees)
+.PP
+InstantSend options:
+.HP
+\fB\-enableinstantsend=\fR<n>
+.IP
+Enable InstantSend, show confirmations for locked transactions (0\-1,
+default: 1)
+.HP
+\fB\-instantsendnotify=\fR<cmd>
+.IP
+Execute command when a wallet InstantSend transaction is successfully
+locked (%s in cmd is replaced by TxID)
+.PP
+Node relay options:
+.HP
+\fB\-bytespersigop\fR
+.IP
+Minimum bytes per sigop in transactions we relay and mine (default: 20)
+.HP
+\fB\-datacarrier\fR
+.IP
+Relay and mine data carrier transactions (default: 1)
+.HP
+\fB\-datacarriersize\fR
+.IP
+Maximum size of data in data carrier transactions we relay and mine
+(default: 83)
+.PP
+Block creation options:
+.HP
+\fB\-blockmaxsize=\fR<n>
+.IP
+Set maximum block size in bytes (default: 2000000)
+.HP
+\fB\-blockprioritysize=\fR<n>
+.IP
+Set maximum size of high\-priority/low\-fee transactions in bytes
+(default: 10000)
+.HP
+\fB\-blockmintxfee=\fR<amt>
+.IP
+Set lowest fee rate (in PAC/kB) for transactions to be included in
+block creation. (default: 0.00001)
+.PP
+RPC server options:
+.HP
+\fB\-server\fR
+.IP
+Accept command line and JSON\-RPC commands
+.HP
+\fB\-rest\fR
+.IP
+Accept public REST requests (default: 0)
+.HP
+\fB\-rpcbind=\fR<addr>
+.IP
+Bind to given address to listen for JSON\-RPC connections. Use
+[host]:port notation for IPv6. This option can be specified
+multiple times (default: bind to all interfaces)
+.HP
+\fB\-rpccookiefile=\fR<loc>
+.IP
+Location of the auth cookie (default: data dir)
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcauth=\fR<userpw>
+.IP
+Username and hashed password for JSON\-RPC connections. The field
+<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
+canonical python script is included in share/rpcuser. The client
+then connects normally using the
+rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
+option can be specified multiple times
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Listen for JSON\-RPC connections on <port> (default: 9998 or testnet:
+19998)
+.HP
+\fB\-rpcallowip=\fR<ip>
+.IP
+Allow JSON\-RPC connections from specified source. Valid for <ip> are a
+single IP (e.g. 1.2.3.4), a network/netmask (e.g.
+1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
+option can be specified multiple times
+.HP
+\fB\-rpcthreads=\fR<n>
+.IP
+Set the number of threads to service RPC calls (default: 4)
+.PP
+UI Options:
+.HP
+\fB\-choosedatadir\fR
+.IP
+Choose data directory on startup (default: 0)
+.HP
+\fB\-lang=\fR<lang>
+.IP
+Set language, for example "de_DE" (default: system locale)
+.HP
+\fB\-min\fR
+.IP
+Start minimized
+.HP
+\fB\-rootcertificates=\fR<file>
+.IP
+Set SSL root certificates for payment request (default: \fB\-system\-\fR)
+.HP
+\fB\-splash\fR
+.IP
+Show splash screen on startup (default: 1)
+.HP
+\fB\-resetguisettings\fR
+.IP
+Reset all settings changed in the GUI
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoin-tx.1 b/doc/man/paccoin-tx.1
new file mode 100644
index 000000000000..1ad1e78a9bc0
--- /dev/null
+++ b/doc/man/paccoin-tx.1
@@ -0,0 +1,125 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACCOIN-TX "1" "November 2018" "paccoin-tx v0.13.0.0" "User Commands"
+.SH NAME
+paccoin-tx \- manual page for paccoin-tx v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core paccoin\-tx utility version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoin\-tx [options] <hex\-tx> [commands]
+Update hex\-encoded paccoin transaction
+.TP
+paccoin\-tx [options] \fB\-create\fR [commands]
+Create hex\-encoded paccoin transaction
+.SH OPTIONS
+.HP
+\-?
+.IP
+This help message
+.HP
+\fB\-create\fR
+.IP
+Create new, empty TX.
+.HP
+\fB\-json\fR
+.IP
+Select JSON output
+.HP
+\fB\-txid\fR
+.IP
+Output only the hex\-encoded transaction id of the resultant transaction.
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-regtest\fR
+.IP
+Enter regression test mode, which uses a special chain in which blocks
+can be solved instantly. This is intended for regression testing
+tools and app development.
+.PP
+Commands:
+.IP
+delin=N
+.IP
+Delete input N from TX
+.IP
+delout=N
+.IP
+Delete output N from TX
+.IP
+in=TXID:VOUT(:SEQUENCE_NUMBER)
+.IP
+Add input to TX
+.IP
+locktime=N
+.IP
+Set TX lock time to N
+.IP
+nversion=N
+.IP
+Set TX version to N
+.IP
+outaddr=VALUE:ADDRESS
+.IP
+Add address\-based output to TX
+.IP
+outpubkey=VALUE:PUBKEY[:FLAGS]
+.IP
+Add pay\-to\-pubkey output to TX. Optionally add the "S" flag to wrap the
+output in a pay\-to\-script\-hash.
+.IP
+outdata=[VALUE:]DATA
+.IP
+Add data\-based output to TX
+.IP
+outscript=VALUE:SCRIPT[:FLAGS]
+.IP
+Add raw script output to TX. Optionally add the "S" flag to wrap the
+output in a pay\-to\-script\-hash.
+.IP
+outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
+.IP
+Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
+Optionally add the "S" flag to wrap the output in a
+pay\-to\-script\-hash.
+.IP
+sign=SIGHASH\-FLAGS
+.IP
+Add zero or more signatures to transaction. This command requires JSON
+registers:prevtxs=JSON object, privatekeys=JSON object. See
+signrawtransaction docs for format of sighash flags, JSON
+objects.
+.PP
+Register Commands:
+.IP
+load=NAME:FILENAME
+.IP
+Load JSON file FILENAME into register NAME
+.IP
+set=NAME:JSON\-STRING
+.IP
+Set register NAME to given JSON\-STRING
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.
diff --git a/doc/man/paccoind.1 b/doc/man/paccoind.1
new file mode 100644
index 000000000000..f63e83436d3d
--- /dev/null
+++ b/doc/man/paccoind.1
@@ -0,0 +1,690 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.8.
+.TH PACD "1" "November 2018" "paccoind v0.13.0.0" "User Commands"
+.SH NAME
+paccoind \- manual page for paccoind v0.13.0.0
+.SH DESCRIPTION
+Paccoin Core Daemon version v0.13.0.0
+.SS "Usage:"
+.TP
+paccoind [options]
+Start Paccoin Core Daemon
+.SH OPTIONS
+.HP
+\-?
+.IP
+Print this help message and exit
+.HP
+\fB\-version\fR
+.IP
+Print version and exit
+.HP
+\fB\-alerts\fR
+.IP
+Receive and display P2P network alerts (default: 1)
+.HP
+\fB\-alertnotify=\fR<cmd>
+.IP
+Execute command when a relevant alert is received or we see a really
+long fork (%s in cmd is replaced by message)
+.HP
+\fB\-blocknotify=\fR<cmd>
+.IP
+Execute command when the best block changes (%s in cmd is replaced by
+block hash)
+.HP
+\fB\-assumevalid=\fR<hex>
+.IP
+If this block is in the chain assume that it and its ancestors are valid
+and potentially skip their script verification (0 to verify all,
+default:
+0000000000000024e26c7df7e46d673724d223cf4ca2b2adc21297cc095600f4,
+testnet:
+000000000118fa2f031efedf874adbe7fe6b023cdf9478e8e2400c2d505df30d)
+.HP
+\fB\-conf=\fR<file>
+.IP
+Specify configuration file (default: paccoin.conf)
+.HP
+\fB\-daemon\fR
+.IP
+Run in the background as a daemon and accept commands
+.HP
+\fB\-datadir=\fR<dir>
+.IP
+Specify data directory
+.HP
+\fB\-dbcache=\fR<n>
+.IP
+Set database cache size in megabytes (4 to 16384, default: 300)
+.HP
+\fB\-loadblock=\fR<file>
+.IP
+Imports blocks from external blk000??.dat file on startup
+.HP
+\fB\-maxorphantx=\fR<n>
+.IP
+Keep at most <n> unconnectable transactions in memory (default: 100)
+.HP
+\fB\-maxmempool=\fR<n>
+.IP
+Keep the transaction memory pool below <n> megabytes (default: 300)
+.HP
+\fB\-mempoolexpiry=\fR<n>
+.IP
+Do not keep transactions in the mempool longer than <n> hours (default:
+336)
+.HP
+\fB\-blockreconstructionextratxn=\fR<n>
+.IP
+Extra transactions to keep in memory for compact block reconstructions
+(default: 100)
+.HP
+\fB\-par=\fR<n>
+.IP
+Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
+leave that many cores free, default: 0)
+.HP
+\fB\-pid=\fR<file>
+.IP
+Specify pid file (default: paccoind.pid)
+.HP
+\fB\-prune=\fR<n>
+.IP
+Reduce storage requirements by enabling pruning (deleting) of old
+blocks. This allows the pruneblockchain RPC to be called to
+delete specific blocks, and enables automatic pruning of old
+blocks if a target size in MiB is provided. This mode is
+incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
+setting requires re\-downloading the entire blockchain. (default:
+0 = disable pruning blocks, 1 = allow manual pruning via RPC,
+>945 = automatically prune block files to stay under the
+specified target size in MiB)
+.HP
+\fB\-reindex\-chainstate\fR
+.IP
+Rebuild chain state from the currently indexed blocks
+.HP
+\fB\-reindex\fR
+.IP
+Rebuild chain state and block index from the blk*.dat files on disk
+.HP
+\fB\-sysperms\fR
+.IP
+Create new files with system default permissions, instead of umask 077
+(only effective with disabled wallet functionality)
+.HP
+\fB\-txindex\fR
+.IP
+Maintain a full transaction index, used by the getrawtransaction rpc
+call (default: 1)
+.HP
+\fB\-addressindex\fR
+.IP
+Maintain a full address index, used to query for the balance, txids and
+unspent outputs for addresses (default: 0)
+.HP
+\fB\-timestampindex\fR
+.IP
+Maintain a timestamp index for block hashes, used to query blocks hashes
+by a range of timestamps (default: 0)
+.HP
+\fB\-spentindex\fR
+.IP
+Maintain a full spent index, used to query the spending txid and input
+index for an outpoint (default: 0)
+.PP
+Connection options:
+.HP
+\fB\-addnode=\fR<ip>
+.IP
+Add a node to connect to and attempt to keep the connection open
+.HP
+\fB\-allowprivatenet\fR
+.IP
+Allow RFC1918 addresses to be relayed and connected to (default: 0)
+.HP
+\fB\-banscore=\fR<n>
+.IP
+Threshold for disconnecting misbehaving peers (default: 100)
+.HP
+\fB\-bantime=\fR<n>
+.IP
+Number of seconds to keep misbehaving peers from reconnecting (default:
+86400)
+.HP
+\fB\-bind=\fR<addr>
+.IP
+Bind to given address and always listen on it. Use [host]:port notation
+for IPv6
+.HP
+\fB\-connect=\fR<ip>
+.IP
+Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
+disable automatic connections
+.HP
+\fB\-discover\fR
+.IP
+Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
+or \fB\-proxy\fR)
+.HP
+\fB\-dns\fR
+.IP
+Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
+.HP
+\fB\-dnsseed\fR
+.IP
+Query for peer addresses via DNS lookup, if low on addresses (default: 1
+unless \fB\-connect\fR/\-noconnect)
+.HP
+\fB\-externalip=\fR<ip>
+.IP
+Specify your own public address
+.HP
+\fB\-forcednsseed\fR
+.IP
+Always query for peer addresses via DNS lookup (default: 0)
+.HP
+\fB\-listen\fR
+.IP
+Accept connections from outside (default: 1 if no \fB\-proxy\fR or
+\fB\-connect\fR/\-noconnect)
+.HP
+\fB\-listenonion\fR
+.IP
+Automatically create Tor hidden service (default: 1)
+.HP
+\fB\-maxconnections=\fR<n>
+.IP
+Maintain at most <n> connections to peers (temporary service connections
+excluded) (default: 125)
+.HP
+\fB\-maxreceivebuffer=\fR<n>
+.IP
+Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
+.HP
+\fB\-maxsendbuffer=\fR<n>
+.IP
+Maximum per\-connection send buffer, <n>*1000 bytes (default: 1000)
+.HP
+\fB\-maxtimeadjustment\fR
+.IP
+Maximum allowed median peer time offset adjustment. Local perspective of
+time may be influenced by peers forward or backward by this
+amount. (default: 4200 seconds)
+.HP
+\fB\-onion=\fR<ip:port>
+.IP
+Use separate SOCKS5 proxy to reach peers via Tor hidden services
+(default: \fB\-proxy\fR)
+.HP
+\fB\-onlynet=\fR<net>
+.IP
+Only connect to nodes in network <net> (ipv4, ipv6 or onion)
+.HP
+\fB\-permitbaremultisig\fR
+.IP
+Relay non\-P2SH multisig (default: 1)
+.HP
+\fB\-peerbloomfilters\fR
+.IP
+Support filtering of blocks and transaction with bloom filters (default:
+1)
+.HP
+\fB\-port=\fR<port>
+.IP
+Listen for connections on <port> (default: 9999 or testnet: 19999)
+.HP
+\fB\-proxy=\fR<ip:port>
+.IP
+Connect through SOCKS5 proxy
+.HP
+\fB\-proxyrandomize\fR
+.IP
+Randomize credentials for every proxy connection. This enables Tor
+stream isolation (default: 1)
+.HP
+\fB\-seednode=\fR<ip>
+.IP
+Connect to a node to retrieve peer addresses, and disconnect
+.HP
+\fB\-timeout=\fR<n>
+.IP
+Specify connection timeout in milliseconds (minimum: 1, default: 5000)
+.HP
+\fB\-torcontrol=\fR<ip>:<port>
+.IP
+Tor control port to use if onion listening enabled (default:
+127.0.0.1:9051)
+.HP
+\fB\-torpassword=\fR<pass>
+.IP
+Tor control port password (default: empty)
+.HP
+\fB\-upnp\fR
+.IP
+Use UPnP to map the listening port (default: 0)
+.HP
+\fB\-whitebind=\fR<addr>
+.IP
+Bind to given address and whitelist peers connecting to it. Use
+[host]:port notation for IPv6
+.HP
+\fB\-whitelist=\fR<IP address or network>
+.IP
+Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
+CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
+times. Whitelisted peers cannot be DoS banned and their
+transactions are always relayed, even if they are already in the
+mempool, useful e.g. for a gateway
+.HP
+\fB\-whitelistrelay\fR
+.IP
+Accept relayed transactions received from whitelisted peers even when
+not relaying transactions (default: 1)
+.HP
+\fB\-whitelistforcerelay\fR
+.IP
+Force relay of transactions from whitelisted peers even if they violate
+local relay policy (default: 1)
+.HP
+\fB\-maxuploadtarget=\fR<n>
+.IP
+Tries to keep outbound traffic under the given target (in MiB per 24h),
+0 = no limit (default: 0)
+.PP
+Wallet options:
+.HP
+\fB\-disablewallet\fR
+.IP
+Do not load the wallet and disable wallet RPC calls
+.HP
+\fB\-keypool=\fR<n>
+.IP
+Set key pool size to <n> (default: 1000)
+.HP
+\fB\-fallbackfee=\fR<amt>
+.IP
+A fee rate (in PAC/kB) that will be used when fee estimation has
+insufficient data (default: 0.00001)
+.HP
+\fB\-mintxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+transaction creation (default: 0.00001)
+.HP
+\fB\-paytxfee=\fR<amt>
+.IP
+Fee (in PAC/kB) to add to transactions you send (default: 0.00)
+.HP
+\fB\-rescan\fR
+.IP
+Rescan the block chain for missing wallet transactions on startup
+.HP
+\fB\-salvagewallet\fR
+.IP
+Attempt to recover private keys from a corrupt wallet on startup
+.HP
+\fB\-spendzeroconfchange\fR
+.IP
+Spend unconfirmed change when sending transactions (default: 1)
+.HP
+\fB\-txconfirmtarget=\fR<n>
+.IP
+If paytxfee is not set, include enough fee so transactions begin
+confirmation on average within n blocks (default: 6)
+.HP
+\fB\-usehd\fR
+.IP
+Use hierarchical deterministic key generation (HD) after BIP39/BIP44.
+Only has effect during wallet creation/first start (default: 0)
+.HP
+\fB\-mnemonic\fR
+.IP
+User defined mnemonic for HD wallet (bip39). Only has effect during
+wallet creation/first start (default: randomly generated)
+.HP
+\fB\-mnemonicpassphrase\fR
+.IP
+User defined mnemonic passphrase for HD wallet (BIP39). Only has effect
+during wallet creation/first start (default: empty string)
+.HP
+\fB\-hdseed\fR
+.IP
+User defined seed for HD wallet (should be in hex). Only has effect
+during wallet creation/first start (default: randomly generated)
+.HP
+\fB\-upgradewallet\fR
+.IP
+Upgrade wallet to latest format on startup
+.HP
+\fB\-wallet=\fR<file>
+.IP
+Specify wallet file (within data directory) (default: wallet.dat)
+.HP
+\fB\-walletbroadcast\fR
+.IP
+Make the wallet broadcast transactions (default: 1)
+.HP
+\fB\-walletnotify=\fR<cmd>
+.IP
+Execute command when a wallet transaction changes (%s in cmd is replaced
+by TxID)
+.HP
+\fB\-zapwallettxes=\fR<mode>
+.IP
+Delete all wallet transactions and only recover those parts of the
+blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
+account owner and payment request information, 2 = drop tx meta
+data)
+.HP
+\fB\-createwalletbackups=\fR<n>
+.IP
+Number of automatic wallet backups (default: 10)
+.HP
+\fB\-walletbackupsdir=\fR<dir>
+.IP
+Specify full path to directory for automatic wallet backups (must exist)
+.HP
+\fB\-keepass\fR
+.IP
+Use KeePass 2 integration using KeePassHttp plugin (default: 0)
+.HP
+\fB\-keepassport=\fR<port>
+.IP
+Connect to KeePassHttp on port <port> (default: 19455)
+.HP
+\fB\-keepasskey=\fR<key>
+.IP
+KeePassHttp key for AES encrypted communication with KeePass
+.HP
+\fB\-keepassid=\fR<name>
+.IP
+KeePassHttp id for the established association
+.HP
+\fB\-keepassname=\fR<name>
+.IP
+Name to construct url for KeePass entry that stores the wallet
+passphrase
+.PP
+ZeroMQ notification options:
+.HP
+\fB\-zmqpubhashblock=\fR<address>
+.IP
+Enable publish hash block in <address>
+.HP
+\fB\-zmqpubhashtx=\fR<address>
+.IP
+Enable publish hash transaction in <address>
+.HP
+\fB\-zmqpubhashtxlock=\fR<address>
+.IP
+Enable publish hash transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubhashgovernancevote=\fR<address>
+.IP
+Enable publish hash of governance votes in <address>
+.HP
+\fB\-zmqpubhashgovernanceobject=\fR<address>
+.IP
+Enable publish hash of governance objects (like proposals) in <address>
+.HP
+\fB\-zmqpubhashinstantsenddoublespend=\fR<address>
+.IP
+Enable publish transaction hashes of attempted InstantSend double spend
+in <address>
+.HP
+\fB\-zmqpubrawblock=\fR<address>
+.IP
+Enable publish raw block in <address>
+.HP
+\fB\-zmqpubrawtx=\fR<address>
+.IP
+Enable publish raw transaction in <address>
+.HP
+\fB\-zmqpubrawtxlock=\fR<address>
+.IP
+Enable publish raw transaction (locked via InstantSend) in <address>
+.HP
+\fB\-zmqpubrawinstantsenddoublespend=\fR<address>
+.IP
+Enable publish raw transactions of attempted InstantSend double spend in
+<address>
+.PP
+Debugging/Testing options:
+.HP
+\fB\-uacomment=\fR<cmt>
+.IP
+Append comment to the user agent string
+.HP
+\fB\-debug=\fR<category>
+.IP
+Output debugging information (default: 0, supplying <category> is
+optional). If <category> is not supplied or if <category> = 1,
+output all debugging information.<category> can be: addrman,
+alert, bench, cmpctblock, coindb, db, http, leveldb, libevent,
+lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
+selectcoins, tor, zmq, paccoin (or specifically: gobject,
+instantsend, keepass, masternode, mnpayments, mnsync,
+privatesend, spork).
+.HP
+\fB\-help\-debug\fR
+.IP
+Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR)
+.HP
+\fB\-logips\fR
+.IP
+Include IP addresses in debug output (default: 0)
+.HP
+\fB\-logtimestamps\fR
+.IP
+Prepend debug output with timestamp (default: 1)
+.HP
+\fB\-minrelaytxfee=\fR<amt>
+.IP
+Fees (in PAC/kB) smaller than this are considered zero fee for
+relaying, mining and transaction creation (default: 0.00001)
+.HP
+\fB\-maxtxfee=\fR<amt>
+.IP
+Maximum total fees (in PAC) to use in a single wallet transaction or
+raw transaction; setting this too low may abort large
+transactions (default: 0.10)
+.HP
+\fB\-printtoconsole\fR
+.IP
+Send trace/debug info to console instead of debug.log file
+.HP
+\fB\-printtodebuglog\fR
+.IP
+Send trace/debug info to debug.log file (default: 1)
+.HP
+\fB\-shrinkdebugfile\fR
+.IP
+Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
+.PP
+Chain selection options:
+.HP
+\fB\-testnet\fR
+.IP
+Use the test chain
+.HP
+\fB\-devnet=\fR<name>
+.IP
+Use devnet chain with provided name
+.HP
+\fB\-litemode=\fR<n>
+.IP
+Disable all Paccoin specific functionality (Masternodes, PrivateSend,
+InstantSend, Governance) (0\-1, default: 0)
+.HP
+\fB\-sporkaddr=\fR<hex>
+.IP
+Override spork address. Only useful for regtest and devnet. Using this
+on mainnet or testnet will ban you.
+.HP
+\fB\-minsporkkeys=\fR<n>
+.IP
+Overrides minimum spork signers to change spork value. Only useful for
+regtest and devnet. Using this on mainnet or testnet will ban
+you.
+.PP
+Masternode options:
+.HP
+\fB\-masternode=\fR<n>
+.IP
+Enable the client to act as a masternode (0\-1, default: 0)
+.HP
+\fB\-mnconf=\fR<file>
+.IP
+Specify masternode configuration file (default: masternode.conf)
+.HP
+\fB\-mnconflock=\fR<n>
+.IP
+Lock masternodes from masternode configuration file (default: 1)
+.HP
+\fB\-masternodeprivkey=\fR<n>
+.IP
+Set the masternode private key
+.PP
+PrivateSend options:
+.HP
+\fB\-enableprivatesend=\fR<n>
+.IP
+Enable use of automated PrivateSend for funds stored in this wallet
+(0\-1, default: 0)
+.HP
+\fB\-privatesendmultisession=\fR<n>
+.IP
+Enable multiple PrivateSend mixing sessions per block, experimental
+(0\-1, default: 0)
+.HP
+\fB\-privatesendsessions=\fR<n>
+.IP
+Use N separate masternodes in parallel to mix funds (1\-10, default: 4)
+.HP
+\fB\-privatesendrounds=\fR<n>
+.IP
+Use N separate masternodes for each denominated input to mix funds
+(2\-16, default: 4)
+.HP
+\fB\-privatesendamount=\fR<n>
+.IP
+Keep N PAC anonymized (2\-21000000, default: 1000)
+.HP
+\fB\-liquidityprovider=\fR<n>
+.IP
+Provide liquidity to PrivateSend by infrequently mixing coins on a
+continual basis (0\-100, default: 0, 1=very frequent, high fees,
+100=very infrequent, low fees)
+.PP
+InstantSend options:
+.HP
+\fB\-enableinstantsend=\fR<n>
+.IP
+Enable InstantSend, show confirmations for locked transactions (0\-1,
+default: 1)
+.HP
+\fB\-instantsendnotify=\fR<cmd>
+.IP
+Execute command when a wallet InstantSend transaction is successfully
+locked (%s in cmd is replaced by TxID)
+.PP
+Node relay options:
+.HP
+\fB\-bytespersigop\fR
+.IP
+Minimum bytes per sigop in transactions we relay and mine (default: 20)
+.HP
+\fB\-datacarrier\fR
+.IP
+Relay and mine data carrier transactions (default: 1)
+.HP
+\fB\-datacarriersize\fR
+.IP
+Maximum size of data in data carrier transactions we relay and mine
+(default: 83)
+.PP
+Block creation options:
+.HP
+\fB\-blockmaxsize=\fR<n>
+.IP
+Set maximum block size in bytes (default: 2000000)
+.HP
+\fB\-blockprioritysize=\fR<n>
+.IP
+Set maximum size of high\-priority/low\-fee transactions in bytes
+(default: 10000)
+.HP
+\fB\-blockmintxfee=\fR<amt>
+.IP
+Set lowest fee rate (in PAC/kB) for transactions to be included in
+block creation. (default: 0.00001)
+.PP
+RPC server options:
+.HP
+\fB\-server\fR
+.IP
+Accept command line and JSON\-RPC commands
+.HP
+\fB\-rest\fR
+.IP
+Accept public REST requests (default: 0)
+.HP
+\fB\-rpcbind=\fR<addr>
+.IP
+Bind to given address to listen for JSON\-RPC connections. Use
+[host]:port notation for IPv6. This option can be specified
+multiple times (default: bind to all interfaces)
+.HP
+\fB\-rpccookiefile=\fR<loc>
+.IP
+Location of the auth cookie (default: data dir)
+.HP
+\fB\-rpcuser=\fR<user>
+.IP
+Username for JSON\-RPC connections
+.HP
+\fB\-rpcpassword=\fR<pw>
+.IP
+Password for JSON\-RPC connections
+.HP
+\fB\-rpcauth=\fR<userpw>
+.IP
+Username and hashed password for JSON\-RPC connections. The field
+<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
+canonical python script is included in share/rpcuser. The client
+then connects normally using the
+rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
+option can be specified multiple times
+.HP
+\fB\-rpcport=\fR<port>
+.IP
+Listen for JSON\-RPC connections on <port> (default: 9998 or testnet:
+19998)
+.HP
+\fB\-rpcallowip=\fR<ip>
+.IP
+Allow JSON\-RPC connections from specified source. Valid for <ip> are a
+single IP (e.g. 1.2.3.4), a network/netmask (e.g.
+1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
+option can be specified multiple times
+.HP
+\fB\-rpcthreads=\fR<n>
+.IP
+Set the number of threads to service RPC calls (default: 4)
+.SH COPYRIGHT
+Copyright (C) 2018-2019 The Paccoin Core developers
+Copyright (C) 2014-2018 The Dash Core developers
+Copyright (C) 2009-2018 The Bitcoin Core developers
+
+Please contribute if you find Paccoin Core useful. Visit <https://paccoin.net> for
+further information about the software.
+The source code is available from <https://github.com/PACCommunity/PAC>.
+
+This is experimental software.
+Distributed under the MIT software license, see the accompanying file COPYING
+or <https://opensource.org/licenses/MIT>
+
+This product includes software developed by the OpenSSL Project for use in the
+OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
+Eric Young and UPnP software written by Thomas Bernard.

From b9616f2133b5a6d91e74e99be42a59fb875bb04c Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:09:46 -0600
Subject: [PATCH 116/225] add patches

---
 .../patches/native_biplist/sorted_list.patch  | 29 ++++++++
 .../patches/native_mac_alias/python3.patch    | 72 +++++++++++++++++++
 .../patches/qt/fix-cocoahelpers-macos.patch   | 70 ++++++++++++++++++
 depends/patches/qt/fix_qt_configure.patch     | 11 +++
 depends/patches/qt/fix_qt_pkgconfig.patch     | 11 +++
 depends/patches/qt/qfixed-coretext.patch      | 34 +++++++++
 ...d3957725acd34aa8b8d011585812f3369411.patch | 22 ++++++
 ...45c12e0b100cd38acecc16ce7db02905e27c.patch | 22 ++++++
 8 files changed, 271 insertions(+)
 create mode 100644 depends/patches/native_biplist/sorted_list.patch
 create mode 100644 depends/patches/native_mac_alias/python3.patch
 create mode 100644 depends/patches/qt/fix-cocoahelpers-macos.patch
 create mode 100644 depends/patches/qt/fix_qt_configure.patch
 create mode 100644 depends/patches/qt/fix_qt_pkgconfig.patch
 create mode 100644 depends/patches/qt/qfixed-coretext.patch
 create mode 100644 depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
 create mode 100644 depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch

diff --git a/depends/patches/native_biplist/sorted_list.patch b/depends/patches/native_biplist/sorted_list.patch
new file mode 100644
index 000000000000..89abdb1b71ff
--- /dev/null
+++ b/depends/patches/native_biplist/sorted_list.patch
@@ -0,0 +1,29 @@
+--- a/biplist/__init__.py	2014-10-26 19:03:11.000000000 +0000
++++ b/biplist/__init__.py	2016-07-19 19:30:17.663521999 +0000
+@@ -541,7 +541,7 @@
+             return HashableWrapper(n)
+         elif isinstance(root, dict):
+             n = {}
+-            for key, value in iteritems(root):
++            for key, value in sorted(iteritems(root)):
+                 n[self.wrapRoot(key)] = self.wrapRoot(value)
+             return HashableWrapper(n)
+         elif isinstance(root, list):
+@@ -616,7 +616,7 @@
+             elif isinstance(obj, dict):
+                 size = proc_size(len(obj))
+                 self.incrementByteCount('dictBytes', incr=1+size)
+-                for key, value in iteritems(obj):
++                for key, value in sorted(iteritems(obj)):
+                     check_key(key)
+                     self.computeOffsets(key, asReference=True)
+                     self.computeOffsets(value, asReference=True)
+@@ -714,7 +714,7 @@
+                 keys = []
+                 values = []
+                 objectsToWrite = []
+-                for key, value in iteritems(obj):
++                for key, value in sorted(iteritems(obj)):
+                     keys.append(key)
+                     values.append(value)
+                 for key in keys:
diff --git a/depends/patches/native_mac_alias/python3.patch b/depends/patches/native_mac_alias/python3.patch
new file mode 100644
index 000000000000..1a32340be5b1
--- /dev/null
+++ b/depends/patches/native_mac_alias/python3.patch
@@ -0,0 +1,72 @@
+diff -dur a/mac_alias/alias.py b/mac_alias/alias.py
+--- a/mac_alias/alias.py	2015-10-19 12:12:48.000000000 +0200
++++ b/mac_alias/alias.py	2016-04-03 12:13:12.037159417 +0200
+@@ -243,10 +243,10 @@
+         alias = Alias()
+         alias.appinfo = appinfo
+             
+-        alias.volume = VolumeInfo (volname.replace('/',':'),
++        alias.volume = VolumeInfo (volname.decode().replace('/',':'),
+                                    voldate, fstype, disktype,
+                                    volattrs, volfsid)
+-        alias.target = TargetInfo (kind, filename.replace('/',':'),
++        alias.target = TargetInfo (kind, filename.decode().replace('/',':'),
+                                    folder_cnid, cnid,
+                                    crdate, creator_code, type_code)
+         alias.target.levels_from = levels_from
+@@ -261,9 +261,9 @@
+                 b.read(1)
+ 
+             if tag == TAG_CARBON_FOLDER_NAME:
+-                alias.target.folder_name = value.replace('/',':')
++                alias.target.folder_name = value.decode().replace('/',':')
+             elif tag == TAG_CNID_PATH:
+-                alias.target.cnid_path = struct.unpack(b'>%uI' % (length // 4),
++                alias.target.cnid_path = struct.unpack('>%uI' % (length // 4),
+                                                            value)
+             elif tag == TAG_CARBON_PATH:
+                 alias.target.carbon_path = value
+@@ -298,9 +298,9 @@
+                 alias.target.creation_date \
+                     = mac_epoch + datetime.timedelta(seconds=seconds)
+             elif tag == TAG_POSIX_PATH:
+-                alias.target.posix_path = value
++                alias.target.posix_path = value.decode()
+             elif tag == TAG_POSIX_PATH_TO_MOUNTPOINT:
+-                alias.volume.posix_path = value
++                alias.volume.posix_path = value.decode()
+             elif tag == TAG_RECURSIVE_ALIAS_OF_DISK_IMAGE:
+                 alias.volume.disk_image_alias = Alias.from_bytes(value)
+             elif tag == TAG_USER_HOME_LENGTH_PREFIX:
+@@ -422,13 +422,13 @@
+         #       (so doing so is ridiculous, and nothing could rely on it).
+         b.write(struct.pack(b'>h28pI2shI64pII4s4shhI2s10s',
+                             self.target.kind,
+-                            carbon_volname, voldate,
++                            carbon_volname, int(voldate),
+                             self.volume.fs_type,
+                             self.volume.disk_type,
+                             self.target.folder_cnid,
+                             carbon_filename,
+                             self.target.cnid,
+-                            crdate,
++                            int(crdate),
+                             self.target.creator_code,
+                             self.target.type_code,
+                             self.target.levels_from,
+@@ -449,12 +449,12 @@
+ 
+         b.write(struct.pack(b'>hhQhhQ',
+                 TAG_HIGH_RES_VOLUME_CREATION_DATE,
+-                8, long(voldate * 65536),
++                8, int(voldate * 65536),
+                 TAG_HIGH_RES_CREATION_DATE,
+-                8, long(crdate * 65536)))
++                8, int(crdate * 65536)))
+ 
+         if self.target.cnid_path:
+-            cnid_path = struct.pack(b'>%uI' % len(self.target.cnid_path),
++            cnid_path = struct.pack('>%uI' % len(self.target.cnid_path),
+                                     *self.target.cnid_path)
+             b.write(struct.pack(b'>hh', TAG_CNID_PATH,
+                                  len(cnid_path)))
diff --git a/depends/patches/qt/fix-cocoahelpers-macos.patch b/depends/patches/qt/fix-cocoahelpers-macos.patch
new file mode 100644
index 000000000000..1b43a9eff8fe
--- /dev/null
+++ b/depends/patches/qt/fix-cocoahelpers-macos.patch
@@ -0,0 +1,70 @@
+From 0707260a4f8e64dfadf1df5f935e74cabb7c7d27 Mon Sep 17 00:00:00 2001
+From: Jake Petroules <jake.petroules@qt.io>
+Date: Sun, 1 Oct 2017 21:48:17 -0700
+Subject: [PATCH] Fix build error with macOS 10.13 SDK
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Several of these variables/macros are no longer defined. We didn't
+validate the preconditions on iOS, tvOS, or watchOS, so no
+need to bother validating them on macOS either. Nor did we check the
+OSStatus result on any platform anyways.
+
+Task-number: QTBUG-63401
+Change-Id: Ife64dff767cf6d3f4b839fc53ec486181c176bf3
+(cherry-picked from 861544583511d4e6f7745d2339b26ff1cd44132b)
+Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
+Reviewed-by: Tor Arne VestbÃ¸ <tor.arne.vestbo@qt.io>
+---
+ src/plugins/platforms/cocoa/qcocoahelpers.h  |  2 +-
+ src/plugins/platforms/cocoa/qcocoahelpers.mm | 13 +------------
+ 2 files changed, 2 insertions(+), 13 deletions(-)
+
+diff --git old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
+index bbb3793..74371d5 100644
+--- old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
++++ new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.h
+@@ -80,7 +80,7 @@ QColor qt_mac_toQColor(CGColorRef color);
+ // Creates a mutable shape, it's the caller's responsibility to release.
+ HIMutableShapeRef qt_mac_QRegionToHIMutableShape(const QRegion &region);
+ 
+-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);
++void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);
+ 
+ NSDragOperation qt_mac_mapDropAction(Qt::DropAction action);
+ NSDragOperation qt_mac_mapDropActions(Qt::DropActions actions);
+diff --git old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
+index cd73148..3f8429e 100644
+--- old/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
++++ new/qtbase/src/plugins/platforms/cocoa/qcocoahelpers.mm
+@@ -544,15 +544,8 @@ NSRect qt_mac_flipRect(const QRect &rect)
+     return NSMakeRect(rect.x(), flippedY, rect.width(), rect.height());
+ }
+ 
+-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
++void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
+ {
+-    // Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
+-    OSStatus err = noErr;
+-
+-    require_action(inContext != NULL, InvalidContext, err = paramErr);
+-    require_action(inBounds != NULL, InvalidBounds, err = paramErr);
+-    require_action(inImage != NULL, InvalidImage, err = paramErr);
+-
+     CGContextSaveGState( inContext );
+     CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
+     CGContextScaleCTM(inContext, 1, -1);
+@@ -560,10 +553,6 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
+     CGContextDrawImage(inContext, *inBounds, inImage);
+ 
+     CGContextRestoreGState(inContext);
+-InvalidImage:
+-InvalidBounds:
+-InvalidContext:
+-        return err;
+ }
+ 
+ Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum)
+-- 
+2.7.4
diff --git a/depends/patches/qt/fix_qt_configure.patch b/depends/patches/qt/fix_qt_configure.patch
new file mode 100644
index 000000000000..3466a6c24d79
--- /dev/null
+++ b/depends/patches/qt/fix_qt_configure.patch
@@ -0,0 +1,11 @@
+--- old/qtbase/configure
++++ new/qtbase/configure
+@@ -2846,7 +2846,7 @@
+         # with the system. We use 'xcrun' to check the clang version that's part of
+         # the Xcode installation.
+         XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`
+-        CLANGVERSION=`echo "$XCRUN" | sed -n 's/.*version \([0-9]\).*/\1/p'`
++        CLANGVERSION=`echo "$XCRUN" | sed -n 's/.*version \([0-9]*\).*/\1/p'`
+         expr "$CLANGVERSION" : '[0-9]' > /dev/null || { echo "Unable to determine CLANG version from output of xcrun: $XCRUN" ; exit 2 ; }
+         if [ "$CLANGVERSION" -ge 3 ]; then
+             PLATFORM=macx-clang
diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch
new file mode 100644
index 000000000000..34302a9f2d2e
--- /dev/null
+++ b/depends/patches/qt/fix_qt_pkgconfig.patch
@@ -0,0 +1,11 @@
+--- old/qtbase/mkspecs/features/qt_module.prf
++++ new/qtbase/mkspecs/features/qt_module.prf
+@@ -245,7 +245,7 @@
+ load(qt_targets)
+ 
+ # this builds on top of qt_common
+-!internal_module:!lib_bundle:if(unix|mingw) {
++unix|mingw {
+     CONFIG += create_pc
+     QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+     host_build: \
diff --git a/depends/patches/qt/qfixed-coretext.patch b/depends/patches/qt/qfixed-coretext.patch
new file mode 100644
index 000000000000..c5ad7d063237
--- /dev/null
+++ b/depends/patches/qt/qfixed-coretext.patch
@@ -0,0 +1,34 @@
+From dbdd5f0ffbce52c8b789ed09f1aa3f1da6c02e23 Mon Sep 17 00:00:00 2001
+From: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
+Date: Fri, 30 Mar 2018 11:58:16 -0700
+Subject: [PATCH] QCoreTextFontEngine: Fix build with Xcode 9.3
+
+Apple LLVM version 9.1.0 (clang-902.0.39.1)
+
+Error message:
+
+.../qfontengine_coretext.mm:827:20: error: qualified reference to
+      'QFixed' is a constructor name rather than a type in this context
+    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+
+Change-Id: Iebe26b3b087a16b10664208fc8851cbddb47f043
+Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
+---
+ src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git old/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm new/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+index 25ff69d877d..98b753eff96 100644
+--- old/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
++++ new/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+@@ -824,7 +824,7 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, gl
+ 
+ QFixed QCoreTextFontEngine::emSquareSize() const
+ {
+-    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
++    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+ }
+ 
+ QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
+-- 
+2.16.3
diff --git a/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch b/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
new file mode 100644
index 000000000000..f704b3d94fda
--- /dev/null
+++ b/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
@@ -0,0 +1,22 @@
+From 9114d3957725acd34aa8b8d011585812f3369411 Mon Sep 17 00:00:00 2001
+From: Jeroen Ooms <jeroenooms@gmail.com>
+Date: Tue, 20 Oct 2015 13:10:38 +0200
+Subject: [PATCH] enable static libraries on mingw
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 393505b..e92131a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -265,7 +265,7 @@ case "${host_os}" in
+         libzmq_dso_visibility="no"
+
+         if test "x$enable_static" = "xyes"; then
+-            AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
++            CPPFLAGS="-DZMQ_STATIC"
+         fi
+
+ 	# Set FD_SETSIZE to 1024
\ No newline at end of file
diff --git a/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch b/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
new file mode 100644
index 000000000000..9aff2c179a19
--- /dev/null
+++ b/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
@@ -0,0 +1,22 @@
+From 9e6745c12e0b100cd38acecc16ce7db02905e27c Mon Sep 17 00:00:00 2001
+From: David Millard <dmillard10@gmail.com>
+Date: Tue, 10 May 2016 13:53:53 -0700
+Subject: [PATCH] Fix autotools for static MinGW builds
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5a0fa14..def6ea7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -259,7 +259,7 @@ case "${host_os}" in
+         libzmq_dso_visibility="no"
+
+         if test "x$enable_static" = "xyes"; then
+-            CPPFLAGS="-DZMQ_STATIC"
++            CPPFLAGS="-DZMQ_STATIC $CPPFLAGS"
+         fi
+
+ 	# Set FD_SETSIZE to 1024
\ No newline at end of file

From 3e218fd0630dc03cd707a3fbceff8acde41ea281 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 12:35:08 -0600
Subject: [PATCH 117/225] completion

---
 ...completion => paccoin-cli.bash-completion} | 59 +++++++++++--------
 contrib/paccoin-tx.bash-completion            | 57 ++++++++++++++++++
 contrib/paccoind.bash-completion              | 56 ++++++++++++++++++
 3 files changed, 147 insertions(+), 25 deletions(-)
 rename contrib/{dashd.bash-completion => paccoin-cli.bash-completion} (67%)
 create mode 100644 contrib/paccoin-tx.bash-completion
 create mode 100644 contrib/paccoind.bash-completion

diff --git a/contrib/dashd.bash-completion b/contrib/paccoin-cli.bash-completion
similarity index 67%
rename from contrib/dashd.bash-completion
rename to contrib/paccoin-cli.bash-completion
index a6098ba6023f..e001a3d30801 100644
--- a/contrib/dashd.bash-completion
+++ b/contrib/paccoin-cli.bash-completion
@@ -1,45 +1,52 @@
-# bash programmable completion for paccoind(1) and paccoin-cli(1)
-# Copyright (c) 2012,2014 Christian von Roques <roques@mti.ag>
+# bash programmable completion for paccoin-cli(1)
+# Copyright (c) 2012-2016 The Bitcoin Core developers
 # Distributed under the MIT software license, see the accompanying
 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
 
-have paccoind && {
-
-# call $paccoind for RPC
+# call $paccoin-cli for RPC
 _paccoin_rpc() {
     # determine already specified args necessary for RPC
     local rpcargs=()
     for i in ${COMP_LINE}; do
         case "$i" in
-            -conf=*|-proxy*|-rpc*)
+            -conf=*|-datadir=*|-regtest|-rpc*|-testnet)
                 rpcargs=( "${rpcargs[@]}" "$i" )
                 ;;
         esac
     done
-    $paccoind "${rpcargs[@]}" "$@"
+    $paccoin_cli "${rpcargs[@]}" "$@"
 }
 
-# Add paccoin accounts to COMPREPLY
+# Add wallet accounts to COMPREPLY
 _paccoin_accounts() {
     local accounts
-    accounts=$(_paccoin_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}')
+    accounts=$(_paccoin_rpc listaccounts | awk -F '"' '{ print $2 }')
     COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) )
 }
 
-_paccoind() {
+_paccoin_cli() {
     local cur prev words=() cword
-    local paccoind
+    local paccoin_cli
 
-    # save and use original argument to invoke paccoind
-    # paccoind might not be in $PATH
-    paccoind="$1"
+    # save and use original argument to invoke paccoin-cli for -help, help and RPC
+    # as paccoin-cli might not be in $PATH
+    paccoin_cli="$1"
 
     COMPREPLY=()
     _get_comp_words_by_ref -n = cur prev words cword
 
+    if ((cword > 5)); then
+        case ${words[cword-5]} in
+            sendtoaddress)
+                COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
+
     if ((cword > 4)); then
         case ${words[cword-4]} in
-            listtransactions)
+            importaddress|listtransactions|setban)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -56,7 +63,7 @@ _paccoind() {
                 _paccoin_accounts
                 return 0
                 ;;
-            getbalance|gettxout|importaddress|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
+            getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -69,7 +76,11 @@ _paccoind() {
                 COMPREPLY=( $( compgen -W "add remove onetry" -- "$cur" ) )
                 return 0
                 ;;
-            getblock|getrawtransaction|gettransaction|listaccounts|listreceivedbyaccount|listreceivedbyaddress|sendrawtransaction)
+            setban)
+                COMPREPLY=( $( compgen -W "add remove" -- "$cur" ) )
+                return 0
+                ;;
+            fundrawtransaction|getblock|getblockheader|getmempoolancestors|getmempooldescendants|getrawtransaction|gettransaction|listaccounts|listreceivedbyaccount|listreceivedbyaddress|sendrawtransaction)
                 COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                 return 0
                 ;;
@@ -85,7 +96,7 @@ _paccoind() {
             _filedir
             return 0
             ;;
-        getmempool|lockunspent|setgenerate)
+        getaddednodeinfo|getrawmempool|lockunspent|setgenerate)
             COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
             return 0
             ;;
@@ -96,7 +107,7 @@ _paccoind() {
     esac
 
     case "$cur" in
-        -conf=*|-pid=*|-loadblock=*|-wallet=*)
+        -conf=*)
             cur="${cur#*=}"
             _filedir
             return 0
@@ -112,9 +123,9 @@ _paccoind() {
         *)
             local helpopts commands
 
-            # only parse --help if senseful
+            # only parse -help if senseful
             if [[ -z "$cur" || "$cur" =~ ^- ]]; then
-                helpopts=$($paccoind --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
+                helpopts=$($paccoin_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
             fi
 
             # only parse help if senseful
@@ -131,10 +142,8 @@ _paccoind() {
             return 0
             ;;
     esac
-}
-
-complete -F _paccoind paccoind paccoin-cli
-}
+} &&
+complete -F _paccoin_cli paccoin-cli
 
 # Local variables:
 # mode: shell-script
diff --git a/contrib/paccoin-tx.bash-completion b/contrib/paccoin-tx.bash-completion
new file mode 100644
index 000000000000..7612e2edc31c
--- /dev/null
+++ b/contrib/paccoin-tx.bash-completion
@@ -0,0 +1,57 @@
+# bash programmable completion for paccoin-tx(1)
+# Copyright (c) 2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+_paccoin_tx() {
+    local cur prev words=() cword
+    local paccoin_tx
+
+    # save and use original argument to invoke paccoin-tx for -help
+    # it might not be in $PATH
+    paccoin_tx="$1"
+
+    COMPREPLY=()
+    _get_comp_words_by_ref -n =: cur prev words cword
+
+    case "$cur" in
+        load=*:*)
+            cur="${cur#load=*:}"
+            _filedir
+            return 0
+            ;;
+        *=*)	# prevent attempts to complete other arguments
+            return 0
+            ;;
+    esac
+
+    if [[ "$cword" == 1 || ( "$prev" != "-create" && "$prev" == -* ) ]]; then
+        # only options (or an uncompletable hex-string) allowed
+        # parse paccoin-tx -help for options
+        local helpopts
+        helpopts=$($paccoin_tx -help | sed -e '/^  -/ p' -e d )
+        COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
+    else
+        # only commands are allowed
+        # parse -help for commands
+        local helpcmds
+        helpcmds=$($paccoin_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^  [a-z]/ p' -e d )
+        COMPREPLY=( $( compgen -W "$helpcmds" -- "$cur" ) )
+    fi
+
+    # Prevent space if an argument is desired
+    if [[ $COMPREPLY == *= ]]; then
+        compopt -o nospace
+    fi
+
+    return 0
+} &&
+complete -F _paccoin_tx paccoin-tx
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/paccoind.bash-completion b/contrib/paccoind.bash-completion
new file mode 100644
index 000000000000..5c668ffba11a
--- /dev/null
+++ b/contrib/paccoind.bash-completion
@@ -0,0 +1,56 @@
+# bash programmable completion for paccoind(1) and paccoin-qt(1)
+# Copyright (c) 2012-2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+_paccoind() {
+    local cur prev words=() cword
+    local paccoind
+
+    # save and use original argument to invoke paccoind for -help
+    # it might not be in $PATH
+    paccoind="$1"
+
+    COMPREPLY=()
+    _get_comp_words_by_ref -n = cur prev words cword
+
+    case "$cur" in
+        -conf=*|-pid=*|-loadblock=*|-rootcertificates=*|-rpccookiefile=*|-wallet=*)
+            cur="${cur#*=}"
+            _filedir
+            return 0
+            ;;
+        -datadir=*)
+            cur="${cur#*=}"
+            _filedir -d
+            return 0
+            ;;
+        -*=*)	# prevent nonsense completions
+            return 0
+            ;;
+        *)
+
+            # only parse -help if senseful
+            if [[ -z "$cur" || "$cur" =~ ^- ]]; then
+                local helpopts
+                helpopts=$($paccoind -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
+                COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
+            fi
+
+            # Prevent space if an argument is desired
+            if [[ $COMPREPLY == *= ]]; then
+                compopt -o nospace
+            fi
+            return 0
+            ;;
+    esac
+} &&
+complete -F _paccoind paccoind paccoin-qt
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh

From eb332722d1df2e6aca75475b96b5e3aa147ea488 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 14:13:59 -0600
Subject: [PATCH 118/225] Add dmg background

---
 contrib/macdeploy/background.svg | 34 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 contrib/macdeploy/background.svg

diff --git a/contrib/macdeploy/background.svg b/contrib/macdeploy/background.svg
new file mode 100644
index 000000000000..9c330af45142
--- /dev/null
+++ b/contrib/macdeploy/background.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="1000pt" height="640pt" viewBox="0 0 1000 640" preserveAspectRatio="xMidYMid meet">
+	<!-- kate: space-indent off;
+	Copyright (c) 2015 The Bitcoin Core developers
+	Distributed under the MIT software license, see the accompanying
+	file COPYING or http://www.opensource.org/licenses/mit-license.php.
+	-->
+	<style type="text/css"><![CDATA[
+		text {
+			font-family: "Tuffy";
+			font-size: 86px;
+			fill: gray;
+			text-anchor: middle;
+		}
+	]]></style>
+	<defs>
+		<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
+			<stop offset="0%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+			<stop offset="33%" style="stop-color:rgb(239,239,239);stop-opacity:1" />
+			<stop offset="80%" style="stop-color:rgb(205,205,205);stop-opacity:1" />
+			<stop offset="100%" style="stop-color:rgb(204,204,204);stop-opacity:1" />
+		</linearGradient>
+	</defs>
+	<rect width="1000" height="640" style="fill:url(#gradient);stroke-width:0" />
+	<g transform="translate(500,0) scale(0.9, 1)">
+		<text x="0" y="114">PACKAGE_NAME</text>
+	</g>
+	<g transform="translate(0.000000,640.000000) scale(0.100000,-0.100000)"
+	fill="#000000" stroke="none">
+		<path d="M4995 3705 c-24 -23 -25 -29 -25 -165 l0 -140 -306 0 -306 0 -29 -29 c-29 -29 -29 -31 -29 -141 0 -110 0 -112 29 -141 l29 -29 306 0 306 0 0 -140 c0 -136 1 -142 25 -165 16 -17 35 -25 57 -25 29 0 72 32 306 226 180 149 274 233 278 250 13 53 -2 70 -278 299 -235 194 -277 225 -306 225 -22 0 -41 -8 -57 -25z" fixlter="url(#glow)"/>
+	</g>
+</svg>

From b0f929c44956fcbb8927267d0c7e3a11b18b63f8 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 14:43:59 -0600
Subject: [PATCH 119/225] macdeploy missing files

---
 contrib/macdeploy/custom_dsstore.py  | 59 ++++++++++++++++++++++++++++
 contrib/macdeploy/extract-osx-sdk.sh | 33 ++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100755 contrib/macdeploy/custom_dsstore.py
 create mode 100755 contrib/macdeploy/extract-osx-sdk.sh

diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py
new file mode 100755
index 000000000000..8b70cf7c684e
--- /dev/null
+++ b/contrib/macdeploy/custom_dsstore.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python3
+# Copyright (c) 2013-2015 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+import biplist
+from ds_store import DSStore
+from mac_alias import Alias
+import sys
+
+output_file = sys.argv[1]
+package_name_ns = sys.argv[2]
+
+ds = DSStore.open(output_file, 'w+')
+ds['.']['bwsp'] = {
+    'ShowStatusBar': False,
+    'WindowBounds': b'{{300, 280}, {500, 343}}',
+    'ContainerShowSidebar': False,
+    'SidebarWidth': 0,
+    'ShowTabView': False,
+    'PreviewPaneVisibility': False,
+    'ShowToolbar': False,
+    'ShowSidebar': False,
+    'ShowPathbar': True
+}
+
+icvp = {
+    'gridOffsetX': 0.0,
+    'textSize': 12.0,
+    'viewOptionsVersion': 1,
+    'backgroundImageAlias': b'\x00\x00\x00\x00\x02\x1e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x94\\\xb0H+\x00\x05\x00\x00\x00\x98\x0fbackground.tiff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xd19\xb0\xf8\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\r\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b.background\x00\x00\x10\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x11\x00\x08\x00\x00\xd19\xb0\xf8\x00\x00\x00\x01\x00\x04\x00\x00\x00\x98\x00\x0e\x00 \x00\x0f\x00b\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00t\x00i\x00f\x00f\x00\x0f\x00\x02\x00\x00\x00\x12\x00\x1c/.background/background.tiff\x00\x14\x01\x06\x00\x00\x00\x00\x01\x06\x00\x02\x00\x00\x0cMacintosh HD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x97\xab\xc3H+\x00\x00\x01\x88[\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02u\xab\x8d\xd1\x94\\\xb0devrddsk\xff\xff\xff\xff\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07bitcoin\x00\x00\x10\x00\x08\x00\x00\xce\x97\xab\xc3\x00\x00\x00\x11\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x01\x00\x14\x01\x88[\x88\x00\x16\xa9\t\x00\x08\xfaR\x00\x08\xfaQ\x00\x02d\x8e\x00\x0e\x00\x02\x00\x00\x00\x0f\x00\x1a\x00\x0c\x00M\x00a\x00c\x00i\x00n\x00t\x00o\x00s\x00h\x00 \x00H\x00D\x00\x13\x00\x01/\x00\x00\x15\x00\x02\x00\x14\xff\xff\x00\x00\xff\xff\x00\x00',
+    'backgroundColorBlue': 1.0,
+    'iconSize': 96.0,
+    'backgroundColorGreen': 1.0,
+    'arrangeBy': 'none',
+    'showIconPreview': True,
+    'gridSpacing': 100.0,
+    'gridOffsetY': 0.0,
+    'showItemInfo': False,
+    'labelOnBottom': True,
+    'backgroundType': 2,
+    'backgroundColorRed': 1.0
+}
+alias = Alias.from_bytes(icvp['backgroundImageAlias'])
+alias.volume.name = package_name_ns
+alias.volume.posix_path = '/Volumes/' + package_name_ns
+alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00dashcoreuser:\x00Documents:\x00dashcore:\x00dashcore:\x00' + package_name_ns + '.temp.dmg'
+alias.volume.disk_image_alias.target.posix_path = 'Users/dashcoreuser/Documents/dashcore/dashcore/' + package_name_ns + '.temp.dmg'
+alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff'
+icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes())
+ds['.']['icvp'] = icvp
+
+ds['.']['vSrn'] = ('long', 1)
+
+ds['Applications']['Iloc'] = (370, 156)
+ds['Dash-Qt.app']['Iloc'] = (128, 156)
+
+ds.flush()
+ds.close()
diff --git a/contrib/macdeploy/extract-osx-sdk.sh b/contrib/macdeploy/extract-osx-sdk.sh
new file mode 100755
index 000000000000..ff9fbd58df07
--- /dev/null
+++ b/contrib/macdeploy/extract-osx-sdk.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Copyright (c) 2016 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+set -e
+
+INPUTFILE="Xcode_7.3.1.dmg"
+HFSFILENAME="5.hfs"
+SDKDIR="Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"
+
+7z x "${INPUTFILE}" "${HFSFILENAME}"
+SDKNAME="$(basename "${SDKDIR}")"
+SDKDIRINODE=$(ifind -n "${SDKDIR}" "${HFSFILENAME}")
+fls "${HFSFILENAME}" -rpF ${SDKDIRINODE} |
+ while read type inode filename; do
+	inode="${inode::-1}"
+	if [ "${filename:0:14}" = "usr/share/man/" ]; then
+		continue
+	fi
+	filename="${SDKNAME}/$filename"
+	echo "Extracting $filename ..."
+	mkdir -p "$(dirname "$filename")"
+	if [ "$type" = "l/l" ]; then
+		ln -s "$(icat "${HFSFILENAME}" $inode)" "$filename"
+	else
+		icat "${HFSFILENAME}" $inode >"$filename"
+	fi
+done
+echo "Building ${SDKNAME}.tar.gz ..."
+MTIME="$(istat "${HFSFILENAME}" "${SDKDIRINODE}" | perl -nle 'm/Content Modified:\s+(.*?)\s\(/ && print $1')"
+find "${SDKNAME}" | sort | tar --no-recursion --mtime="${MTIME}" --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > "${SDKNAME}.tar.gz"
+echo 'All done!'

From c4f84d74af22cc36f29c0eb07d141087f99a40a3 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 15:51:44 -0600
Subject: [PATCH 120/225] Change tar.gz name

---
 contrib/gitian-descriptors/gitian-osx.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
index ee1e0eb315e8..9da1984b3ca5 100644
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -123,14 +123,14 @@ script: |
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
   make dist
-  SOURCEDIST=`echo paccoincore-*.tar.gz`
+  SOURCEDIST=`echo Paccoin-*.tar.gz`
   DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
 
   # Correct tar file order
   mkdir -p temp
   pushd temp
   tar xf ../$SOURCEDIST
-  find paccoincore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
+  find Paccoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
   popd
 
   ORIGPATH="$PATH"

From af8c215da5d94482dde3d0a3be045750f1ec11e7 Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 17:07:24 -0600
Subject: [PATCH 121/225] Migrate macdeploy to python3

---
 contrib/macdeploy/macdeployqtplus | 182 ++++++++++++++----------------
 1 file changed, 87 insertions(+), 95 deletions(-)

diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
index 7873ce786acf..9b781fdf1b06 100755
--- a/contrib/macdeploy/macdeployqtplus
+++ b/contrib/macdeploy/macdeployqtplus
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-
+#!/usr/bin/env python3
 #
 # Copyright (C) 2011  Patrick "p2k" Schneider <me@p2k-network.org>
 #
@@ -201,9 +200,9 @@ class DeploymentInfo(object):
 
 def getFrameworks(binaryPath, verbose):
     if verbose >= 3:
-        print "Inspecting with otool: " + binaryPath
+        print("Inspecting with otool: " + binaryPath)
     otoolbin=os.getenv("OTOOL", "otool")
-    otool = subprocess.Popen([otoolbin, "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    otool = subprocess.Popen([otoolbin, "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
     o_stdout, o_stderr = otool.communicate()
     if otool.returncode != 0:
         if verbose >= 1:
@@ -222,8 +221,8 @@ def getFrameworks(binaryPath, verbose):
         info = FrameworkInfo.fromOtoolLibraryLine(line.strip())
         if info is not None:
             if verbose >= 3:
-                print "Found framework:"
-                print info
+                print("Found framework:")
+                print(info)
             libraries.append(info)
 
     return libraries
@@ -234,24 +233,24 @@ def runInstallNameTool(action, *args):
 
 def changeInstallName(oldName, newName, binaryPath, verbose):
     if verbose >= 3:
-        print "Using install_name_tool:"
-        print " in", binaryPath
-        print " change reference", oldName
-        print " to", newName
+        print("Using install_name_tool:")
+        print(" in", binaryPath)
+        print(" change reference", oldName)
+        print(" to", newName)
     runInstallNameTool("change", oldName, newName, binaryPath)
 
 def changeIdentification(id, binaryPath, verbose):
     if verbose >= 3:
-        print "Using install_name_tool:"
-        print " change identification in", binaryPath
-        print " to", id
+        print("Using install_name_tool:")
+        print(" change identification in", binaryPath)
+        print(" to", id)
     runInstallNameTool("id", id, binaryPath)
 
 def runStrip(binaryPath, verbose):
     stripbin=os.getenv("STRIP", "strip")
     if verbose >= 3:
-        print "Using strip:"
-        print " stripped", binaryPath
+        print("Using strip:")
+        print(" stripped", binaryPath)
     subprocess.check_call([stripbin, "-x", binaryPath])
 
 def copyFramework(framework, path, verbose):
@@ -274,8 +273,8 @@ def copyFramework(framework, path, verbose):
 
     shutil.copy2(fromPath, toPath)
     if verbose >= 3:
-        print "Copied:", fromPath
-        print " to:", toPath
+        print("Copied:", fromPath)
+        print(" to:", toPath)
 
     permissions = os.stat(toPath)
     if not permissions.st_mode & stat.S_IWRITE:
@@ -288,14 +287,14 @@ def copyFramework(framework, path, verbose):
         if not os.path.exists(linkfrom):
             os.symlink(linkto, linkfrom)
             if verbose >= 2:
-                print "Linked:", linkfrom, "->", linkto
+                print("Linked:", linkfrom, "->", linkto)
         fromResourcesDir = framework.sourceResourcesDirectory
         if os.path.exists(fromResourcesDir):
             toResourcesDir = os.path.join(path, framework.destinationResourcesDirectory)
             shutil.copytree(fromResourcesDir, toResourcesDir, symlinks=True)
             if verbose >= 3:
-                print "Copied resources:", fromResourcesDir
-                print " to:", toResourcesDir
+                print("Copied resources:", fromResourcesDir)
+                print(" to:", toResourcesDir)
         fromContentsDir = framework.sourceVersionContentsDirectory
         if not os.path.exists(fromContentsDir):
             fromContentsDir = framework.sourceContentsDirectory
@@ -304,16 +303,16 @@ def copyFramework(framework, path, verbose):
             shutil.copytree(fromContentsDir, toContentsDir, symlinks=True)
             contentslinkfrom = os.path.join(path, framework.destinationContentsDirectory)
             if verbose >= 3:
-                print "Copied Contents:", fromContentsDir
-                print " to:", toContentsDir
+                print("Copied Contents:", fromContentsDir)
+                print(" to:", toContentsDir)
     elif framework.frameworkName.startswith("libQtGui"): # Copy qt_menu.nib (applies to non-framework layout)
         qtMenuNibSourcePath = os.path.join(framework.frameworkDirectory, "Resources", "qt_menu.nib")
         qtMenuNibDestinationPath = os.path.join(path, "Contents", "Resources", "qt_menu.nib")
         if os.path.exists(qtMenuNibSourcePath) and not os.path.exists(qtMenuNibDestinationPath):
             shutil.copytree(qtMenuNibSourcePath, qtMenuNibDestinationPath, symlinks=True)
             if verbose >= 3:
-                print "Copied for libQtGui:", qtMenuNibSourcePath
-                print " to:", qtMenuNibDestinationPath
+                print("Copied for libQtGui:", qtMenuNibSourcePath)
+                print(" to:", qtMenuNibDestinationPath)
 
     return toPath
 
@@ -326,7 +325,7 @@ def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploym
         deploymentInfo.deployedFrameworks.append(framework.frameworkName)
 
         if verbose >= 2:
-            print "Processing", framework.frameworkName, "..."
+            print("Processing", framework.frameworkName, "...")
 
         # Get the Qt path from one of the Qt frameworks
         if deploymentInfo.qtPath is None and framework.isQtFramework():
@@ -334,13 +333,13 @@ def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploym
         
         if framework.installName.startswith("@executable_path") or framework.installName.startswith(bundlePath):
             if verbose >= 2:
-                print framework.frameworkName, "already deployed, skipping."
+                print(framework.frameworkName, "already deployed, skipping.")
             continue
 
         # install_name_tool the new id into the binary
         changeInstallName(framework.installName, framework.deployedInstallName, binaryPath, verbose)
 
-        # Copy farmework to app bundle.
+        # Copy framework to app bundle.
         deployedBinaryPath = copyFramework(framework, bundlePath, verbose)
         # Skip the rest if already was deployed.
         if deployedBinaryPath is None:
@@ -366,7 +365,7 @@ def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploym
 def deployFrameworksForAppBundle(applicationBundle, strip, verbose):
     frameworks = getFrameworks(applicationBundle.binaryPath, verbose)
     if len(frameworks) == 0 and verbose >= 1:
-        print "Warning: Could not find any external frameworks to deploy in %s." % (applicationBundle.path)
+        print("Warning: Could not find any external frameworks to deploy in %s." % (applicationBundle.path))
         return DeploymentInfo()
     else:
         return deployFrameworks(frameworks, applicationBundle.path, applicationBundle.binaryPath, strip, verbose)
@@ -444,7 +443,7 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose):
 
     for pluginDirectory, pluginName in plugins:
         if verbose >= 2:
-            print "Processing plugin", os.path.join(pluginDirectory, pluginName), "..."
+            print("Processing plugin", os.path.join(pluginDirectory, pluginName), "...")
 
         sourcePath = os.path.join(deploymentInfo.pluginPath, pluginDirectory, pluginName)
         destinationDirectory = os.path.join(appBundleInfo.pluginPath, pluginDirectory)
@@ -454,8 +453,8 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose):
         destinationPath = os.path.join(destinationDirectory, pluginName)
         shutil.copy2(sourcePath, destinationPath)
         if verbose >= 3:
-            print "Copied:", sourcePath
-            print " to:", destinationPath
+            print("Copied:", sourcePath)
+            print(" to:", destinationPath)
 
         if strip:
             runStrip(destinationPath, verbose)
@@ -492,9 +491,10 @@ ap.add_argument("-no-strip", dest="strip", action="store_false", default=True, h
 ap.add_argument("-sign", dest="sign", action="store_true", default=False, help="sign .app bundle with codesign tool")
 ap.add_argument("-dmg", nargs="?", const="", metavar="basename", help="create a .dmg disk image; if basename is not specified, a camel-cased version of the app name is used")
 ap.add_argument("-fancy", nargs=1, metavar="plist", default=[], help="make a fancy looking disk image using the given plist file with instructions; requires -dmg to work")
-ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's ressources; the language list must be separated with commas, not with whitespace")
+ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's resources; the language list must be separated with commas, not with whitespace")
 ap.add_argument("-translations-dir", nargs=1, metavar="path", default=None, help="Path to Qt's translation files")
 ap.add_argument("-add-resources", nargs="+", metavar="path", default=[], help="list of additional files or folders to be copied into the bundle's resources; must be the last argument")
+ap.add_argument("-volname", nargs=1, metavar="volname", default=[], help="custom volume name for dmg")
 
 config = ap.parse_args()
 
@@ -524,7 +524,7 @@ if config.translations_dir and config.translations_dir[0]:
 
 for p in config.add_resources:
     if verbose >= 3:
-        print "Checking for \"%s\"..." % p
+        print("Checking for \"%s\"..." % p)
     if not os.path.exists(p):
         if verbose >= 1:
             sys.stderr.write("Error: Could not find additional resource file \"%s\"\n" % (p))
@@ -534,7 +534,7 @@ for p in config.add_resources:
 
 if len(config.fancy) == 1:
     if verbose >= 3:
-        print "Fancy: Importing plistlib..."
+        print("Fancy: Importing plistlib...")
     try:
         import plistlib
     except ImportError:
@@ -544,7 +544,7 @@ if len(config.fancy) == 1:
     
     p = config.fancy[0]
     if verbose >= 3:
-        print "Fancy: Loading \"%s\"..." % p
+        print("Fancy: Loading \"%s\"..." % p)
     if not os.path.exists(p):
         if verbose >= 1:
             sys.stderr.write("Error: Could not find fancy disk image plist at \"%s\"\n" % (p))
@@ -558,23 +558,23 @@ if len(config.fancy) == 1:
         sys.exit(1)
 
     try:
-        assert not fancy.has_key("window_bounds") or (isinstance(fancy["window_bounds"], list) and len(fancy["window_bounds"]) == 4)
-        assert not fancy.has_key("background_picture") or isinstance(fancy["background_picture"], str)
-        assert not fancy.has_key("icon_size") or isinstance(fancy["icon_size"], int)
-        assert not fancy.has_key("applications_symlink") or isinstance(fancy["applications_symlink"], bool)
-        if fancy.has_key("items_position"):
+        assert "window_bounds" not in fancy or (isinstance(fancy["window_bounds"], list) and len(fancy["window_bounds"]) == 4)
+        assert "background_picture" not in fancy or isinstance(fancy["background_picture"], str)
+        assert "icon_size" not in fancy or isinstance(fancy["icon_size"], int)
+        assert "applications_symlink" not in fancy or isinstance(fancy["applications_symlink"], bool)
+        if "items_position" in fancy:
             assert isinstance(fancy["items_position"], dict)
-            for key, value in fancy["items_position"].iteritems():
+            for key, value in fancy["items_position"].items():
                 assert isinstance(value, list) and len(value) == 2 and isinstance(value[0], int) and isinstance(value[1], int)
     except:
         if verbose >= 1:
             sys.stderr.write("Error: Bad format of fancy disk image plist at \"%s\"\n" % (p))
         sys.exit(1)
 
-    if fancy.has_key("background_picture"):
+    if "background_picture" in fancy:
         bp = fancy["background_picture"]
         if verbose >= 3:
-            print "Fancy: Resolving background picture \"%s\"..." % bp
+            print("Fancy: Resolving background picture \"%s\"..." % bp)
         if not os.path.exists(bp):
             bp = os.path.join(os.path.dirname(p), bp)
             if not os.path.exists(bp):
@@ -590,18 +590,25 @@ else:
 
 if os.path.exists("dist"):
     if verbose >= 2:
-        print "+ Removing old dist folder +"
+        print("+ Removing old dist folder +")
 
     shutil.rmtree("dist")
 
 # ------------------------------------------------
 
+if len(config.volname) == 1:
+    volname = config.volname[0]
+else:
+    volname = app_bundle_name
+
+# ------------------------------------------------
+
 target = os.path.join("dist", "Paccoin-Qt.app")
 
 if verbose >= 2:
-    print "+ Copying source bundle +"
+    print("+ Copying source bundle +")
 if verbose >= 3:
-    print app_bundle, "->", target
+    print(app_bundle, "->", target)
 
 os.mkdir("dist")
 shutil.copytree(app_bundle, target, symlinks=True)
@@ -611,7 +618,7 @@ applicationBundle = ApplicationBundleInfo(target)
 # ------------------------------------------------
 
 if verbose >= 2:
-    print "+ Deploying frameworks +"
+    print("+ Deploying frameworks +")
 
 try:
     deploymentInfo = deployFrameworksForAppBundle(applicationBundle, config.strip, verbose)
@@ -630,7 +637,7 @@ except RuntimeError as e:
 
 if config.plugins:
     if verbose >= 2:
-        print "+ Deploying plugins +"
+        print("+ Deploying plugins +")
 
     try:
         deployPlugins(applicationBundle, deploymentInfo, config.strip, verbose)
@@ -656,7 +663,7 @@ else:
     for lng_file in add_qt_tr:
         p = os.path.join(qt_tr_dir, lng_file)
         if verbose >= 3:
-            print "Checking for \"%s\"..." % p
+            print("Checking for \"%s\"..." % p)
         if not os.path.exists(p):
             if verbose >= 1:
                 sys.stderr.write("Error: Could not find Qt translation file \"%s\"\n" % (lng_file))
@@ -665,31 +672,31 @@ else:
 # ------------------------------------------------
 
 if verbose >= 2:
-    print "+ Installing qt.conf +"
+    print("+ Installing qt.conf +")
 
 f = open(os.path.join(applicationBundle.resourcesPath, "qt.conf"), "wb")
-f.write(qt_conf)
+f.write(qt_conf.encode())
 f.close()
 
 # ------------------------------------------------
 
 if len(add_qt_tr) > 0 and verbose >= 2:
-    print "+ Adding Qt translations +"
+    print("+ Adding Qt translations +")
 
 for lng_file in add_qt_tr:
     if verbose >= 3:
-        print os.path.join(qt_tr_dir, lng_file), "->", os.path.join(applicationBundle.resourcesPath, lng_file)
+        print(os.path.join(qt_tr_dir, lng_file), "->", os.path.join(applicationBundle.resourcesPath, lng_file))
     shutil.copy2(os.path.join(qt_tr_dir, lng_file), os.path.join(applicationBundle.resourcesPath, lng_file))
 
 # ------------------------------------------------
 
 if len(config.add_resources) > 0 and verbose >= 2:
-    print "+ Adding additional resources +"
+    print("+ Adding additional resources +")
 
 for p in config.add_resources:
     t = os.path.join(applicationBundle.resourcesPath, os.path.basename(p))
     if verbose >= 3:
-        print p, "->", t
+        print(p, "->", t)
     if os.path.isdir(p):
         shutil.copytree(p, t, symlinks=True)
     else:
@@ -698,35 +705,19 @@ for p in config.add_resources:
 # ------------------------------------------------
 
 if config.sign and 'CODESIGNARGS' not in os.environ:
-    print "You must set the CODESIGNARGS environment variable. Skipping signing."
+    print("You must set the CODESIGNARGS environment variable. Skipping signing.")
 elif config.sign:
     if verbose >= 1:
-        print "Code-signing app bundle %s"%(target,)
+        print("Code-signing app bundle %s"%(target,))
     subprocess.check_call("codesign --force %s %s"%(os.environ['CODESIGNARGS'], target), shell=True)
 
 # ------------------------------------------------
 
 if config.dmg is not None:
 
-    #Patch in check_output for Python 2.6
-    if "check_output" not in dir( subprocess ):
-        def f(*popenargs, **kwargs):
-            if 'stdout' in kwargs:
-                raise ValueError('stdout argument not allowed, it will be overridden.')
-            process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
-            output, unused_err = process.communicate()
-            retcode = process.poll()
-            if retcode:
-                cmd = kwargs.get("args")
-                if cmd is None:
-                    cmd = popenargs[0]
-                raise CalledProcessError(retcode, cmd)
-            return output
-        subprocess.check_output = f
-
     def runHDIUtil(verb, image_basename, **kwargs):
         hdiutil_args = ["hdiutil", verb, image_basename + ".dmg"]
-        if kwargs.has_key("capture_stdout"):
+        if "capture_stdout" in kwargs:
             del kwargs["capture_stdout"]
             run = subprocess.check_output
         else:
@@ -736,18 +727,18 @@ if config.dmg is not None:
                 hdiutil_args.append("-verbose")
             run = subprocess.check_call
 
-        for key, value in kwargs.iteritems():
+        for key, value in kwargs.items():
             hdiutil_args.append("-" + key)
             if not value is True:
                 hdiutil_args.append(str(value))
 
-        return run(hdiutil_args)
+        return run(hdiutil_args, universal_newlines=True)
 
     if verbose >= 2:
         if fancy is None:
-            print "+ Creating .dmg disk image +"
+            print("+ Creating .dmg disk image +")
         else:
-            print "+ Preparing .dmg disk image +"
+            print("+ Preparing .dmg disk image +")
 
     if config.dmg != "":
         dmg_name = config.dmg
@@ -757,12 +748,12 @@ if config.dmg is not None:
 
     if fancy is None:
         try:
-            runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname="Paccoin-Core", ov=True)
+            runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=volname, ov=True)
         except subprocess.CalledProcessError as e:
             sys.exit(e.returncode)
     else:
         if verbose >= 3:
-            print "Determining size of \"dist\"..."
+            print("Determining size of \"dist\"...")
         size = 0
         for path, dirs, files in os.walk("dist"):
             for file in files:
@@ -770,14 +761,14 @@ if config.dmg is not None:
         size += int(size * 0.15)
 
         if verbose >= 3:
-            print "Creating temp image for modification..."
+            print("Creating temp image for modification...")
         try:
-            runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname="Paccoin-Core", ov=True)
+            runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=volname, ov=True)
         except subprocess.CalledProcessError as e:
             sys.exit(e.returncode)
 
         if verbose >= 3:
-            print "Attaching temp image..."
+            print("Attaching temp image...")
         try:
             output = runHDIUtil("attach", dmg_name + ".temp", readwrite=True, noverify=True, noautoopen=True, capture_stdout=True)
         except subprocess.CalledProcessError as e:
@@ -788,13 +779,13 @@ if config.dmg is not None:
         disk_name = m.group(1)
 
         if verbose >= 2:
-            print "+ Applying fancy settings +"
+            print("+ Applying fancy settings +")
 
-        if fancy.has_key("background_picture"):
+        if "background_picture" in fancy:
             bg_path = os.path.join(disk_root, ".background", os.path.basename(fancy["background_picture"]))
             os.mkdir(os.path.dirname(bg_path))
             if verbose >= 3:
-                print fancy["background_picture"], "->", bg_path
+                print(fancy["background_picture"], "->", bg_path)
             shutil.copy2(fancy["background_picture"], bg_path)
         else:
             bg_path = None
@@ -831,21 +822,21 @@ if config.dmg is not None:
 
         itemscript = Template('set position of item "${item}" of container window to {${position}}')
         items_positions = []
-        if fancy.has_key("items_position"):
-            for name, position in fancy["items_position"].iteritems():
+        if "items_position" in fancy:
+            for name, position in fancy["items_position"].items():
                 params = { "item" : name, "position" : ",".join([str(p) for p in position]) }
                 items_positions.append(itemscript.substitute(params))
 
         params = {
-            "disk" : "Paccoin-Core",
+            "disk" : volname,
             "window_bounds" : "300,300,800,620",
             "icon_size" : "96",
             "background_commands" : "",
             "items_positions" : "\n                   ".join(items_positions)
             }
-        if fancy.has_key("window_bounds"):
-            params["window.bounds"] = ",".join([str(p) for p in fancy["window_bounds"]])
-        if fancy.has_key("icon_size"):
+        if "window_bounds" in fancy:
+            params["window_bounds"] = ",".join([str(p) for p in fancy["window_bounds"]])
+        if "icon_size" in fancy:
             params["icon_size"] = str(fancy["icon_size"])
         if bg_path is not None:
             # Set background file, then call SetFile to make it invisible.
@@ -859,13 +850,14 @@ if config.dmg is not None:
             print("Running AppleScript:")
             print(s)
 
+        time.sleep(2) # fixes '112:116: execution error: Finder got an error: Can’t get disk "Paccoin-Core". (-1728)'
         p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE)
-        p.communicate(input=s)
+        p.communicate(input=s.encode('utf-8'))
         if p.returncode:
             print("Error running osascript.")
 
         if verbose >= 2:
-            print "+ Finalizing .dmg disk image +"
+            print("+ Finalizing .dmg disk image +")
             time.sleep(5)
         
         try:
@@ -878,6 +870,6 @@ if config.dmg is not None:
 # ------------------------------------------------
 
 if verbose >= 2:
-    print "+ Done +"
+    print("+ Done +")
 
 sys.exit(0)

From 4d44c89629f2b6fb7209e9f5f737907a6df6e28d Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 18:37:40 -0600
Subject: [PATCH 122/225] Change tar.gz name on gitian descriptors.

---
 contrib/gitian-descriptors/gitian-linux.yml      | 4 ++--
 contrib/gitian-descriptors/gitian-osx-signer.yml | 6 +++---
 contrib/gitian-descriptors/gitian-win-signer.yml | 4 ++--
 contrib/gitian-descriptors/gitian-win.yml        | 8 ++++----
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 8cb761653f1b..417f2f6da593 100755
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -164,13 +164,13 @@ script: |
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
   make dist
-  SOURCEDIST=`echo paccoincore-*.tar.gz`
+  SOURCEDIST=`echo Paccoin-*.tar.gz`
   DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
   # Correct tar file order
   mkdir -p temp
   pushd temp
   tar xf ../$SOURCEDIST
-  find paccoincore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
+  find Paccoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
   popd
 
   ORIGPATH="$PATH"
diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml
index 0e2d52822d74..b6843b19ff66 100644
--- a/contrib/gitian-descriptors/gitian-osx-signer.yml
+++ b/contrib/gitian-descriptors/gitian-osx-signer.yml
@@ -10,7 +10,7 @@ remotes:
 - "url": "https://github.com/PACCommunity/pac-detached-sigs.git"
   "dir": "signature"
 files:
-- "paccoincore-osx-unsigned.tar.gz"
+- "Paccoin-osx-unsigned.tar.gz"
 script: |
   WRAP_DIR=$HOME/wrapped
   mkdir -p ${WRAP_DIR}
@@ -27,8 +27,8 @@ script: |
     chmod +x ${WRAP_DIR}/${prog}
   done
 
-  UNSIGNED=paccoincore-osx-unsigned.tar.gz
-  SIGNED=paccoincore-osx-signed.dmg
+  UNSIGNED=Paccoin-osx-unsigned.tar.gz
+  SIGNED=Paccoin-osx-signed.dmg
 
   tar -xf ${UNSIGNED}
   OSX_VOLNAME="$(cat osx_volname)"
diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml
index 709bfd4638da..f92f04405cb5 100644
--- a/contrib/gitian-descriptors/gitian-win-signer.yml
+++ b/contrib/gitian-descriptors/gitian-win-signer.yml
@@ -13,7 +13,7 @@ remotes:
 files:
 - "osslsigncode-1.7.1.tar.gz"
 - "osslsigncode-Backports-to-1.7.1.patch"
-- "paccoincore-win-unsigned.tar.gz"
+- "Paccoin-win-unsigned.tar.gz"
 script: |
   BUILD_DIR=`pwd`
   SIGDIR=${BUILD_DIR}/signature/win
@@ -23,7 +23,7 @@ script: |
   echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911  osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
 
   mkdir -p ${UNSIGNED_DIR}
-  tar -C ${UNSIGNED_DIR} -xf paccoincore-win-unsigned.tar.gz
+  tar -C ${UNSIGNED_DIR} -xf Paccoin-win-unsigned.tar.gz
 
   tar xf osslsigncode-1.7.1.tar.gz
   cd osslsigncode-1.7.1
diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml
index f2e7ff3b592b..c98015c517d9 100755
--- a/contrib/gitian-descriptors/gitian-win.yml
+++ b/contrib/gitian-descriptors/gitian-win.yml
@@ -25,7 +25,7 @@ packages:
 - "python3"
 - "rename"
 remotes:
-- "url": "https://github.com/PACCommunity/PAC.git"
+- "url": "https://github.com/CryptoMx/PAC.git"
   "dir": "PAC"
 files: []
 script: |
@@ -152,14 +152,14 @@ script: |
   ./autogen.sh
   CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
   make dist
-  SOURCEDIST=`echo paccoincore-*.tar.gz`
+  SOURCEDIST=`echo Paccoin-*.tar.gz`
   DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
 
   # Correct tar file order
   mkdir -p temp
   pushd temp
   tar xf ../$SOURCEDIST
-  find paccoincore-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
+  find Paccoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
   mkdir -p $OUTDIR/src
   cp ../$SOURCEDIST $OUTDIR/src
   popd
@@ -179,7 +179,7 @@ script: |
     make ${MAKEOPTS} -C src check-security
     make deploy
     make install DESTDIR=${INSTALLPATH}
-    cp -f paccoincore-*setup*.exe $OUTDIR/
+    cp -f Paccoin-*setup*.exe $OUTDIR/
     cd installed
     mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
     find . -name "lib*.la" -delete

From f44ab0398de519dcc2eb918e8a4f644b39101000 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 18:40:38 -0600
Subject: [PATCH 123/225] Auto stash before merge of "socket_semoval" and
 "origin/socket_semoval"

---
 src/qt/bitcoingui.cpp         | 24 +++++++++++++++++++++---
 src/qt/bitcoingui.h           |  9 +++++++++
 src/qt/bitcoinunits.cpp       | 11 +++++++++++
 src/qt/bitcoinunits.h         |  2 ++
 src/qt/overviewpage.cpp       |  4 ++++
 src/qt/receivecoinsdialog.cpp |  1 +
 src/qt/sendcoinsdialog.cpp    |  1 +
 7 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index fc34bc661c03..4efe89e21351 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -65,9 +65,6 @@
 #include <QFileDialog>
 #include <QProxyStyle>
 #include <QPainter>
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QJsonValue>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -206,6 +203,10 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     rpcConsole = new RPCConsole(platformStyle, 0);
     helpMessageDialog = new HelpMessageDialog(this, HelpMessageDialog::cmdline);
 #ifdef ENABLE_WALLET
+    manager = new QNetworkAccessManager();
+    QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerFinished(QNetworkReply*)));
+    request.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    manager->get(request);
     if(enableWallet)
     {
         /** Create wallet frame*/
@@ -1704,6 +1705,23 @@ void BitcoinGUI::handleRestart(QStringList args)
         Q_EMIT requestedRestart(args);
 }
 
+void BitcoinGUI::managerFinished(QNetworkReply *reply) {
+    if (reply->error()) {
+        QSettings settings;
+        settings.setValue("PACvalue","0");
+        settings.sync();
+        return;
+    }
+    QString answer = reply->readAll();
+
+    QSettings settings;
+    QStringList list1 = answer.split('"');
+    QString s = list1[6];
+    s = s.mid(1, s.length()-2); 
+    settings.setValue("PACvalue",s);
+    settings.sync();
+}
+
 UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *platformStyle) :
     optionsModel(0),
     menu(0)
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index f62eb415502c..3f63a318e23b 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -19,6 +19,9 @@
 #include <QPushButton>
 #include <QSystemTrayIcon>
 #include <boost/filesystem/path.hpp>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
 
 class ClientModel;
 class NetworkStyle;
@@ -143,6 +146,9 @@ class BitcoinGUI : public QMainWindow
     QPushButton *btnImg;
     QLabel *messageLabel;
 
+    QNetworkAccessManager *manager;
+    QNetworkRequest request;
+
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
     int spinnerFrame;
@@ -242,6 +248,9 @@ private Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
+    /** API PAC_USD request */
+    void managerFinished(QNetworkReply *reply);
+
 
     /** Show open dialog */
     void openClicked();
diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index 152b85f2949e..f8000b1210a2 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -277,3 +277,14 @@ CAmount BitcoinUnits::maxMoney()
 {
     return MAX_MONEY;
 }
+
+QString BitcoinUnits::pacToUsd(CAmount balance)
+{
+    QSettings settings;
+    qint64 bal = (qint64)balance;
+    qint64 tbal = (bal > 0 ? bal : -bal);
+    double dbal = tbal;
+    double dval = (settings.value("PACvalue").toString()).toDouble();
+    QString s_n_abs = QString::number((dbal/100000000)*dval);
+    return s_n_abs;
+}
\ No newline at end of file
diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h
index 40011ea34180..fef5ff2c3720 100644
--- a/src/qt/bitcoinunits.h
+++ b/src/qt/bitcoinunits.h
@@ -102,6 +102,8 @@ class BitcoinUnits: public QAbstractListModel
     static QString getAmountColumnTitle(int unit);
     ///@}
 
+    static QString pacToUsd(CAmount balance);
+
     //! @name AbstractListModel implementation
     //! List model for unit drop-down selection box.
     ///@{
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index dc272d4bfa1f..42148175e806 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -222,6 +222,10 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
         cachedTxLocks = nCompleteTXLocks;
         ui->listTransactions->update();
     }
+
+    ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
+    ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(unconfirmedBalance) + " USD");
+    ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(balance + unconfirmedBalance + immatureBalance) + " USD");
 }
 
 // show/hide watch-only labels
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 22dc38ee98c8..0df0a0891ed5 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -389,5 +389,6 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchUnconfirmedBalance);
     Q_UNUSED(watchImmatureBalance);
 
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), balance, false, BitcoinUnits::separatorAlways));
 }
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index e88df71d8eb6..bb9093b4566c 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -585,6 +585,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    } else {
 		    bal = balance;
 	    }
+        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
         ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), bal, false, BitcoinUnits::separatorAlways));
     }
 }

From 1c59894cde03b30c8403a8694ed244e4ddc82f2a Mon Sep 17 00:00:00 2001
From: amancera <1596328+alejandromgk@users.noreply.github.com>
Date: Mon, 18 Feb 2019 19:46:22 -0600
Subject: [PATCH 124/225] Change windows setup filename

---
 share/setup.nsi.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/share/setup.nsi.in b/share/setup.nsi.in
index afccb684c3e8..dfe767d28f4c 100644
--- a/share/setup.nsi.in
+++ b/share/setup.nsi.in
@@ -48,7 +48,7 @@ Var StartMenuGroup
 !insertmacro MUI_LANGUAGE English
 
 # Installer attributes
-OutFile @abs_top_srcdir@/paccoincore-${VERSION}-win@WINDOWS_BITS@-setup.exe
+OutFile @abs_top_srcdir@/Paccoin-${VERSION}-win@WINDOWS_BITS@-setup.exe
 !if "@WINDOWS_BITS@" == "64"
 InstallDir $PROGRAMFILES64\PaccoinCore
 !else

From eb00b58b09d3a84f0b9524a9d7eee9f4e1944bcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:02:43 -0600
Subject: [PATCH 125/225] asset correction

removed unused image.
Replaced format jpg to png on background
---
 .../res/images/pac/drkblue_walletFrame_bg.jpg  | Bin 157481 -> 0 bytes
 .../res/images/pac/drkblue_walletFrame_bg.png  | Bin 0 -> 234061 bytes
 src/qt/res/images/pac/profile.jpg              | Bin 101295 -> 0 bytes
 3 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
 create mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.png
 delete mode 100644 src/qt/res/images/pac/profile.jpg

diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg b/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
deleted file mode 100644
index 829f27fd86662a47e086b7fbb264a6effc1da177..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.png b/src/qt/res/images/pac/drkblue_walletFrame_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..47d2dc8088f93c3ea0f0afd0319b5ef085cc77b2
GIT binary patch
diff --git a/src/qt/res/images/pac/profile.jpg b/src/qt/res/images/pac/profile.jpg
deleted file mode 100644
index e6d215df7fd75230fe5e2494fd0bf654bc5ee62a..0000000000000000000000000000000000000000
GIT binary patch

From 141d8c20f285d6c6df906128fd941907853b6a65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:03:57 -0600
Subject: [PATCH 126/225] UI BugFixed

Style now is default.
Removed unused code.
Button icons removed from linux and windows.
---
 src/qt/bitcoingui.cpp           |  8 +++++---
 src/qt/forms/sendcoinsdialog.ui | 33 ++++++++++++++++++++++++---------
 src/qt/guiutil.cpp              |  4 ++--
 src/qt/optionsdialog.cpp        |  1 +
 src/qt/paccoin.qrc              |  3 +--
 src/qt/platformstyle.cpp        |  4 ++--
 src/qt/res/css/pac.css          |  2 +-
 7 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 4efe89e21351..b2f52e460b44 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -148,6 +148,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
+    QSettings settings;
+    settings.setValue("theme", "pac");
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
@@ -158,9 +160,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+    /*QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: ";
-    std::cout<< family.toStdString();
+    std::cout<< family.toStdString();*/
 
     QFont defaultFont("Volte Rounded",13, 1, false);
     defaultFont.setBold(false);
@@ -1794,4 +1796,4 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     {
         optionsModel->setDisplayUnit(action->data());
     }
-}
\ No newline at end of file
+}
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 6d43ced77421..f29aefba12bf 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -63,7 +63,7 @@
         <item>
          <widget class="QFrame" name="frameCoinControl">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
@@ -71,7 +71,7 @@
           <property name="maximumSize">
            <size>
             <width>16777215</width>
-            <height>16777215</height>
+            <height>200</height>
            </size>
           </property>
           <property name="frameShape">
@@ -560,6 +560,18 @@
                </property>
                <item>
                 <widget class="QCheckBox" name="checkBoxCoinControlChange">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>200</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="toolTip">
                   <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
                  </property>
@@ -579,6 +591,9 @@
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
+                 <property name="styleSheet">
+                  <string notr="true"/>
+                 </property>
                 </widget>
                </item>
                <item>
@@ -634,7 +649,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>180</height>
+             <height>185</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -1864,21 +1879,21 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>BitcoinAmountField</class>
+   <class>QValidatedLineEdit</class>
    <extends>QLineEdit</extends>
-   <header>bitcoinamountfield.h</header>
-   <container>1</container>
+   <header>qvalidatedlineedit.h</header>
   </customwidget>
   <customwidget>
-   <class>QValidatedLineEdit</class>
+   <class>BitcoinAmountField</class>
    <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
+   <header>bitcoinamountfield.h</header>
+   <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
+  <buttongroup name="groupCustomFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 8e8d0d7461e5..96743724767c 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -934,10 +934,10 @@ QString loadStyleSheet()
     QString styleSheet;
     QSettings settings;
     QString cssName;
-    QString theme = settings.value("theme", "").toString();
+    QString theme = QString("pac");//settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        cssName = QString(":/css/") + theme;
+        cssName = QString(":/css/pac");
     }
     else {
         cssName = QString(":/css/pac");
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 8f757d6f4628..e9144bb0a8cd 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -93,6 +93,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     
     /* Theme selector */
     ui->theme->addItem(QString("pac theme"), QVariant("pac"));
+    ui->theme->setCurrentIndex(1);
     //ui->theme->addItem(QString("light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light-hires"), QVariant("light-hires"));
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 2588e840697f..ec18bdcc6ea5 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -365,12 +365,11 @@
         <file alias="drkblue_leftArrow_small">res/images/pac/drkblue_leftArrow_small.png</file>
         <file alias="drkblue_rightArrow_small">res/images/pac/drkblue_rightArrow_small.png</file>
         <file alias="drkblue_qtreeview_selected">res/images/pac/drkblue_qtreeview_selected.png</file>
-        <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.jpg</file>
+        <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.png</file>
         <file alias="splash">res/images/pac/splash.png</file>
         <file alias="splash_testnet">res/images/pac/splash_testnet.png</file>
         <file alias="hover_profile">res/images/pac/hover_profile.png</file>
         <file alias="profile_bkg">res/images/pac/profile_bkg.png</file>
-        <file alias="profile">res/images/pac/profile.jpg</file>
         <file alias="header_bkg">res/images/pac/header_bkg.png</file>
         <file alias="checked_b">res/images/pac/checked_b.png</file>
         <file alias="unchecked_b">res/images/pac/unchecked_b.png</file>
diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp
index 16b79c939908..1ebf5cffc068 100644
--- a/src/qt/platformstyle.cpp
+++ b/src/qt/platformstyle.cpp
@@ -23,9 +23,9 @@ static const struct {
     const bool useExtraSpacing;
 } platform_styles[] = {
     {"macosx", false, false, true},
-    {"windows", true, false, false},
+    {"windows", false, false, true},
     /* Other: linux, unix, ... */
-    {"other", true, false, false}
+    {"other", false, false, true}
 };
 static const unsigned platform_styles_count = sizeof(platform_styles)/sizeof(*platform_styles);
 
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e5eea36295af..944e1a6591c6 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -528,7 +528,7 @@ BitcoinAmountField QComboBox::indicator {
     border: 0px !important;
 }
 #frameCoinControl{
-    background: rgba(255,255,255,0.3);
+    background: rgba(200,200,200,0.15);
     border-radius: 8px !important;
 }
 #frameFee{

From 48ee9b737097837b1f17c70dfe19236823a63e1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:11:04 -0600
Subject: [PATCH 127/225] jpg to png background fix

---
 src/Makefile.qt.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 042c7532645a..b47eed075324 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -601,7 +601,7 @@ RES_IMAGES = \
   qt/res/images/pac/drkblue_leftArrow_small.png \
   qt/res/images/pac/drkblue_rightArrow_small.png \
   qt/res/images/pac/drkblue_qtreeview_selected.png \
-  qt/res/images/pac/drkblue_walletFrame_bg.jpg \
+  qt/res/images/pac/drkblue_walletFrame_bg.png \
   qt/res/images/pac/splash.png \
   qt/res/images/pac/splash_testnet.png \
   qt/res/images/pac/hover_profile.png \

From a1c73ce180e5a6a5a6966cbc3a5933587f4b0e59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:14:15 -0600
Subject: [PATCH 128/225] profile img removed from make.qt.include

---
 src/Makefile.qt.include | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index b47eed075324..9e4b9ed18b17 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -606,7 +606,6 @@ RES_IMAGES = \
   qt/res/images/pac/splash_testnet.png \
   qt/res/images/pac/hover_profile.png \
   qt/res/images/pac/profile_bkg.png \
-  qt/res/images/pac/profile.jpg \
   qt/res/images/pac/header_bkg.png \
   qt/res/images/pac/checked_b.png \
   qt/res/images/pac/unchecked_b.png \

From bc9408a6e6470d49e46d505a230db73a802e8858 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 18 Feb 2019 18:40:38 -0600
Subject: [PATCH 129/225] Auto stash before merge of "socket_semoval" and
 "origin/socket_semoval"

---
 src/qt/bitcoingui.cpp         | 24 +++++++++++++++++++++---
 src/qt/bitcoingui.h           |  9 +++++++++
 src/qt/bitcoinunits.cpp       | 11 +++++++++++
 src/qt/bitcoinunits.h         |  2 ++
 src/qt/overviewpage.cpp       |  4 ++++
 src/qt/receivecoinsdialog.cpp |  1 +
 src/qt/sendcoinsdialog.cpp    |  1 +
 7 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index fc34bc661c03..4efe89e21351 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -65,9 +65,6 @@
 #include <QFileDialog>
 #include <QProxyStyle>
 #include <QPainter>
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QJsonValue>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -206,6 +203,10 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     rpcConsole = new RPCConsole(platformStyle, 0);
     helpMessageDialog = new HelpMessageDialog(this, HelpMessageDialog::cmdline);
 #ifdef ENABLE_WALLET
+    manager = new QNetworkAccessManager();
+    QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerFinished(QNetworkReply*)));
+    request.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    manager->get(request);
     if(enableWallet)
     {
         /** Create wallet frame*/
@@ -1704,6 +1705,23 @@ void BitcoinGUI::handleRestart(QStringList args)
         Q_EMIT requestedRestart(args);
 }
 
+void BitcoinGUI::managerFinished(QNetworkReply *reply) {
+    if (reply->error()) {
+        QSettings settings;
+        settings.setValue("PACvalue","0");
+        settings.sync();
+        return;
+    }
+    QString answer = reply->readAll();
+
+    QSettings settings;
+    QStringList list1 = answer.split('"');
+    QString s = list1[6];
+    s = s.mid(1, s.length()-2); 
+    settings.setValue("PACvalue",s);
+    settings.sync();
+}
+
 UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *platformStyle) :
     optionsModel(0),
     menu(0)
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index f62eb415502c..3f63a318e23b 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -19,6 +19,9 @@
 #include <QPushButton>
 #include <QSystemTrayIcon>
 #include <boost/filesystem/path.hpp>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
 
 class ClientModel;
 class NetworkStyle;
@@ -143,6 +146,9 @@ class BitcoinGUI : public QMainWindow
     QPushButton *btnImg;
     QLabel *messageLabel;
 
+    QNetworkAccessManager *manager;
+    QNetworkRequest request;
+
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
     int spinnerFrame;
@@ -242,6 +248,9 @@ private Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
+    /** API PAC_USD request */
+    void managerFinished(QNetworkReply *reply);
+
 
     /** Show open dialog */
     void openClicked();
diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index 152b85f2949e..f8000b1210a2 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -277,3 +277,14 @@ CAmount BitcoinUnits::maxMoney()
 {
     return MAX_MONEY;
 }
+
+QString BitcoinUnits::pacToUsd(CAmount balance)
+{
+    QSettings settings;
+    qint64 bal = (qint64)balance;
+    qint64 tbal = (bal > 0 ? bal : -bal);
+    double dbal = tbal;
+    double dval = (settings.value("PACvalue").toString()).toDouble();
+    QString s_n_abs = QString::number((dbal/100000000)*dval);
+    return s_n_abs;
+}
\ No newline at end of file
diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h
index 40011ea34180..fef5ff2c3720 100644
--- a/src/qt/bitcoinunits.h
+++ b/src/qt/bitcoinunits.h
@@ -102,6 +102,8 @@ class BitcoinUnits: public QAbstractListModel
     static QString getAmountColumnTitle(int unit);
     ///@}
 
+    static QString pacToUsd(CAmount balance);
+
     //! @name AbstractListModel implementation
     //! List model for unit drop-down selection box.
     ///@{
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index dc272d4bfa1f..42148175e806 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -222,6 +222,10 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
         cachedTxLocks = nCompleteTXLocks;
         ui->listTransactions->update();
     }
+
+    ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
+    ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(unconfirmedBalance) + " USD");
+    ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(balance + unconfirmedBalance + immatureBalance) + " USD");
 }
 
 // show/hide watch-only labels
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 22dc38ee98c8..0df0a0891ed5 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -389,5 +389,6 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchUnconfirmedBalance);
     Q_UNUSED(watchImmatureBalance);
 
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), balance, false, BitcoinUnits::separatorAlways));
 }
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index e88df71d8eb6..bb9093b4566c 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -585,6 +585,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    } else {
 		    bal = balance;
 	    }
+        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
         ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), bal, false, BitcoinUnits::separatorAlways));
     }
 }

From a205ba9db77745bbcba2380d28db9b8c0b2f7058 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:02:43 -0600
Subject: [PATCH 130/225] asset correction

removed unused image.
Replaced format jpg to png on background
---
 .../res/images/pac/drkblue_walletFrame_bg.jpg  | Bin 157481 -> 0 bytes
 .../res/images/pac/drkblue_walletFrame_bg.png  | Bin 0 -> 234061 bytes
 src/qt/res/images/pac/profile.jpg              | Bin 101295 -> 0 bytes
 3 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
 create mode 100644 src/qt/res/images/pac/drkblue_walletFrame_bg.png
 delete mode 100644 src/qt/res/images/pac/profile.jpg

diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg b/src/qt/res/images/pac/drkblue_walletFrame_bg.jpg
deleted file mode 100644
index 829f27fd86662a47e086b7fbb264a6effc1da177..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/pac/drkblue_walletFrame_bg.png b/src/qt/res/images/pac/drkblue_walletFrame_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..47d2dc8088f93c3ea0f0afd0319b5ef085cc77b2
GIT binary patch
diff --git a/src/qt/res/images/pac/profile.jpg b/src/qt/res/images/pac/profile.jpg
deleted file mode 100644
index e6d215df7fd75230fe5e2494fd0bf654bc5ee62a..0000000000000000000000000000000000000000
GIT binary patch

From 42117d6d9b9b3cd02f33d6e2944fe160b5d6c05e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:03:57 -0600
Subject: [PATCH 131/225] UI BugFixed

Style now is default.
Removed unused code.
Button icons removed from linux and windows.
---
 src/qt/bitcoingui.cpp           |  8 +++++---
 src/qt/forms/sendcoinsdialog.ui | 33 ++++++++++++++++++++++++---------
 src/qt/guiutil.cpp              |  4 ++--
 src/qt/optionsdialog.cpp        |  1 +
 src/qt/paccoin.qrc              |  3 +--
 src/qt/platformstyle.cpp        |  4 ++--
 src/qt/res/css/pac.css          |  2 +-
 7 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 4efe89e21351..b2f52e460b44 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -148,6 +148,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
+    QSettings settings;
+    settings.setValue("theme", "pac");
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
@@ -158,9 +160,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+    /*QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: ";
-    std::cout<< family.toStdString();
+    std::cout<< family.toStdString();*/
 
     QFont defaultFont("Volte Rounded",13, 1, false);
     defaultFont.setBold(false);
@@ -1794,4 +1796,4 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     {
         optionsModel->setDisplayUnit(action->data());
     }
-}
\ No newline at end of file
+}
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 6d43ced77421..f29aefba12bf 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -63,7 +63,7 @@
         <item>
          <widget class="QFrame" name="frameCoinControl">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
@@ -71,7 +71,7 @@
           <property name="maximumSize">
            <size>
             <width>16777215</width>
-            <height>16777215</height>
+            <height>200</height>
            </size>
           </property>
           <property name="frameShape">
@@ -560,6 +560,18 @@
                </property>
                <item>
                 <widget class="QCheckBox" name="checkBoxCoinControlChange">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>200</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="toolTip">
                   <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
                  </property>
@@ -579,6 +591,9 @@
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
+                 <property name="styleSheet">
+                  <string notr="true"/>
+                 </property>
                 </widget>
                </item>
                <item>
@@ -634,7 +649,7 @@
              <x>0</x>
              <y>0</y>
              <width>811</width>
-             <height>180</height>
+             <height>185</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -1864,21 +1879,21 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>BitcoinAmountField</class>
+   <class>QValidatedLineEdit</class>
    <extends>QLineEdit</extends>
-   <header>bitcoinamountfield.h</header>
-   <container>1</container>
+   <header>qvalidatedlineedit.h</header>
   </customwidget>
   <customwidget>
-   <class>QValidatedLineEdit</class>
+   <class>BitcoinAmountField</class>
    <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
+   <header>bitcoinamountfield.h</header>
+   <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
+  <buttongroup name="groupCustomFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 8e8d0d7461e5..96743724767c 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -934,10 +934,10 @@ QString loadStyleSheet()
     QString styleSheet;
     QSettings settings;
     QString cssName;
-    QString theme = settings.value("theme", "").toString();
+    QString theme = QString("pac");//settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        cssName = QString(":/css/") + theme;
+        cssName = QString(":/css/pac");
     }
     else {
         cssName = QString(":/css/pac");
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 8f757d6f4628..e9144bb0a8cd 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -93,6 +93,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     
     /* Theme selector */
     ui->theme->addItem(QString("pac theme"), QVariant("pac"));
+    ui->theme->setCurrentIndex(1);
     //ui->theme->addItem(QString("light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light"), QVariant("light"));
     //ui->theme->addItem(QString("PAC-light-hires"), QVariant("light-hires"));
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index 2588e840697f..ec18bdcc6ea5 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -365,12 +365,11 @@
         <file alias="drkblue_leftArrow_small">res/images/pac/drkblue_leftArrow_small.png</file>
         <file alias="drkblue_rightArrow_small">res/images/pac/drkblue_rightArrow_small.png</file>
         <file alias="drkblue_qtreeview_selected">res/images/pac/drkblue_qtreeview_selected.png</file>
-        <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.jpg</file>
+        <file alias="drkblue_walletFrame_bg">res/images/pac/drkblue_walletFrame_bg.png</file>
         <file alias="splash">res/images/pac/splash.png</file>
         <file alias="splash_testnet">res/images/pac/splash_testnet.png</file>
         <file alias="hover_profile">res/images/pac/hover_profile.png</file>
         <file alias="profile_bkg">res/images/pac/profile_bkg.png</file>
-        <file alias="profile">res/images/pac/profile.jpg</file>
         <file alias="header_bkg">res/images/pac/header_bkg.png</file>
         <file alias="checked_b">res/images/pac/checked_b.png</file>
         <file alias="unchecked_b">res/images/pac/unchecked_b.png</file>
diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp
index 16b79c939908..1ebf5cffc068 100644
--- a/src/qt/platformstyle.cpp
+++ b/src/qt/platformstyle.cpp
@@ -23,9 +23,9 @@ static const struct {
     const bool useExtraSpacing;
 } platform_styles[] = {
     {"macosx", false, false, true},
-    {"windows", true, false, false},
+    {"windows", false, false, true},
     /* Other: linux, unix, ... */
-    {"other", true, false, false}
+    {"other", false, false, true}
 };
 static const unsigned platform_styles_count = sizeof(platform_styles)/sizeof(*platform_styles);
 
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e5eea36295af..944e1a6591c6 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -528,7 +528,7 @@ BitcoinAmountField QComboBox::indicator {
     border: 0px !important;
 }
 #frameCoinControl{
-    background: rgba(255,255,255,0.3);
+    background: rgba(200,200,200,0.15);
     border-radius: 8px !important;
 }
 #frameFee{

From 362f6613e6fce1479f12b47cf6c891d65da76e04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:11:04 -0600
Subject: [PATCH 132/225] jpg to png background fix

---
 src/Makefile.qt.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 042c7532645a..b47eed075324 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -601,7 +601,7 @@ RES_IMAGES = \
   qt/res/images/pac/drkblue_leftArrow_small.png \
   qt/res/images/pac/drkblue_rightArrow_small.png \
   qt/res/images/pac/drkblue_qtreeview_selected.png \
-  qt/res/images/pac/drkblue_walletFrame_bg.jpg \
+  qt/res/images/pac/drkblue_walletFrame_bg.png \
   qt/res/images/pac/splash.png \
   qt/res/images/pac/splash_testnet.png \
   qt/res/images/pac/hover_profile.png \

From 1dccc39db63cd15736e4c3f477f890b5eaaf39c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 02:14:15 -0600
Subject: [PATCH 133/225] profile img removed from make.qt.include

---
 src/Makefile.qt.include | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index b47eed075324..9e4b9ed18b17 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -606,7 +606,6 @@ RES_IMAGES = \
   qt/res/images/pac/splash_testnet.png \
   qt/res/images/pac/hover_profile.png \
   qt/res/images/pac/profile_bkg.png \
-  qt/res/images/pac/profile.jpg \
   qt/res/images/pac/header_bkg.png \
   qt/res/images/pac/checked_b.png \
   qt/res/images/pac/unchecked_b.png \

From c28a1ffba0055c7a1f1728626f848f1758c09a55 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 19 Feb 2019 10:13:36 -0600
Subject: [PATCH 134/225] News message deleted

---
 src/qt/bitcoingui.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index b2f52e460b44..699657c6dbb1 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -722,7 +722,7 @@ void BitcoinGUI::createHeaderBar()
     headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");
 
 
-    messageLabel->setText("LATEST NEWS: $PAC launches new desktop wallet, featuring new merchant-focused...");
+    messageLabel->setText("");
     messageLabel->setAlignment(Qt::AlignCenter);
     messageLabel->setStyleSheet("QLabel { color:white; font-size:24px;}");
 

From b49f36c6b7496249747a14e91b8d948e088a55b2 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 19 Feb 2019 10:33:37 -0600
Subject: [PATCH 135/225] Icons on Windows deleted

---
 src/qt/receivecoinsdialog.cpp | 11 -----------
 src/qt/sendcoinsdialog.cpp    | 10 ----------
 src/qt/walletview.cpp         |  4 ----
 3 files changed, 25 deletions(-)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 0df0a0891ed5..aaea38d8780b 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -65,17 +65,6 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     ui->qrLayoutContainer->setContentsMargins(0,0,0,0);
     ui->qrLayoutContainer->addWidget(lblQRCode);
 
-    if (!platformStyle->getImagesOnButtons()) {
-        ui->clearButton->setIcon(QIcon());
-        ui->receiveButton->setIcon(QIcon());
-        ui->showRequestButton->setIcon(QIcon());
-        ui->removeRequestButton->setIcon(QIcon());
-    } else {
-        ui->clearButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
-        ui->receiveButton->setIcon(QIcon(":/icons/" + theme + "/receiving_addresses"));
-        ui->showRequestButton->setIcon(QIcon(":/icons/" + theme + "/edit"));
-        ui->removeRequestButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
-    }
     ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32")); 
 
     // context menu actions
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index bb9093b4566c..d346e25c6a41 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -42,16 +42,6 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
-    if (!platformStyle->getImagesOnButtons()) {
-        ui->addButton->setIcon(QIcon());
-        ui->clearButton->setIcon(QIcon());
-        ui->sendButton->setIcon(QIcon());
-    } else {
-        ui->addButton->setIcon(QIcon(":/icons/" + theme + "/add"));
-        ui->clearButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
-        ui->sendButton->setIcon(QIcon(":/icons/" + theme + "/send"));
-    }
-
     ui->iconLabelConvertedCurrency->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32"));
     
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index cd945325828d..9839c41c9f9c 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -49,10 +49,6 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     vbox->addWidget(transactionView);
     QPushButton *exportButton = new QPushButton(tr("&Export"), this);
     exportButton->setToolTip(tr("Export the data in the current tab to a file"));
-    if (platformStyle->getImagesOnButtons()) {
-        QString theme = GUIUtil::getThemeName();
-        exportButton->setIcon(QIcon(":/icons/" + theme + "/export"));
-    }
     hbox_buttons->addStretch();
 
     // Sum of selected transactions

From a3e338469c03a9eb48fc5667a2656eea630ac5dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 10:51:47 -0600
Subject: [PATCH 136/225] Scrollbar horizontal ui fixed

---
 src/qt/res/css/pac.css | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 944e1a6591c6..8658c2588970 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -173,26 +173,26 @@ QPlainTextEdit {
     font-size: 15px;
 }
 /* ScrollBar */
-QScrollBar:vertical {
+QScrollBar:vertical, QScrollBar:horizontal {
     background-color: #191919;
     width: 16px;
     margin: 16px 2px 16px 2px;
     border: 1px solid rgb(50,50,50);
     border-radius: 4px;
 }
-QScrollBar::handle:vertical {
+QScrollBar::handle:vertical, , QScrollBar::handle:horizontal  {
     background-color: #787878;
     border: 1px solid rgb(50,50,50);
     min-height: 8px;
     border-radius: 4px;
 }
-QScrollBar::handle:vertical:hover {
+QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
     background-color: rgb(243,232,56);
     border: 1px solid rgb(243,232,56);
     border-radius: 4px;
     min-height: 8px;
 }
-QScrollBar::sub-line:vertical {
+QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
     margin: 3px 0px 3px 0px;
     border-image: url(:/images/pac/drkblue_upArrow_small);
     height: 10px;
@@ -200,7 +200,7 @@ QScrollBar::sub-line:vertical {
     subcontrol-position: top;
     subcontrol-origin: margin;
 }
-QScrollBar::add-line:vertical {
+QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
     margin: 3px 0px 3px 0px;
     border-image: url(:/images/pac/drkblue_downArrow_small);
     height: 10px;
@@ -208,24 +208,24 @@ QScrollBar::add-line:vertical {
     subcontrol-position: bottom;
     subcontrol-origin: margin;
 }
-QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on {
+QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on , QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on{
     border-image: url(:/images/pac/drkblue_upArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: top;
     subcontrol-origin: margin;
 }
-QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on {
+QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on, QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on{
     border-image: url(:/images/pac/drkblue_downArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: bottom;
     subcontrol-origin: margin;
 }
-QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
+QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal {
     background: none;
 }
-QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
+QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{
     background: none;
 }
 /* GLOBAL SPINBOX */

From 4718321433b059a68fd74df0bb6da9c80791efcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 11:09:42 -0600
Subject: [PATCH 137/225] BugFixed

a comma unwanted
---
 src/qt/res/css/pac.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 8658c2588970..2977a0825d68 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -180,7 +180,7 @@ QScrollBar:vertical, QScrollBar:horizontal {
     border: 1px solid rgb(50,50,50);
     border-radius: 4px;
 }
-QScrollBar::handle:vertical, , QScrollBar::handle:horizontal  {
+QScrollBar::handle:vertical, QScrollBar::handle:horizontal  {
     background-color: #787878;
     border: 1px solid rgb(50,50,50);
     min-height: 8px;

From 199bf4da963e9b4a29b43c329c9b6b80f6340afa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Feb 2019 11:18:55 -0600
Subject: [PATCH 138/225] restoring cross platform functionality of icons on
 buttons

was already disabled
---
 src/qt/receivecoinsdialog.cpp | 11 +++++++++++
 src/qt/sendcoinsdialog.cpp    | 11 +++++++++++
 src/qt/walletview.cpp         |  6 +++++-
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index aaea38d8780b..19c2034adcbb 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -65,6 +65,17 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     ui->qrLayoutContainer->setContentsMargins(0,0,0,0);
     ui->qrLayoutContainer->addWidget(lblQRCode);
 
+    if (!platformStyle->getImagesOnButtons()) {
+            ui->clearButton->setIcon(QIcon());
+            ui->receiveButton->setIcon(QIcon());
+            ui->showRequestButton->setIcon(QIcon());
+            ui->removeRequestButton->setIcon(QIcon());
+        } else {
+            ui->clearButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
+            ui->receiveButton->setIcon(QIcon(":/icons/" + theme + "/receiving_addresses"));
+            ui->showRequestButton->setIcon(QIcon(":/icons/" + theme + "/edit"));
+            ui->removeRequestButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
+    }
     ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32")); 
 
     // context menu actions
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index d346e25c6a41..057b87efec78 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -42,6 +42,17 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
+    if (!platformStyle->getImagesOnButtons()) {
+        ui->addButton->setIcon(QIcon());
+        ui->clearButton->setIcon(QIcon());
+        ui->sendButton->setIcon(QIcon());
+    } else {
+        ui->addButton->setIcon(QIcon(":/icons/" + theme + "/add"));
+        ui->clearButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
+        ui->sendButton->setIcon(QIcon(":/icons/" + theme + "/send"));
+    }
+
+
     ui->iconLabelConvertedCurrency->setPixmap(QPixmap(":icons/bitcoin-32"));
     ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32"));
     
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 9839c41c9f9c..f852c9b8e769 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -49,6 +49,10 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     vbox->addWidget(transactionView);
     QPushButton *exportButton = new QPushButton(tr("&Export"), this);
     exportButton->setToolTip(tr("Export the data in the current tab to a file"));
+    if (platformStyle->getImagesOnButtons()) {
+        QString theme = GUIUtil::getThemeName();
+        exportButton->setIcon(QIcon(":/icons/" + theme + "/export"));
+    }
     hbox_buttons->addStretch();
 
     // Sum of selected transactions
@@ -410,4 +414,4 @@ void WalletView::requestedSyncWarningInfo()
 void WalletView::trxAmount(QString amount)
 {
     transactionSum->setText(amount);
-}
\ No newline at end of file
+}

From 8d1de6785bc8d67e06118b180512870921b95089 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 19 Feb 2019 11:22:46 -0600
Subject: [PATCH 139/225] Overview info updated and dialog URI background
 changed

---
 src/qt/receiverequestdialog.cpp | 2 ++
 src/qt/utilitydialog.cpp        | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp
index 670126f31082..db1128f73573 100644
--- a/src/qt/receiverequestdialog.cpp
+++ b/src/qt/receiverequestdialog.cpp
@@ -150,6 +150,8 @@ void ReceiveRequestDialog::update()
     if(!info.message.isEmpty())
         html += "<b>"+tr("Message")+"</b>: " + GUIUtil::HtmlEscape(info.message) + "<br>";
     html += "<b>"+tr("InstantPAC")+"</b>: " + (info.fUseInstantSend ? tr("Yes") : tr("No")) + "<br>";
+    ui->outUri->setObjectName("outuri");
+    ui->outUri->setStyleSheet("#outuri {background-color: #1a1a1a; color: #fff;}");
     ui->outUri->setText(html);
 
 #ifdef USE_QRCODE
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index 28e38012feac..ef3e644c70b0 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -179,7 +179,7 @@ first need to be confirmed by the network, this means that it is yours but first
 On the right side you can see all of your transactions, the coins you send, receive or get rewarded, if you click on one of them it will redirect you to \
 see all of the information of the transaction. <br> \
 For more information see https://wallets.paccoin.net/.<hr><br> \
-IMPORTANT: the convertion PAC to USD can have some fluctuation since the value is obtained from an external API and the value is obtained every certain time."));
+IMPORTANT: the convertion PAC to USD can have some fluctuation since the value is obtained from an external API and the value is obtained when opening the wallet."));
         
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);

From 487188c26709a473981076a1d7c9e9da985992df Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 19 Feb 2019 11:56:06 -0600
Subject: [PATCH 140/225] MyMasternodes table style fix

---
 src/qt/masternodelist.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index 2ea753f32758..51383edb85d4 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -59,6 +59,9 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
     ui->tableWidgetMasternodes->setAlternatingRowColors(false);
     ui->tableWidgetMasternodes->setShowGrid(false);
 
+    ui->tableWidgetMyMasternodes->setAlternatingRowColors(false);
+    ui->tableWidgetMyMasternodes->setShowGrid(false);
+    
     ui->tableWidgetMyMasternodes->setContextMenuPolicy(Qt::CustomContextMenu);
 
     QAction *startAliasAction = new QAction(tr("Start alias"), this);

From be5bb21071d22d253af8892027db17b9986ba0a4 Mon Sep 17 00:00:00 2001
From: Chun Kuan Lee <ken2812221@gmail.com>
Date: Sat, 5 May 2018 13:18:40 +0000
Subject: [PATCH 141/225] GCC-7 and glibc-2.27 compat code

---
 configure.ac                |  7 ++++++
 src/Makefile.am             |  1 +
 src/compat/glibc_compat.cpp | 45 +++++++++++++++++++++++++++++++++++++
 3 files changed, 53 insertions(+)

diff --git a/configure.ac b/configure.ac
index 647399402c47..61505c9c75a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -488,6 +488,8 @@ if test x$use_glibc_compat != xno; then
     [ fdelt_type="long int"])
   AC_MSG_RESULT($fdelt_type)
   AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk])
+  AX_CHECK_LINK_FLAG([[-Wl,--wrap=__divmoddi4]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=__divmoddi4"])
+  AX_CHECK_LINK_FLAG([[-Wl,--wrap=log2f]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=log2f"])
 else
   AC_SEARCH_LIBS([clock_gettime],[rt])
 fi
@@ -1091,6 +1093,11 @@ AC_SUBST(BITCOIN_CLI_NAME)
 AC_SUBST(BITCOIN_TX_NAME)
 
 AC_SUBST(RELDFLAGS)
+AC_SUBST(DEBUG_CPPFLAGS)
+AC_SUBST(WARN_CXXFLAGS)
+AC_SUBST(NOWARN_CXXFLAGS)
+AC_SUBST(DEBUG_CXXFLAGS)
+AC_SUBST(COMPAT_LDFLAGS)
 AC_SUBST(ERROR_CXXFLAGS)
 AC_SUBST(HARDENED_CXXFLAGS)
 AC_SUBST(HARDENED_CPPFLAGS)
diff --git a/src/Makefile.am b/src/Makefile.am
index 88c2990f4f2a..123f80b7f746 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -401,6 +401,7 @@ libbitcoin_util_a_SOURCES = \
 
 if GLIBC_BACK_COMPAT
 libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp
+AM_LDFLAGS += $(COMPAT_LDFLAGS)
 endif
 
 # cli: shared between paccoin-cli and paccoin-qt
diff --git a/src/compat/glibc_compat.cpp b/src/compat/glibc_compat.cpp
index 155ff8a0511f..e797e59d9c9d 100644
--- a/src/compat/glibc_compat.cpp
+++ b/src/compat/glibc_compat.cpp
@@ -7,6 +7,7 @@
 #endif
 
 #include <cstddef>
+#include <cstdint>
 
 #if defined(HAVE_SYS_SELECT_H)
 #include <sys/select.h>
@@ -27,3 +28,47 @@ extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a)
     return a / __NFDBITS;
 }
 extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) __attribute__((weak, alias("__fdelt_warn")));
+
+#if defined(__i386__) || defined(__arm__)
+
+extern "C" int64_t __udivmoddi4(uint64_t u, uint64_t v, uint64_t* rp);
+
+extern "C" int64_t __wrap___divmoddi4(int64_t u, int64_t v, int64_t* rp)
+{
+    int32_t c1 = 0, c2 = 0;
+    int64_t uu = u, vv = v;
+    int64_t w;
+    int64_t r;
+
+    if (uu < 0) {
+        c1 = ~c1, c2 = ~c2, uu = -uu;
+    }
+    if (vv < 0) {
+        c1 = ~c1, vv = -vv;
+    }
+
+    w = __udivmoddi4(uu, vv, (uint64_t*)&r);
+    if (c1)
+        w = -w;
+    if (c2)
+        r = -r;
+
+    *rp = r;
+    return w;
+}
+#endif
+
+extern "C" float log2f_old(float x);
+#ifdef __i386__
+__asm(".symver log2f_old,log2f@GLIBC_2.1");
+#elif defined(__amd64__)
+__asm(".symver log2f_old,log2f@GLIBC_2.2.5");
+#elif defined(__arm__)
+__asm(".symver log2f_old,log2f@GLIBC_2.4");
+#elif defined(__aarch64__)
+__asm(".symver log2f_old,log2f@GLIBC_2.17");
+#endif
+extern "C" float __wrap_log2f(float x)
+{
+    return log2f_old(x);
+}

From 53089b50952d11d0532d2bb0c6046697ffa1a2f0 Mon Sep 17 00:00:00 2001
From: Chun Kuan Lee <ken2812221@gmail.com>
Date: Sat, 2 Jun 2018 17:30:16 +0000
Subject: [PATCH 142/225] Add stdin, stdout, stderr to ignored export list

---
 contrib/devtools/symbol-check.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/devtools/symbol-check.py b/contrib/devtools/symbol-check.py
index 4ad5136f79ee..edfc77616368 100755
--- a/contrib/devtools/symbol-check.py
+++ b/contrib/devtools/symbol-check.py
@@ -47,7 +47,7 @@
 
 # Ignore symbols that are exported as part of every executable
 IGNORE_EXPORTS = {
-'_edata', '_end', '_init', '__bss_start', '_fini', '_IO_stdin_used'
+'_edata', '_end', '_init', '__bss_start', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr'
 }
 READELF_CMD = os.getenv('READELF', '/usr/bin/readelf')
 CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt')

From eae14938847907de71d39a16bde2ef13ae7cbedd Mon Sep 17 00:00:00 2001
From: Alexander Block <ablock84@gmail.com>
Date: Mon, 13 Aug 2018 22:21:42 +0200
Subject: [PATCH 143/225] Backport move to Ubuntu Bionic and GCC7 in Gitian
 builds (#2225)

* Add stdin, stdout, stderr to ignored export list

* Merge #13171: Change gitian-descriptors to use bionic instead

c1afe3232fa10e290fb355cf37ea4c7bc1084065 Change gitian-descriptors to use bionic instead (Chun Kuan Lee)

Pull request description:

  I have tested this with Ubuntu Bionic host with lxc 3.0.0, the gitian-build for Windows and MacOSX work fine, but there is an issue about it for Linux. Failed at check-symbol:
  ```
  test/test_bitcoin: symbol __divmoddi4 from unsupported version GCC_7.0.0
  test/test_bitcoin: symbol log2f from unsupported version GLIBC_2.27
  qt/bitcoin-qt: symbol __divmoddi4 from unsupported version GCC_7.0.0
  qt/bitcoin-qt: symbol log2f from unsupported version GLIBC_2.27
  ```
  I think this should be fixed in `./configure --enable-glibc-back-compat`

  Should not be merged before #13177 devrandom/gitian-builder#178

  Close #12511

Tree-SHA512: 257d75d5b6864e105279f7a7b992fbbd7903cdbe3300b66dacec0a783d267707d9dbbfe0e64a36983ca1eca50a2a5e1cdb222b6d3745ccc3e5fc5636c88b581f

* Use IN6ADDR_ANY_INIT instead of in6addr_any

This is the same fix as https://github.com/bitcoin/bitcoin/commit/fc6a9f2ab18ca8466d65d14c263c4f78f9ccebbf
Couldn't backport the original commit as we are missing some refactorings.
---
 src/init.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/init.cpp b/src/init.cpp
index 2f7ad882c3ec..787aaa271fac 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1457,7 +1457,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
         else {
             struct in_addr inaddr_any;
             inaddr_any.s_addr = INADDR_ANY;
-            fBound |= Bind(connman, CService(in6addr_any, GetListenPort()), BF_NONE);
+            fBound |= Bind(connman, CService((in6_addr)IN6ADDR_ANY_INIT, GetListenPort()), BF_NONE);
             fBound |= Bind(connman, CService(inaddr_any, GetListenPort()), !fBound ? BF_REPORT_ERROR : BF_NONE);
         }
         if (!fBound)

From 167880e3c4435e636a6046006e118d7d94fa0549 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 20 Feb 2019 11:30:21 -0600
Subject: [PATCH 144/225] BugFixed: Table borders on windows and linux now
 transparent

border:none;
---
 src/qt/res/css/pac.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 2977a0825d68..7932a760b4bc 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -308,7 +308,7 @@ QScrollArea {
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(40, 40, 40, 0.3);
     color: white !important;
-    /*alternate-background-color: yellow;*/
+    border:none;
 }
 QTableView::item { /* Table Item */
     font-size:12px;

From 2fe01390f4c0298d72feee067dee26220b233f59 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 20 Feb 2019 12:12:49 -0600
Subject: [PATCH 145/225] Private page tool tip fix

---
 src/qt/bitcoingui.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 699657c6dbb1..b9d28af93ea9 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -392,7 +392,7 @@ void BitcoinGUI::createActions()
     //:v
     privateAction = new QAction(QIcon(":/icons/" + theme + "/private"), tr("&Private"), this);
     privateAction->setStatusTip(tr("Browse private section"));
-    privateAction->setToolTip(historyAction->statusTip());
+    privateAction->setToolTip(privateAction->statusTip());
     privateAction->setCheckable(true);
 #ifdef Q_OS_MAC
     privateAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_7));

From b20385c806b15d906424b4115ed6f9fc10d0364a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 21 Feb 2019 13:22:00 -0600
Subject: [PATCH 146/225] BugFixed UI send and receive coins

When coins control dialog open.  right colum was getting small.

Sendcoins page: coins control re located.

Table of history requested coins was too small in height.

QRCode address otput implementation (pending to finish)
---
 src/qt/forms/receivecoinsdialog.ui | 107 +++++++++-
 src/qt/forms/sendcoinsdialog.ui    | 318 ++++++++++++++++++-----------
 src/qt/res/css/pac.css             |  32 ++-
 3 files changed, 333 insertions(+), 124 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index c65c73fb1d54..1b4aa508492e 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -73,7 +73,7 @@
              </property>
              <property name="font">
               <font>
-               <pointsize>11</pointsize>
+               <pointsize>13</pointsize>
                <weight>75</weight>
                <bold>true</bold>
               </font>
@@ -162,7 +162,7 @@
            <property name="maximumSize">
             <size>
              <width>16777215</width>
-             <height>200</height>
+             <height>16777215</height>
             </size>
            </property>
            <property name="contextMenuPolicy">
@@ -626,6 +626,105 @@
            <layout class="QHBoxLayout" name="qrLayoutContainer"/>
           </widget>
          </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_7">
+           <item>
+            <spacer name="horizontalSpacer_6">
+             <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="QLineEdit" name="lineEditCurrentAddress">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>260</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="maximumSize">
+              <size>
+               <width>260</width>
+               <height>16777215</height>
+              </size>
+             </property>
+             <property name="whatsThis">
+              <string>Last PAC Address</string>
+             </property>
+             <property name="inputMask">
+              <string/>
+             </property>
+             <property name="text">
+              <string/>
+             </property>
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+             <property name="placeholderText">
+              <string>PAC Address</string>
+             </property>
+             <property name="clearButtonEnabled">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>LineEditSmall</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QToolButton" name="btnCopyLastAddress">
+             <property name="minimumSize">
+              <size>
+               <width>20</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="maximumSize">
+              <size>
+               <width>20</width>
+               <height>50</height>
+              </size>
+             </property>
+             <property name="text">
+              <string/>
+             </property>
+             <property name="icon">
+              <iconset resource="../paccoin.qrc">
+               <normaloff>:/icons/pac/editcopy</normaloff>:/icons/pac/editcopy</iconset>
+             </property>
+             <property name="checkable">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>QuickButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_7">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </item>
          <item>
           <spacer name="verticalSpacer">
            <property name="orientation">
@@ -745,6 +844,8 @@
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
  </tabstops>
- <resources/>
+ <resources>
+  <include location="../paccoin.qrc"/>
+ </resources>
  <connections/>
 </ui>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index f29aefba12bf..501f9063cdb7 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -63,15 +63,21 @@
         <item>
          <widget class="QFrame" name="frameCoinControl">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
           </property>
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
           <property name="maximumSize">
            <size>
             <width>16777215</width>
-            <height>200</height>
+            <height>180</height>
            </size>
           </property>
           <property name="frameShape">
@@ -97,7 +103,7 @@
             <number>6</number>
            </property>
            <item>
-            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,0">
+            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0">
              <property name="spacing">
               <number>0</number>
              </property>
@@ -127,7 +133,7 @@
                   </font>
                  </property>
                  <property name="styleSheet">
-                  <string notr="true">font-weight:bold;</string>
+                  <string notr="true"/>
                  </property>
                  <property name="text">
                   <string>Coin Control Features</string>
@@ -137,10 +143,65 @@
                  </property>
                 </widget>
                </item>
+               <item>
+                <spacer name="horizontalSpacer_15">
+                 <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="labelCoinControlChangeLabel">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>0</width>
+                   <height>0</height>
+                  </size>
+                 </property>
+                 <property name="text">
+                  <string/>
+                 </property>
+                 <property name="margin">
+                  <number>3</number>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLabel" name="labelCoinControlInsuffFunds">
+                 <property name="font">
+                  <font>
+                   <pointsize>12</pointsize>
+                   <weight>75</weight>
+                   <bold>true</bold>
+                  </font>
+                 </property>
+                 <property name="styleSheet">
+                  <string notr="true">color:red;font-weight:bold;</string>
+                 </property>
+                 <property name="text">
+                  <string>Insufficient funds!</string>
+                 </property>
+                 <property name="margin">
+                  <number>5</number>
+                 </property>
+                </widget>
+               </item>
               </layout>
              </item>
              <item>
-              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0">
+              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0,0,0">
                <property name="spacing">
                 <number>8</number>
                </property>
@@ -158,10 +219,18 @@
                  <property name="autoDefault">
                   <bool>false</bool>
                  </property>
+                 <property name="class" stdset="0">
+                  <string>SmallButton</string>
+                 </property>
                 </widget>
                </item>
                <item>
                 <widget class="QLabel" name="labelCoinControlAutomaticallySelected">
+                 <property name="font">
+                  <font>
+                   <pointsize>12</pointsize>
+                  </font>
+                 </property>
                  <property name="text">
                   <string>automatically selected</string>
                  </property>
@@ -171,33 +240,88 @@
                 </widget>
                </item>
                <item>
-                <widget class="QLabel" name="labelCoinControlInsuffFunds">
+                <spacer name="horizontalSpacerCoinControl">
+                 <property name="orientation">
+                  <enum>Qt::Horizontal</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>40</width>
+                   <height>1</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="checkBoxCoinControlChange">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>176</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="font">
                   <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
+                   <pointsize>12</pointsize>
                   </font>
                  </property>
-                 <property name="styleSheet">
-                  <string notr="true">color:red;font-weight:bold;</string>
+                 <property name="toolTip">
+                  <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
                  </property>
                  <property name="text">
-                  <string>Insufficient funds!</string>
+                  <string>Custom change address</string>
                  </property>
-                 <property name="margin">
-                  <number>5</number>
+                </widget>
+               </item>
+               <item>
+                <widget class="QValidatedLineEdit" name="lineEditCoinControlChange">
+                 <property name="enabled">
+                  <bool>false</bool>
+                 </property>
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>0</width>
+                   <height>0</height>
+                  </size>
+                 </property>
+                 <property name="maximumSize">
+                  <size>
+                   <width>400</width>
+                   <height>16777215</height>
+                  </size>
+                 </property>
+                 <property name="styleSheet">
+                  <string notr="true"/>
+                 </property>
+                 <property name="class" stdset="0">
+                  <string>LineEditSmall</string>
                  </property>
                 </widget>
                </item>
                <item>
-                <spacer name="horizontalSpacerCoinControl">
+                <spacer name="horizontalSpacer_16">
                  <property name="orientation">
                   <enum>Qt::Horizontal</enum>
                  </property>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Fixed</enum>
+                 </property>
                  <property name="sizeHint" stdset="0">
                   <size>
-                   <width>40</width>
-                   <height>1</height>
+                   <width>10</width>
+                   <height>20</height>
                   </size>
                  </property>
                 </spacer>
@@ -266,6 +390,7 @@
                      <widget class="QLabel" name="labelCoinControlQuantityText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -280,6 +405,11 @@
                     </item>
                     <item row="0" column="1">
                      <widget class="QLabel" name="labelCoinControlQuantity">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -297,21 +427,13 @@
                       </property>
                      </widget>
                     </item>
-                    <item row="1" column="0">
-                     <widget class="QLabel" name="labelCoinControlBytesText">
+                    <item row="1" column="1">
+                     <widget class="QLabel" name="labelCoinControlBytes">
                       <property name="font">
                        <font>
-                        <weight>75</weight>
-                        <bold>true</bold>
+                        <pointsize>12</pointsize>
                        </font>
                       </property>
-                      <property name="text">
-                       <string>Bytes:</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="1">
-                     <widget class="QLabel" name="labelCoinControlBytes">
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -326,6 +448,20 @@
                       </property>
                      </widget>
                     </item>
+                    <item row="1" column="0">
+                     <widget class="QLabel" name="labelCoinControlBytesText">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
+                      </property>
+                      <property name="text">
+                       <string>Bytes:</string>
+                      </property>
+                     </widget>
+                    </item>
                    </layout>
                   </item>
                   <item>
@@ -349,6 +485,7 @@
                      <widget class="QLabel" name="labelCoinControlAmountText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -363,6 +500,11 @@
                     </item>
                     <item row="0" column="1">
                      <widget class="QLabel" name="labelCoinControlAmount">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -381,6 +523,7 @@
                      <widget class="QLabel" name="labelCoinControlLowOutputText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -392,6 +535,11 @@
                     </item>
                     <item row="1" column="1">
                      <widget class="QLabel" name="labelCoinControlLowOutput">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -429,6 +577,7 @@
                      <widget class="QLabel" name="labelCoinControlFeeText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -443,6 +592,11 @@
                     </item>
                     <item row="0" column="1">
                      <widget class="QLabel" name="labelCoinControlFee">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -480,6 +634,7 @@
                      <widget class="QLabel" name="labelCoinControlAfterFeeText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -494,6 +649,11 @@
                     </item>
                     <item row="0" column="1">
                      <widget class="QLabel" name="labelCoinControlAfterFee">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -512,6 +672,7 @@
                      <widget class="QLabel" name="labelCoinControlChangeText">
                       <property name="font">
                        <font>
+                        <pointsize>12</pointsize>
                         <weight>75</weight>
                         <bold>true</bold>
                        </font>
@@ -523,6 +684,11 @@
                     </item>
                     <item row="1" column="1">
                      <widget class="QLabel" name="labelCoinControlChange">
+                      <property name="font">
+                       <font>
+                        <pointsize>12</pointsize>
+                       </font>
+                      </property>
                       <property name="cursor">
                        <cursorShape>IBeamCursor</cursorShape>
                       </property>
@@ -544,95 +710,6 @@
                </layout>
               </widget>
              </item>
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl4" stretch="0,0,0">
-               <property name="spacing">
-                <number>12</number>
-               </property>
-               <property name="sizeConstraint">
-                <enum>QLayout::SetDefaultConstraint</enum>
-               </property>
-               <property name="topMargin">
-                <number>5</number>
-               </property>
-               <property name="rightMargin">
-                <number>5</number>
-               </property>
-               <item>
-                <widget class="QCheckBox" name="checkBoxCoinControlChange">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="minimumSize">
-                  <size>
-                   <width>200</width>
-                   <height>0</height>
-                  </size>
-                 </property>
-                 <property name="toolTip">
-                  <string>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</string>
-                 </property>
-                 <property name="text">
-                  <string>Custom change address</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QValidatedLineEdit" name="lineEditCoinControlChange">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="styleSheet">
-                  <string notr="true"/>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="labelCoinControlChangeLabel">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="minimumSize">
-                  <size>
-                   <width>0</width>
-                   <height>0</height>
-                  </size>
-                 </property>
-                 <property name="text">
-                  <string/>
-                 </property>
-                 <property name="margin">
-                  <number>3</number>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item>
-              <spacer name="verticalSpacerCoinControl">
-               <property name="orientation">
-                <enum>Qt::Vertical</enum>
-               </property>
-               <property name="sizeHint" stdset="0">
-                <size>
-                 <width>800</width>
-                 <height>1</height>
-                </size>
-               </property>
-              </spacer>
-             </item>
             </layout>
            </item>
           </layout>
@@ -648,8 +725,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>811</width>
-             <height>185</height>
+             <width>621</width>
+             <height>207</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -677,6 +754,9 @@
             </item>
             <item>
              <widget class="QStackedWidget" name="stackedWidget">
+              <property name="currentIndex">
+               <number>0</number>
+              </property>
               <widget class="QWidget" name="page"/>
               <widget class="QWidget" name="page_2"/>
              </widget>
@@ -1362,7 +1442,7 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>293</width>
+               <width>388</width>
                <height>484</height>
               </rect>
              </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7932a760b4bc..4003f6e9ff72 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -78,6 +78,21 @@ QTabBar::tab:selected {
 }
 
 /* Global Progress Bar styles */
+QProgressBar {
+    border: 1px solid white;
+    background-color: white;
+    border-bottom-right-radius: 3px;
+    border-bottom-left-radius: 3px;
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px;
+    height: 4px ;
+
+}
+QProgressBar::chunk {
+    background-color:#F4EA13;
+    border-radius: 3px;
+}
+
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
@@ -100,6 +115,7 @@ QStatusBar{
     border-radius: 40px;
     border: 1px solid rgb(263,252,76) !important;
 }
+
 /* Global containers */
 [class="container"]{
     background-color: rgba(50,50,50,0.35);
@@ -120,9 +136,9 @@ QStatusBar{
     border-radius: 20px;
 }
 [class="LineEditSmall"]{
-    height: 20px !important;
+    height: 18px !important;
     font-size: 13px;
-    border-radius: 10px;
+    border-radius: 9px;
 }
 [class="LineEdit"]:focus, [class="LineEditSmall"]:focus {
     font-size:12px;
@@ -135,6 +151,10 @@ QStatusBar{
     background-color: transparent;
     border: none;
 }
+[class="QuickButton"]:hover{
+    background-color: rgba(255,255,255,0.2);
+    border-radius: 10px;
+}
 [class="SpinBoxSmall"]{
     border-radius: 10px !important;
     font-size: 12px !important;
@@ -374,6 +394,14 @@ QPushButton:pressed {
     border: 0px !important;
     color: rgb(243,232,56) !important;
 }
+[class="SmallButton"]{
+    border-radius: 8px;
+    height: 18px;
+    width: 60px;
+    font-family: 'Volte Rounded', sans-serif;
+    font-weight: normal;
+    font-size: 11px;
+}
 [class="linkButton"]{
     background-color: transparent !important;
     border: none !important;

From 3c498dc4838fe7a048e1859c60b11e39206dedce Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 22 Feb 2019 10:57:33 -0600
Subject: [PATCH 147/225] Sign/Verify message, base for news with an API

---
 src/qt/bitcoingui.cpp                   | 35 +++++++++++++++++++------
 src/qt/bitcoingui.h                     | 10 ++++---
 src/qt/forms/signverifymessagedialog.ui | 19 +++++++++++---
 src/qt/res/css/pac.css                  | 19 ++++++++++++++
 4 files changed, 68 insertions(+), 15 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index b9d28af93ea9..2ee4cf70f88d 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -205,10 +205,16 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     rpcConsole = new RPCConsole(platformStyle, 0);
     helpMessageDialog = new HelpMessageDialog(this, HelpMessageDialog::cmdline);
 #ifdef ENABLE_WALLET
-    manager = new QNetworkAccessManager();
-    QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerFinished(QNetworkReply*)));
-    request.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
-    manager->get(request);
+    managerCurrency = new QNetworkAccessManager();
+    QObject::connect(managerCurrency, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerCurrencyFinished(QNetworkReply*)));
+    requestCurrency.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    managerCurrency->get(requestCurrency);
+
+    managerNews = new QNetworkAccessManager();
+    QObject::connect(managerNews, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerNewsFinished(QNetworkReply*)));
+    requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
+    managerNews->get(requestNews);
+
     if(enableWallet)
     {
         /** Create wallet frame*/
@@ -1707,14 +1713,14 @@ void BitcoinGUI::handleRestart(QStringList args)
         Q_EMIT requestedRestart(args);
 }
 
-void BitcoinGUI::managerFinished(QNetworkReply *reply) {
-    if (reply->error()) {
+void BitcoinGUI::managerCurrencyFinished(QNetworkReply *replyC) {
+    if (replyC->error()) {
         QSettings settings;
         settings.setValue("PACvalue","0");
         settings.sync();
         return;
     }
-    QString answer = reply->readAll();
+    QString answer = replyC->readAll();
 
     QSettings settings;
     QStringList list1 = answer.split('"');
@@ -1724,6 +1730,19 @@ void BitcoinGUI::managerFinished(QNetworkReply *reply) {
     settings.sync();
 }
 
+void BitcoinGUI::managerNewsFinished(QNetworkReply *replyN) {
+    if (replyN->error()) {
+        messageLabel->setText("News not loading.");
+        return;
+    }
+    QString answer = replyN->readAll();
+
+    QStringList list1 = answer.split('"');
+    QString s = list1[6];
+    s = s.mid(1, s.length()-2); 
+    messageLabel->setText(s);
+}
+
 UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *platformStyle) :
     optionsModel(0),
     menu(0)
@@ -1796,4 +1815,4 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     {
         optionsModel->setDisplayUnit(action->data());
     }
-}
+}
\ No newline at end of file
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 3f63a318e23b..42962cc4987e 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -146,8 +146,10 @@ class BitcoinGUI : public QMainWindow
     QPushButton *btnImg;
     QLabel *messageLabel;
 
-    QNetworkAccessManager *manager;
-    QNetworkRequest request;
+    QNetworkAccessManager *managerCurrency;
+    QNetworkRequest requestCurrency;
+    QNetworkAccessManager *managerNews;
+    QNetworkRequest requestNews;
 
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
@@ -249,7 +251,9 @@ private Q_SLOTS:
     void gotoVerifyMessageTab(QString addr = "");
 
     /** API PAC_USD request */
-    void managerFinished(QNetworkReply *reply);
+    void managerCurrencyFinished(QNetworkReply *replyC);
+    /** API News request */
+    void managerNewsFinished(QNetworkReply *replyN);
 
 
     /** Show open dialog */
diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui
index 68c15d4d39ae..796a22341f83 100644
--- a/src/qt/forms/signverifymessagedialog.ui
+++ b/src/qt/forms/signverifymessagedialog.ui
@@ -50,6 +50,9 @@
            <property name="toolTip">
             <string>The Paccoin address to sign the message with</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -118,6 +121,9 @@
            <property name="readOnly">
             <bool>true</bool>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -240,6 +246,9 @@
            <property name="toolTip">
             <string>The Paccoin address the message was signed with</string>
            </property>
+           <property name="class" stdset="0">
+            <string>LineEditSmall</string>
+           </property>
           </widget>
          </item>
          <item>
@@ -264,7 +273,11 @@
         <widget class="QPlainTextEdit" name="messageIn_VM"/>
        </item>
        <item>
-        <widget class="QValidatedLineEdit" name="signatureIn_VM"/>
+        <widget class="QValidatedLineEdit" name="signatureIn_VM">
+         <property name="class" stdset="0">
+          <string>LineEditSmall</string>
+         </property>
+        </widget>
        </item>
        <item>
         <layout class="QHBoxLayout" name="horizontalLayout_2_VM">
@@ -351,8 +364,6 @@
    <header>qvalidatedlineedit.h</header>
   </customwidget>
  </customwidgets>
- <resources>
-  <include location="../paccoin.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 4003f6e9ff72..f9d1e01a307a 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -710,3 +710,22 @@ MasternodeList > QTabBar::tab{
 #OptionsDialog > #resetButton{
     width:200px !important;
 }
+
+/*
+ * Sign verify message
+ */
+#messageIn_SM, #messageIn_VM{
+    background: rgb(10, 10, 10);
+}
+/* The class on the QT is not working, this is "LineEditSmall" */
+#addressIn_SM, #signatureOut_SM{
+    border: 0px;
+    outline:0;
+    padding:3px;
+    background-color: rgb(10, 10, 10);
+    color: #fff;
+    font-family: 'Volte Rounded', sans-serif;
+    height: 20px !important;
+    font-size: 13px;
+    border-radius: 10px;
+}
\ No newline at end of file

From 12e86b10cee5e2906cdb49be1fc05cc5d92fc5a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Feb 2019 12:20:22 -0600
Subject: [PATCH 148/225] CSS Qtooltip custom style

---
 src/qt/res/css/pac.css | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 4003f6e9ff72..a124b00ace9d 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -13,7 +13,12 @@ QMainWindow{
 QMessageBox {
     background-color:rgb(26,26,26);
 }
-
+QToolTip {
+    font-family: 'Volte Rounded',sans-serif !important;
+    color: #0A0A0A;
+    background-color: #ffffff;
+    border: none;
+}
 QDialog{
     background-color:rgb(26,26,26);
     color:white;

From 11b55e5690ce664e0e23e4bd7865a7a92e50b599 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Feb 2019 12:21:23 -0600
Subject: [PATCH 149/225] CSS QProgressBar and QuickButton class

rounded corners.
---
 src/qt/res/css/pac.css | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index a124b00ace9d..bb159a62cfed 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -86,16 +86,16 @@ QTabBar::tab:selected {
 QProgressBar {
     border: 1px solid white;
     background-color: white;
-    border-bottom-right-radius: 3px;
-    border-bottom-left-radius: 3px;
-    border-top-left-radius: 3px;
-    border-top-right-radius: 3px;
+    border-bottom-right-radius: 8px;
+    border-bottom-left-radius: 8px;
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px;
     height: 4px ;
 
 }
 QProgressBar::chunk {
     background-color:#F4EA13;
-    border-radius: 3px;
+    border-radius: 7px;
 }
 
 QStatusBar{
@@ -154,11 +154,8 @@ QStatusBar{
 }
 [class="QuickButton"]{
     background-color: transparent;
-    border: none;
-}
-[class="QuickButton"]:hover{
-    background-color: rgba(255,255,255,0.2);
-    border-radius: 10px;
+    border: none !important;
+    border-radius: 10 px !important;
 }
 [class="SpinBoxSmall"]{
     border-radius: 10px !important;

From 1f188e2c9a4482df64a8c79c92acd24b830cf98b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Feb 2019 12:22:46 -0600
Subject: [PATCH 150/225] Receive coins Address

hidden for default, visible after requesting payment.
Copy to clipboard button.
---
 src/qt/forms/receivecoinsdialog.ui | 96 +++++++++++++++++++++---------
 src/qt/receivecoinsdialog.cpp      | 17 +++++-
 src/qt/receivecoinsdialog.h        |  1 +
 3 files changed, 86 insertions(+), 28 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 1b4aa508492e..623d41f6d447 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -372,33 +372,7 @@
               </property>
               <layout class="QHBoxLayout" name="horizontalLayout_4">
                <item>
-                <widget class="QLabel" name="label_7">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="text">
-                  <string/>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_4">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="text">
-                  <string/>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_4">
+                <spacer name="horizontalSpacer_8">
                  <property name="orientation">
                   <enum>Qt::Horizontal</enum>
                  </property>
@@ -432,6 +406,19 @@
                  </property>
                 </widget>
                </item>
+               <item>
+                <spacer name="horizontalSpacer_4">
+                 <property name="orientation">
+                  <enum>Qt::Horizontal</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>20</width>
+                   <height>20</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
                <item>
                 <widget class="QCheckBox" name="checkUseInstantSend">
                  <property name="sizePolicy">
@@ -626,6 +613,22 @@
            <layout class="QHBoxLayout" name="qrLayoutContainer"/>
           </widget>
          </item>
+         <item>
+          <spacer name="verticalSpacer_3">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>0</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_7">
            <item>
@@ -658,15 +661,33 @@
                <height>16777215</height>
               </size>
              </property>
+             <property name="acceptDrops">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Last PAC Address generated</string>
+             </property>
+             <property name="toolTipDuration">
+              <number>2</number>
+             </property>
              <property name="whatsThis">
               <string>Last PAC Address</string>
              </property>
+             <property name="locale">
+              <locale language="English" country="UnitedStates"/>
+             </property>
+             <property name="inputMethodHints">
+              <set>Qt::ImhNone</set>
+             </property>
              <property name="inputMask">
               <string/>
              </property>
              <property name="text">
               <string/>
              </property>
+             <property name="frame">
+              <bool>false</bool>
+             </property>
              <property name="readOnly">
               <bool>true</bool>
              </property>
@@ -695,6 +716,9 @@
                <height>50</height>
               </size>
              </property>
+             <property name="toolTip">
+              <string>Copy Last PAC Address Generated</string>
+             </property>
              <property name="text">
               <string/>
              </property>
@@ -705,6 +729,21 @@
              <property name="checkable">
               <bool>false</bool>
              </property>
+             <property name="autoRepeat">
+              <bool>false</bool>
+             </property>
+             <property name="autoExclusive">
+              <bool>false</bool>
+             </property>
+             <property name="toolButtonStyle">
+              <enum>Qt::ToolButtonIconOnly</enum>
+             </property>
+             <property name="autoRaise">
+              <bool>true</bool>
+             </property>
+             <property name="arrowType">
+              <enum>Qt::NoArrow</enum>
+             </property>
              <property name="class" stdset="0">
               <string>QuickButton</string>
              </property>
@@ -757,6 +796,9 @@
                <height>0</height>
               </size>
              </property>
+             <property name="toolTip">
+              <string>Request a Payment and generates the Address and QRCode</string>
+             </property>
              <property name="text">
               <string>&amp;Request payment</string>
              </property>
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 19c2034adcbb..0ac91a353ee9 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -32,7 +32,7 @@
 #include <QPixmap>
 #include <QDebug>
 #include <QPainter>
-
+#include <QToolTip>
 
 #if QT_VERSION < 0x050000
 #include <QUrl>
@@ -56,6 +56,9 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
+    ui->lineEditCurrentAddress->hide();
+    ui->btnCopyLastAddress->hide();
+
     lblQRCode = new QRImageWidget;
     lblQRCode->setAlignment(Qt::AlignCenter);
     lblQRCode->setContentsMargins(0,0,0,0);
@@ -98,8 +101,16 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     connect(copyMessageAction, SIGNAL(triggered()), this, SLOT(copyMessage()));
     connect(copyAmountAction, SIGNAL(triggered()), this, SLOT(copyAmount()));
 
+    connect(ui->btnCopyLastAddress,  SIGNAL(clicked()), this, SLOT(copyAddress()));
+
     connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(clear()));
 }
+void ReceiveCoinsDialog::copyAddress(){
+    QClipboard *clip = QApplication::clipboard();
+    QString input = ui->lineEditCurrentAddress->text();
+    clip->setText(input);
+    QToolTip::showText(ui->btnCopyLastAddress->mapToGlobal(QPoint(10,10)), "Copied Address to Clipboard!",ui->btnCopyLastAddress);
+}
 
 void ReceiveCoinsDialog::setModel(WalletModel *model)
 {
@@ -173,6 +184,10 @@ void ReceiveCoinsDialog::generateQRCode()
     /* Store request for later reference */
     model->getRecentRequestsTableModel()->addNewRequest(info);
     QString uri = GUIUtil::formatBitcoinURI(info);
+
+    ui->lineEditCurrentAddress->setText(info.address);
+    ui->lineEditCurrentAddress->show();
+    ui->btnCopyLastAddress->show();
 #ifdef USE_QRCODE
     lblQRCode->setText("");
     if(!uri.isEmpty())
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 3e02023cbeef..004fdfecd978 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -49,6 +49,7 @@ class ReceiveCoinsDialog : public QDialog
     void setModel(WalletModel *model);
 
 public Q_SLOTS:
+    void copyAddress();
     void clear();
     void reject();
     void accept();

From 6d94487d6f082881decf710d753eb30ad069f492 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 25 Feb 2019 13:00:28 -0600
Subject: [PATCH 151/225] BugFixed: Toolbar can't be hide now

It was able to be hide without being able to show it again
---
 src/qt/bitcoingui.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 2ee4cf70f88d..d8205072327a 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -663,6 +663,7 @@ void BitcoinGUI::createToolBars()
 
         QToolBar *toolbar = new QToolBar(tr("Tabs toolbar"));
         toolbar->setObjectName("toolBar");
+        toolbar->setContextMenuPolicy(Qt::PreventContextMenu);
 
         toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
         addToolBar(Qt::LeftToolBarArea, toolbar);
@@ -1815,4 +1816,4 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action)
     {
         optionsModel->setDisplayUnit(action->data());
     }
-}
\ No newline at end of file
+}

From afc01fadd3c2d51a97a66ef27423169a28ab2361 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 26 Feb 2019 10:17:19 -0600
Subject: [PATCH 152/225] proposal table> Fixing width of the tables

width of first column of tables was too small.
---
 src/qt/proposallist.cpp | 2 +-
 src/qt/proposallist.h   | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index 7d03e214611a..58f5c66178e6 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -625,5 +625,5 @@ void ProposalList::endDateRangeChanged()
 void ProposalList::resizeEvent(QResizeEvent* event)
 {
     QWidget::resizeEvent(event);
-    columnResizingFixer->stretchColumnWidth(ProposalTableModel::Proposal);
+    columnResizingFixer->stretchColumnWidth(ProposalTableModel::Percentage);
 }
diff --git a/src/qt/proposallist.h b/src/qt/proposallist.h
index 3e166012e7cf..9b0c5b1df731 100644
--- a/src/qt/proposallist.h
+++ b/src/qt/proposallist.h
@@ -50,15 +50,15 @@ class ProposalList : public QWidget
     };
 
     enum ColumnWidths {
-        PROPOSAL_COLUMN_WIDTH = 380,
+        PROPOSAL_COLUMN_WIDTH = 360,
         START_DATE_COLUMN_WIDTH = 110,
         END_DATE_COLUMN_WIDTH = 110,
         YES_VOTES_COLUMN_WIDTH = 60,
         NO_VOTES_COLUMN_WIDTH = 60,
-        ABSOLUTE_YES_COLUMN_WIDTH = 60,
+        ABSOLUTE_YES_COLUMN_WIDTH = 40,
         AMOUNT_COLUMN_WIDTH = 100,
         PERCENTAGE_COLUMN_WIDTH = 80,
-        MINIMUM_COLUMN_WIDTH = 23
+        MINIMUM_COLUMN_WIDTH = 46
     };
 
 private:

From da08040875c1412af436ff9d7dd8bd9e7ae2a94f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 26 Feb 2019 12:58:43 -0600
Subject: [PATCH 153/225] BugFixed: href color changed to easy read

---
 src/qt/receiverequestdialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp
index db1128f73573..2e7cd6980361 100644
--- a/src/qt/receiverequestdialog.cpp
+++ b/src/qt/receiverequestdialog.cpp
@@ -141,7 +141,7 @@ void ReceiveRequestDialog::update()
     html += "<html><font face='verdana, arial, helvetica, sans-serif'>";
     html += "<b>"+tr("Payment information")+"</b><br>";
     html += "<b>"+tr("URI")+"</b>: ";
-    html += "<a href=\""+uri+"\">" + GUIUtil::HtmlEscape(uri) + "</a><br>";
+    html += "<a style=\"color:#F4EA13\" href=\""+uri+"\">" + GUIUtil::HtmlEscape(uri) + "</a><br>";
     html += "<b>"+tr("Address")+"</b>: " + GUIUtil::HtmlEscape(info.address) + "<br>";
     if(info.amount)
         html += "<b>"+tr("Amount")+"</b>: " + BitcoinUnits::formatHtmlWithUnit(model->getDisplayUnit(), info.amount) + "<br>";

From ceab828540b7459b3461186d88b882578d4ccaf9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 26 Feb 2019 13:04:13 -0600
Subject: [PATCH 154/225] Animated QRCode and Address UX

in order to make the user able to notice when is changing.

Tableview row will be focused too
---
 src/qt/receivecoinsdialog.cpp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 0ac91a353ee9..3798226caa1f 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -33,7 +33,9 @@
 #include <QDebug>
 #include <QPainter>
 #include <QToolTip>
+#include <QGraphicsOpacityEffect>
 
+#include <QPropertyAnimation>
 #if QT_VERSION < 0x050000
 #include <QUrl>
 #endif
@@ -188,6 +190,7 @@ void ReceiveCoinsDialog::generateQRCode()
     ui->lineEditCurrentAddress->setText(info.address);
     ui->lineEditCurrentAddress->show();
     ui->btnCopyLastAddress->show();
+
 #ifdef USE_QRCODE
     lblQRCode->setText("");
     if(!uri.isEmpty())
@@ -265,6 +268,29 @@ void ReceiveCoinsDialog::updateDisplayUnit()
 void ReceiveCoinsDialog::on_receiveButton_clicked()
 {
     generateQRCode();
+
+    // animation added in order to make the user noticing the qrcode and address changing  (UX element)
+    QGraphicsOpacityEffect *eff1 = new QGraphicsOpacityEffect(this);
+    QGraphicsOpacityEffect *eff2 = new QGraphicsOpacityEffect(this);
+
+    lblQRCode->setGraphicsEffect(eff1);
+    ui->lineEditCurrentAddress->setGraphicsEffect(eff2);
+
+    QPropertyAnimation *a1 = new QPropertyAnimation(eff1,"opacity");
+    QPropertyAnimation *a2 = new QPropertyAnimation(eff2,"opacity");
+    a1->setDuration(250);
+    a1->setStartValue(0);
+    a1->setEndValue(1);
+    a1->setEasingCurve(QEasingCurve::InBack);
+
+    a2->setDuration(250);
+    a2->setStartValue(0);
+    a2->setEndValue(1);
+    a2->setEasingCurve(QEasingCurve::InBack);
+
+    a1->start(QPropertyAnimation::DeleteWhenStopped);
+    a2->start(QPropertyAnimation::DeleteWhenStopped);
+    ui->recentRequestsView->selectRow(0);
 }
 
 void ReceiveCoinsDialog::on_recentRequestsView_doubleClicked(const QModelIndex &index)

From b96201ad8abade721b1f7ad55e00f12431414006 Mon Sep 17 00:00:00 2001
From: Alejandro M <1596328+alejandromgk@users.noreply.github.com>
Date: Tue, 26 Feb 2019 14:05:01 -0600
Subject: [PATCH 155/225] Syncing with master branch (#1)

* Delayed block penalization and new reward percentages (#66)

* Delayed block penalization (#62)

- Delayed block penalization
- Reset regtest
- Change protocol version
- Update blockdelay RPC test.
- Fix min chain work on regtest chain params.
- Add chain penalization field to getchaintips method.
- Fix log formating

* New reward percentages 70215 (#63)

Changing the reward percentages, miners now get 15% and masternodes get 65%.

* Change activation block height for new rewards

* Bump min protocol and new checkpoint (#65)

- Min protocol version is now 70215
- Bumped the version on the masternode update scripts.
- Added a checkpoint, block `#216000`.

* Update README.md, adding the PacNodesUpdater instructions (#67)

* Update README.md

* Added PacNodesUpdater script

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update PAC_update.sh (#68)

Changed the update complete text to get people to start from cold wallet.

* Update pac-update.sh (#69)
---
 README.md                                     |  32 +++-
 .../masternodetools/PacNodesUpdater.tar.gz    | Bin 0 -> 1873 bytes
 pac-update.sh                                 |   7 +-
 pacmn.sh                                      |   4 +-
 qa/pull-tester/rpc-tests.py                   |   1 +
 qa/rpc-tests/blockdelay.py                    | 169 ++++++++++++++++++
 qa/rpc-tests/test_framework/authproxy.py      |   2 +-
 qa/rpc-tests/test_framework/test_framework.py |   6 +-
 qa/rpc-tests/test_framework/util.py           |   6 +-
 src/Makefile.am                               |   2 +
 src/chain.h                                   |   3 +
 src/chainparams.cpp                           |  27 +--
 src/clientversion.h                           |   6 +-
 src/masternode-payments.h                     |   2 +-
 src/rpc/blockchain.cpp                        |   4 +-
 src/validation.cpp                            |  29 ++-
 src/version.h                                 |   4 +-
 src/zen/delay.cpp                             |  41 +++++
 src/zen/delay.h                               |  13 ++
 19 files changed, 318 insertions(+), 40 deletions(-)
 create mode 100644 contrib/masternodetools/PacNodesUpdater.tar.gz
 create mode 100755 qa/rpc-tests/blockdelay.py
 create mode 100644 src/zen/delay.cpp
 create mode 100644 src/zen/delay.h

diff --git a/README.md b/README.md
index 2887aa774274..bb252a82e480 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-$PAC Core staging tree 0.12.3.0
+$PAC Core staging tree 0.12.6.0
 ===============================
 
 <!-- `master:` [![Build Status](https://travis-ci.org/paccoinpay/paccoin.svg?branch=master)](https://travis-ci.org/paccoinpay/paccoin) `develop:` [![Build Status](https://travis-ci.org/paccoinpay/paccoin.svg?branch=develop)](https://travis-ci.org/paccoinpay/paccoin/branches) -->
@@ -99,9 +99,33 @@ Go to your VPS and execute the following commands on the command line:
 3) `./pac-update.sh`
 
 Or run this single line to execute the previous commands in one go:
-
-`wget https://raw.githubusercontent.com/PACCommunity/PAC/master/pac-update.sh && chmod +x pac-update.sh && ./pac-update.sh`
-
+`wget -q -O- https://raw.githubusercontent.com/PACCommunity/PAC/master/pac-update.sh | bash`
 
 Follow the instructions:
 1)Do you want to autobackup wallet.dat and continue with the process? [y/n]: Type yes to backup and continue or no to stop process 
+
+Updating multiple masternodes on a VPS to the latest verion (only for Cold wallet setup)
+-------
+1) Open your command line and run the following command:
+
+	MacOS: `curl 	https://raw.githubusercontent.com/PACCommunity/PAC/master/contrib/masternodetools/PacNodesUpdater.tar.gz -o PacNodesUpdater.tar.gz && tar -xzf PacNodesUpdater.tar.gz && cd PacNodesUpdater`
+	
+	Linux:`wget https://raw.githubusercontent.com/PACCommunity/PAC/master/contrib/masternodetools/PacNodesUpdater.tar.gz && tar -xzf PacNodesUpdater.tar.gz && cd PacNodesUpdater`
+
+2) Open and edit the nodes.csv file by adding the following data in order to login to the each node:
+    - hostname: This is the user name used to login to the node (ssh user)
+    - ip: Is the address of the node, be it an url or an IP address
+    - password: It is the password used by the ssh user to authenticate in the node
+    
+	    Example in order to update 2 nodes the csv table will look like this:
+   
+	    | hostname   | ip            | password  |
+	    | ---------- | ------------- | --------- |
+	    | john       | 192.168.1.1   | 12345     |
+	    | node2      | 198.39.0.1    | 12345     |
+
+3) Go back to the command line and run the following command:
+`chmod +x updateMNs.sh && ./updateMNs.sh`
+
+Notes: Keep an eye on the execution as the script might ask you for confirmation or passwords to
+authorize certain actions.
diff --git a/contrib/masternodetools/PacNodesUpdater.tar.gz b/contrib/masternodetools/PacNodesUpdater.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..21018cfe44e8d54457141e5db593034d3a9b4512
GIT binary patch
diff --git a/pac-update.sh b/pac-update.sh
index 1ecfbd200367..3ef94693de8f 100644
--- a/pac-update.sh
+++ b/pac-update.sh
@@ -2,7 +2,7 @@
 
 export LC_ALL=en_US.UTF-8
 set -e
-version="0.12.5.1"
+version="0.12.6.0"
 
 echo 
 echo "################################################"
@@ -34,7 +34,7 @@ find_paccoin_data_dir()
 }
 
 stop_paccoin() {
-	echo '*** Stoping any $PAC daemon running'
+	echo '*** Stopping any $PAC daemon running'
     INSTALL_DIR=''
     is_pacd_enabled=0
 
@@ -206,8 +206,7 @@ install_and_run_systemd_service()
 	rm $PAC_SERVICE_NAME
 	echo 
 	echo "==> PAC Updated!"
-	echo "==> If you are upgrading from 12.5 (Protocol 7014) You are all set!, nothing left to do."
-	echo "==> If you are upgrading from the older Protocol 7013, Remember to go to your cold wallet and start the masternode (cold wallet must also be on the latest version)."
+	echo "==> Remember to go to your cold wallet and start the masternode, cold wallet must also be on the latest version (${version})."
 }
 
 stop_paccoin
diff --git a/pacmn.sh b/pacmn.sh
index 9c79d9062231..c6693ea0b800 100644
--- a/pacmn.sh
+++ b/pacmn.sh
@@ -15,8 +15,8 @@ else
 fi
 
 arch=`uname -m`
-version="0.12.5.1"
-old_version="0.12.5.0"
+version="0.12.6.0"
+old_version="0.12.5.1"
 base_url="https://github.com/PACCommunity/PAC/releases/download/v${version}"
 if [ "${arch}" == "x86_64" ]; then
 	tarball_name="PAC-v${version}-linux-x86_64.tar.gz"
diff --git a/qa/pull-tester/rpc-tests.py b/qa/pull-tester/rpc-tests.py
index b4dfb66d467d..85e1509b925b 100755
--- a/qa/pull-tester/rpc-tests.py
+++ b/qa/pull-tester/rpc-tests.py
@@ -128,6 +128,7 @@
     'invalidtxrequest.py', # NOTE: needs paccoin_hash to pass
     'abandonconflict.py',
     'p2p-versionbits-warning.py',
+    'blockdelay.py',
 ]
 if ENABLE_ZMQ:
     testScripts.append('zmq_test.py')
diff --git a/qa/rpc-tests/blockdelay.py b/qa/rpc-tests/blockdelay.py
new file mode 100755
index 000000000000..6dc6436b8a52
--- /dev/null
+++ b/qa/rpc-tests/blockdelay.py
@@ -0,0 +1,169 @@
+#!/usr/bin/env python2
+# Copyright (c) 2014 The Bitcoin Core developers
+# Copyright (c) 2018 The Zencash developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+from test_framework.test_framework import BitcoinTestFramework
+from test_framework.authproxy import JSONRPCException
+from test_framework.util import assert_equal, initialize_chain_clean, \
+    start_nodes, start_node, connect_nodes, stop_node, stop_nodes, \
+    sync_blocks, sync_mempools, connect_nodes_bi, wait_bitcoinds, p2p_port, check_json_precision
+import traceback
+import os,sys
+import shutil
+from random import randint
+from decimal import Decimal
+import logging
+
+import time
+class blockdelay(BitcoinTestFramework):
+
+    alert_filename = None
+
+    def setup_chain(self, split=False):
+        print("Initializing test directory "+self.options.tmpdir)
+        initialize_chain_clean(self.options.tmpdir, 4)
+        self.alert_filename = os.path.join(self.options.tmpdir, "alert.txt")
+        with open(self.alert_filename, 'w'):
+            pass  # Just open then close to create zero-length file
+
+    def setup_network(self, split=False):
+        self.nodes = []
+        self.nodes = start_nodes(4, self.options.tmpdir)
+
+        if not split:
+            connect_nodes_bi(self.nodes, 1, 2)
+            sync_blocks(self.nodes[1:3])
+            sync_mempools(self.nodes[1:3])
+
+        connect_nodes_bi(self.nodes, 0, 1)
+        connect_nodes_bi(self.nodes, 2, 3)
+        self.is_network_split = split
+        self.sync_all()
+
+    def disconnect_nodes(self, from_connection, node_num):
+        ip_port = "127.0.0.1:"+str(p2p_port(node_num))
+        from_connection.disconnectnode(ip_port)
+        # poll until version handshake complete to avoid race conditions
+        # with transaction relaying
+        while any(peer['version'] == 0 for peer in from_connection.getpeerinfo()):
+            time.sleep(0.1)
+
+    def split_network(self):
+        # Split the network of four nodes into nodes 0/1 and 2/3.
+        assert not self.is_network_split
+        self.disconnect_nodes(self.nodes[1], 2)
+        self.disconnect_nodes(self.nodes[2], 1)
+        self.is_network_split = True
+
+
+    def join_network(self):
+        #Join the (previously split) network halves together.
+        assert self.is_network_split
+        connect_nodes_bi(self.nodes, 0, 3)
+        connect_nodes_bi(self.nodes, 3, 0)
+        connect_nodes_bi(self.nodes, 1, 3)
+        connect_nodes_bi(self.nodes, 3, 1)
+        #sync_blocks(self.nodes[0:3],1,True)
+        #sync_mempools(self.nodes[1:3])
+        self.sync_all()
+        self.is_network_split = False
+
+
+    def run_test(self):
+        blocks = []
+
+        blocks.append(self.nodes[0].getblockhash(0))
+        print("\n\nGenesis block is: " + blocks[0])
+        # raw_input("press enter to start..")
+        
+        print("\n\nGenerating initial blockchain of 4 blocks")
+        blocks.extend(self.nodes[0].generate(1)) # block height 1
+        self.sync_all()
+        blocks.extend(self.nodes[1].generate(1)) # block height 2
+        self.sync_all()
+        blocks.extend(self.nodes[2].generate(1)) # block height 3
+        self.sync_all()
+        blocks.extend(self.nodes[3].generate(1)) # block height 4
+        self.sync_all()
+        print("Four blocks generated.")
+
+
+        print("\n\nSplit network")
+        self.split_network()
+        print("The network is split")
+
+
+        # Main chain
+        print("\n\nGenerating 2 parallel chains with different length")
+
+        print("\nGenerating 12 honest blocks (blocks 5-16)")
+        blocks.extend(self.nodes[0].generate(6)) # block height 5 -6 -7 -8 - 9 - 10
+        self.sync_all()
+        blocks.extend(self.nodes[1].generate(6)) # block height 11-12-13-14-15-16
+        last_main_blockhash=blocks[len(blocks)-1]
+        self.sync_all()
+        print("Honest blocks generated.")
+
+        assert self.nodes[0].getbestblockhash() == last_main_blockhash
+
+        # Malicious nodes mining privately faster
+        print("\nGenerating 13 malicious blocks (blocks 5-17)")
+        self.nodes[2].generate(10) # block height 5 - 6 -7 -8 -9-10 -11 12 13 14
+        self.sync_all()
+        self.nodes[3].generate(3) # block height 15 - 16 - 17
+        self.sync_all()
+        print("Malicious blocks generated.")
+
+
+        print("\n\nJoin network")
+        # raw_input("press enter to join the netorks..")
+        self.join_network()
+        time.sleep(2)
+        print("\nNetwork joined")
+
+        print("\nTesting if the current chain is still the honest chain")
+        assert self.nodes[0].getbestblockhash() == last_main_blockhash
+        print("Confirmed: malicious chain is under penalty")
+
+        print("\nTesting chaintips")
+        current_chain_tips = self.nodes[0].getchaintips()
+        assert (current_chain_tips[0]['penalization'] == 65)
+        print("Malicious chain is correctly penalized with 65 blocks after generating 12 old blocks + 1 new block.")
+
+        print("\nGenerating 64 malicious blocks (New height = 81)")       
+        self.nodes[3].generate(64)
+        print("Malicious blocks generated")
+
+        time.sleep(10)
+
+        print("\nTesting if the current chain is still the honest chain")
+        assert self.nodes[0].getbestblockhash() == last_main_blockhash
+        print("Confirmed: malicious chain is under penalty")
+
+        print("\nGenerating 65 more honest blocks (New height = 81)")
+        self.nodes[0].generate(65)
+        print("Honest blocks generated")
+
+        print("\nGenerating 1 more malicious block (New height = 82)")
+        last_malicious_blockhash=self.nodes[3].generate(1)[0]
+        print("Malicious blocks generated")
+
+        print("\nWaiting that all network nodes are synced with same chain length")
+        sync_blocks(self.nodes, 1, True)
+        print("Network nodes are synced")
+
+        print("\nTesting if all the nodes/chains have the same best tip")
+        assert (self.nodes[0].getbestblockhash() == self.nodes[1].getbestblockhash()
+                == self.nodes[2].getbestblockhash() == self.nodes[3].getbestblockhash())
+        print("Confirmed: all the nodes have the same best tip")
+
+        print("\nTesting if the current chain switched to the malicious chain")
+        assert self.nodes[0].getbestblockhash() == last_malicious_blockhash
+        print("Confirmed: malicious chain is the best chain")
+
+        time.sleep(2)
+        sync_mempools(self.nodes)
+
+if __name__ == '__main__':
+    blockdelay().main()
diff --git a/qa/rpc-tests/test_framework/authproxy.py b/qa/rpc-tests/test_framework/authproxy.py
index 3bc84bc5c1f1..a7bd563d52f9 100644
--- a/qa/rpc-tests/test_framework/authproxy.py
+++ b/qa/rpc-tests/test_framework/authproxy.py
@@ -49,7 +49,7 @@
 
 USER_AGENT = "AuthServiceProxy/0.1"
 
-HTTP_TIMEOUT = 30
+HTTP_TIMEOUT = 600
 
 log = logging.getLogger("BitcoinRPC")
 
diff --git a/qa/rpc-tests/test_framework/test_framework.py b/qa/rpc-tests/test_framework/test_framework.py
index e7f6b18add28..baba25190478 100755
--- a/qa/rpc-tests/test_framework/test_framework.py
+++ b/qa/rpc-tests/test_framework/test_framework.py
@@ -77,12 +77,12 @@ def split_network(self):
 
     def sync_all(self):
         if self.is_network_split:
-            sync_blocks(self.nodes[:2])
-            sync_blocks(self.nodes[2:])
+            sync_blocks(self.nodes[:2], p=False)
+            sync_blocks(self.nodes[2:], p=False)
             sync_mempools(self.nodes[:2])
             sync_mempools(self.nodes[2:])
         else:
-            sync_blocks(self.nodes)
+            sync_blocks(self.nodes, p=False)
             sync_mempools(self.nodes)
 
     def join_network(self):
diff --git a/qa/rpc-tests/test_framework/util.py b/qa/rpc-tests/test_framework/util.py
index 49554f867094..094abb923d74 100644
--- a/qa/rpc-tests/test_framework/util.py
+++ b/qa/rpc-tests/test_framework/util.py
@@ -114,12 +114,14 @@ def hex_str_to_bytes(hex_str):
 def str_to_b64str(string):
     return b64encode(string.encode('utf-8')).decode('ascii')
 
-def sync_blocks(rpc_connections, wait=1):
+def sync_blocks(rpc_connections, wait=1, p=False):
     """
     Wait until everybody has the same block count
     """
     while True:
         counts = [ x.getblockcount() for x in rpc_connections ]
+        if p:
+            print counts
         if counts == [ counts[0] ]*len(counts):
             break
         time.sleep(wait)
@@ -294,7 +296,7 @@ def start_node(i, dirname, extra_args=None, rpchost=None, timewait=None, binary=
     url = rpc_url(i, rpchost)
     wait_for_bitcoind_start(bitcoind_processes[i], url, i)
     if os.getenv("PYTHON_DEBUG", ""):
-        print "start_node: RPC succesfully started"
+        print "start_node: RPC succesfully started at: " + url
     proxy = get_rpc_proxy(url, i, timeout=timewait)
 
     if COVERAGE_DIR:
diff --git a/src/Makefile.am b/src/Makefile.am
index 123f80b7f746..9cac13cbf638 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -195,6 +195,7 @@ BITCOIN_CORE_H = \
   wallet/wallet.h \
   wallet/wallet_ismine.h \
   wallet/walletdb.h \
+  zen/delay.h \
   zmq/zmqabstractnotifier.h \
   zmq/zmqconfig.h\
   zmq/zmqnotificationinterface.h \
@@ -266,6 +267,7 @@ libbitcoin_server_a_SOURCES = \
   validation.cpp \
   validationinterface.cpp \
   versionbits.cpp \
+  zen/delay.cpp \
   $(BITCOIN_CORE_H)
 
 if ENABLE_ZMQ
diff --git a/src/chain.h b/src/chain.h
index 5438d8f3d304..bf570836f060 100644
--- a/src/chain.h
+++ b/src/chain.h
@@ -178,6 +178,8 @@ class CBlockIndex
     //! (memory only) Total amount of work (expected number of hashes) in the chain up to and including this block
     arith_uint256 nChainWork;
 
+    int64_t nChainDelay;
+
     //! Number of transactions in this block.
     //! Note: in a potential headers-first mode, this number cannot be relied upon
     unsigned int nTx;
@@ -210,6 +212,7 @@ class CBlockIndex
         nDataPos = 0;
         nUndoPos = 0;
         nChainWork = arith_uint256();
+        nChainDelay = 0;
         nTx = 0;
         nChainTx = 0;
         nStatus = 0;
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
index f193cbe39547..2b4ccbeefbc0 100644
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -30,9 +30,9 @@
 #define TESTNET_GENESIS_NONCE 2279587UL
 #define TESTNET_GENESIS_TIMESTAMP 1517541975UL
 
-#define REGTEST_GENESIS_HASH "0x084c58211fe102add2fb5c3976f14f997e3c27a3a6fd5ab15a1929f7b5db9d95"
-#define REGTEST_GENESIS_NONCE 1UL
-#define REGTEST_GENESIS_TIMESTAMP 1517542062UL
+#define REGTEST_GENESIS_HASH "0x03ddaf131760ea9614a00fd504b035061b6ad367dc91be7a8821bd787484cba0"
+#define REGTEST_GENESIS_NONCE 2UL
+#define REGTEST_GENESIS_TIMESTAMP 1548210160UL
 
 static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward, const Consensus::Params& consensus)
 {
@@ -121,7 +121,7 @@ class CMainParams : public CChainParams {
         strNetworkID = "main";
         consensus.nSubsidyHalvingInterval = 210240; // Note: actual number of blocks per calendar year with DGW v3 is ~200700 (for example 449750 - 249050)
         consensus.nMasternodePaymentsStartBlock = 200; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock
-        consensus.nMasternodePaymentsIncreaseBlock = 50000; // 50000 height aproximately April 20th
+        consensus.nMasternodePaymentsIncreaseBlock = 217736; // 217736 height aproximately February 21th
         consensus.nMasternodePaymentsIncreasePeriod = 576*30; // Not used
         consensus.nFeeChangeBlock = 155000; // Aproximately October 29th 2018
         consensus.nInstantSendKeepLock = 24;
@@ -165,10 +165,10 @@ class CMainParams : public CChainParams {
         consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nThreshold = 3226; // 80% of 4032
 
         // The best chain should have at least this much work.
-        consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000291362006875385877"); // #151380
+        consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000002ca70cb14917f702ff"); // #216000
 
         // By default assume that the signatures in ancestors of this block are valid.
-        consensus.defaultAssumeValid = uint256S("0x00000000000027377aa412aad9342c61c20973ac1636663b2ef06b3f7549876d"); // #151380
+        consensus.defaultAssumeValid = uint256S("0x00000000000038a52e7bafb7fb091ed2989ec8bdd7a550db9925300687805d87"); // #216000
 
         /**
          * The message start string is designed to be unlikely to occur in normal data.
@@ -230,9 +230,10 @@ class CMainParams : public CChainParams {
             (  43850,   uint256S("0x0000000000000be675f137fbf5cbe5e9d8cb0ea509d30252a02c30944f16970f"))
             (  50000,   uint256S("0x00000000000007cdd43a784898eb9cb5be63ca7db5e5935a05a1baa01a658ca0"))
             (  50620,   uint256S("0x0000000000000349685ff23a2344db4d51ae9f169cda23c8a472fb783914b071"))
-            (  151380,  uint256S("0x00000000000027377aa412aad9342c61c20973ac1636663b2ef06b3f7549876d")),
-            1540326989, // * UNIX timestamp of last checkpoint block
-            704761,    // * total number of transactions between genesis and last checkpoint
+            (  151380,  uint256S("0x00000000000027377aa412aad9342c61c20973ac1636663b2ef06b3f7549876d"))
+            (  216000,  uint256S("0x00000000000038a52e7bafb7fb091ed2989ec8bdd7a550db9925300687805d87")),
+            1550525942, // * UNIX timestamp of last checkpoint block
+            814704,    // * total number of transactions between genesis and last checkpoint
                         //   (the tx=... number in the SetBestChain debug.log lines)
             5000        // * estimated number of transactions per day after checkpoint
         };
@@ -249,7 +250,7 @@ class CTestNetParams : public CChainParams {
         strNetworkID = "test";
         consensus.nSubsidyHalvingInterval = 210240;
         consensus.nMasternodePaymentsStartBlock = 2; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock
-        consensus.nMasternodePaymentsIncreaseBlock = 6200;
+        consensus.nMasternodePaymentsIncreaseBlock = 126250;
         consensus.nMasternodePaymentsIncreasePeriod = 10;
         consensus.nFeeChangeBlock = 99500;
         consensus.nInstantSendKeepLock = 6;
@@ -402,10 +403,10 @@ class CRegTestParams : public CChainParams {
         consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nTimeout = 999999999999ULL;
 
         // The best chain should have at least this much work.
-        consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000100010");
+        consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000000002");
 
         // By default assume that the signatures in ancestors of this block are valid.
-        consensus.defaultAssumeValid = uint256S("0x084c58211fe102add2fb5c3976f14f997e3c27a3a6fd5ab15a1929f7b5db9d95");
+        consensus.defaultAssumeValid = uint256S("0x03ddaf131760ea9614a00fd504b035061b6ad367dc91be7a8821bd787484cba0");
 
         pchMessageStart[0] = 0x96;
         pchMessageStart[1] = 0xa6;
@@ -434,7 +435,7 @@ class CRegTestParams : public CChainParams {
 
         checkpointData = (CCheckpointData){
             boost::assign::map_list_of
-            ( 0, uint256S("0x084c58211fe102add2fb5c3976f14f997e3c27a3a6fd5ab15a1929f7b5db9d95")),
+            ( 0, uint256S("0x03ddaf131760ea9614a00fd504b035061b6ad367dc91be7a8821bd787484cba0")),
             0,
             0,
             0
diff --git a/src/clientversion.h b/src/clientversion.h
index 0a47f76836c8..8fdbb850085f 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -16,8 +16,8 @@
 //! These need to be macros, as clientversion.cpp's and paccoin*-res.rc's voodoo requires it
 #define CLIENT_VERSION_MAJOR 0
 #define CLIENT_VERSION_MINOR 12
-#define CLIENT_VERSION_REVISION 5
-#define CLIENT_VERSION_BUILD 1
+#define CLIENT_VERSION_REVISION 6
+#define CLIENT_VERSION_BUILD 0
 
 //! Set to true for release, false for prerelease or test build
 #define CLIENT_VERSION_IS_RELEASE true
@@ -26,7 +26,7 @@
  * Copyright year (2009-this)
  * Todo: update this when changing our copyright comments in the source
  */
-#define COPYRIGHT_YEAR 2018
+#define COPYRIGHT_YEAR 2019
 
 #endif //HAVE_CONFIG_H
 
diff --git a/src/masternode-payments.h b/src/masternode-payments.h
index bbb4fabc79bd..feb92d0b87a3 100644
--- a/src/masternode-payments.h
+++ b/src/masternode-payments.h
@@ -24,7 +24,7 @@ static const int MNPAYMENTS_SIGNATURES_TOTAL            = 10;
 // V1 - Last protocol version before update
 // V2 - Newest protocol version
 static const int MIN_MASTERNODE_PAYMENT_PROTO_VERSION_1 = 70206;
-static const int MIN_MASTERNODE_PAYMENT_PROTO_VERSION_2 = 70214;
+static const int MIN_MASTERNODE_PAYMENT_PROTO_VERSION_2 = 70215;
 
 extern CCriticalSection cs_vecPayees;
 extern CCriticalSection cs_mapMasternodeBlocks;
diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp
index 929cb2b541e3..022845ff26ac 100644
--- a/src/rpc/blockchain.cpp
+++ b/src/rpc/blockchain.cpp
@@ -924,6 +924,7 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
             "    \"chainwork\" : \"0000...1f3\"  (string) Expected number of hashes required to produce the current chain (in hex)\n"
             "    \"branchlen\": 0              (numeric) zero for main chain\n"
             "    \"status\": \"active\"          (string) \"active\" for the main chain\n"
+            "    \"penalization\": 0              (numeric) zero for main chain\n"
             "  },\n"
             "  {\n"
             "    \"height\": xxxx,\n"
@@ -932,6 +933,7 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
             "    \"chainwork\" : \"0000...1f3\"\n"
             "    \"branchlen\": 1              (numeric) length of branch connecting the tip to the main chain\n"
             "    \"status\": \"xxxx\"            (string) status of the chain (active, valid-fork, valid-headers, headers-only, invalid)\n"
+            "    \"penalization\": 0              (numeric) penalization of the chain, zero for the main chain.\n"
             "  }\n"
             "]\n"
             "Possible values for status:\n"
@@ -1009,7 +1011,7 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
             status = "unknown";
         }
         obj.push_back(Pair("status", status));
-
+        obj.push_back(Pair("penalization", block->nChainDelay));
         res.push_back(obj);
     }
 
diff --git a/src/validation.cpp b/src/validation.cpp
index 00c7b243a4e9..2351a2d51ae7 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -49,6 +49,9 @@
 #include <boost/math/distributions/poisson.hpp>
 #include <boost/thread.hpp>
 
+//PAC_MOD
+#include "zen/delay.h"
+
 using namespace std;
 
 #if defined(NDEBUG)
@@ -114,7 +117,11 @@ namespace {
     struct CBlockIndexWorkComparator
     {
         bool operator()(CBlockIndex *pa, CBlockIndex *pb) const {
-            // First sort by most total work, ...
+             // First sort by total delay in chain.
+            if (pa->nChainDelay < pb->nChainDelay) return false;
+            if (pa->nChainDelay > pb->nChainDelay) return true;
+
+            // ... then sort by most total work, ...
             if (pa->nChainWork > pb->nChainWork) return false;
             if (pa->nChainWork < pb->nChainWork) return true;
 
@@ -1268,9 +1275,9 @@ CAmount GetMasternodePayment(int nHeight, CAmount blockValue, const Consensus::P
     double dMasternodePart;
 
     if(nHeight < consensusParams.nMasternodePaymentsIncreaseBlock){
-        dMasternodePart = 9.0/16.0; // 56.25% of the block reward.
-    } else {
         dMasternodePart = 15.0/16.0; // 93.75% of the block reward.
+    } else {
+        dMasternodePart = 13.0/16.0; // 81.25% of the corresponding reward for miners/masternodes, or 65% of the total block reward.
     }
 
     return (blockValue * dMasternodePart);
@@ -2971,8 +2978,16 @@ CBlockIndex* AddToBlockIndex(const CBlockHeader& block)
         pindexNew->BuildSkip();
     }
     pindexNew->nChainWork = (pindexNew->pprev ? pindexNew->pprev->nChainWork : 0) + GetBlockProof(*pindexNew);
+    if (pindexNew->pprev){
+        pindexNew->nChainDelay = pindexNew->pprev->nChainDelay + GetBlockDelay(*pindexNew,*(pindexNew->pprev), chainActive.Height(), IsInitialBlockDownload());
+    } else {
+        pindexNew->nChainDelay = 0 ;
+    }
+    if(pindexNew->nChainDelay != 0) {
+        LogPrintf("%s: Block belong to a chain under punishment - Delay value: %i, BlockHeight: %d\n",__func__, pindexNew->nChainDelay,pindexNew->nHeight);
+    }
     pindexNew->RaiseValidity(BLOCK_VALID_TREE);
-    if (pindexBestHeader == NULL || pindexBestHeader->nChainWork < pindexNew->nChainWork)
+    if (pindexBestHeader == NULL || (pindexBestHeader->nChainWork < pindexNew->nChainWork && pindexNew->nChainDelay==0))
         pindexBestHeader = pindexNew;
 
     setDirtyBlockIndex.insert(pindexNew);
@@ -3740,6 +3755,12 @@ bool static LoadBlockIndexDB()
     {
         CBlockIndex* pindex = item.second;
         pindex->nChainWork = (pindex->pprev ? pindex->pprev->nChainWork : 0) + GetBlockProof(*pindex);
+        if (pindex->pprev){
+            pindex->nChainDelay = pindex->pprev->nChainDelay
+            + GetBlockDelay(*pindex,*(pindex->pprev), chainActive.Height(), IsInitialBlockDownload());
+        } else {
+            pindex->nChainDelay = 0 ;
+        }
         // We can link the chain of blocks for which we've received transactions at some point.
         // Pruned nodes may have deleted the block.
         if (pindex->nTx > 0) {
diff --git a/src/version.h b/src/version.h
index 12348c1d3222..58a70f6598e2 100644
--- a/src/version.h
+++ b/src/version.h
@@ -10,7 +10,7 @@
  * network protocol versioning
  */
 
-static const int PROTOCOL_VERSION = 70214;
+static const int PROTOCOL_VERSION = 70215;
 
 //! initial proto version, to be increased after version/verack negotiation
 static const int INIT_PROTO_VERSION = 209;
@@ -19,7 +19,7 @@ static const int INIT_PROTO_VERSION = 209;
 static const int GETHEADERS_VERSION = 70077;
 
 //! disconnect from peers older than this proto version
-static const int MIN_PEER_PROTO_VERSION = 70214;
+static const int MIN_PEER_PROTO_VERSION = 70215;
 
 //! nTime field added to CAddress, starting with this version;
 //! if possible, avoid requesting addresses nodes older than this
diff --git a/src/zen/delay.cpp b/src/zen/delay.cpp
new file mode 100644
index 000000000000..91a331989664
--- /dev/null
+++ b/src/zen/delay.cpp
@@ -0,0 +1,41 @@
+#include "zen/delay.h"
+
+int64_t GetBlockDelay(const CBlockIndex& newBlock, const CBlockIndex& prevBlock, const int activeChainHeight, const bool isStartupSyncing)
+{
+    const int PENALTY_THRESHOLD = 5;
+
+    if(isStartupSyncing) {
+    	return 0;
+    }
+
+    if(newBlock.nHeight < activeChainHeight ) {
+      	LogPrintf("Received a delayed block (activeChainHeight: %d, newBlockHeight: %d)!\n", activeChainHeight, newBlock.nHeight);
+    }
+
+    // if the current chain is penalised.
+    if (prevBlock.nChainDelay > 0) {
+        // Positive values to increase the penalty until
+        // we reach the current active height.
+        if (activeChainHeight >= newBlock.nHeight ) {
+        	return (activeChainHeight - newBlock.nHeight);
+        } else {
+        	LogPrintf("Decreasing penalty to chain (activeChainHeight: %d, newBlockHeight: %d, prevBlockChainDelay: %d)!\n", activeChainHeight, newBlock.nHeight, prevBlock.nChainDelay);
+        	// -1 to decrease the penalty afterwards.
+            return -1;
+        } 
+    // no penalty yet, or penalty already resolved.
+    } else {
+        // Introduce penalty in case we receive a historic block.
+        // (uses a threshold value)
+        if (activeChainHeight - newBlock.nHeight > PENALTY_THRESHOLD ){
+            return (activeChainHeight - newBlock.nHeight);
+        // no delay detected.
+        } else {
+            return 0;
+        }
+    }
+}
+bool IsChainPenalised(const CChain& chain)
+{
+    return (chain.Tip()->nChainDelay < 0);
+}
diff --git a/src/zen/delay.h b/src/zen/delay.h
new file mode 100644
index 000000000000..5efb9a7c38d7
--- /dev/null
+++ b/src/zen/delay.h
@@ -0,0 +1,13 @@
+#include "pow.h"
+#include "arith_uint256.h"
+#include "primitives/block.h"
+#include "streams.h"
+#include "uint256.h"
+#include "util.h"
+#include "chain.h"
+#include "chainparams.h"
+#include "tinyformat.h"
+#include <boost/foreach.hpp>
+
+int64_t GetBlockDelay (const CBlockIndex& newBlock,const CBlockIndex& prevBlock, const int activeChainHeight, bool isStartupSyncing);
+bool IsChainPenalised (const CChain& chain);

From 900ddd092eba97fc7c54bd06f653d752b5964adc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Feb 2019 13:14:59 -0600
Subject: [PATCH 156/225] CSS UI BugFixed

Buttons width larger to fit content text, LineEdit for pac address larger for easy to read (on requesting coins).
---
 src/qt/res/css/pac.css | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 05a64723a81d..47a5471c95ba 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -90,12 +90,13 @@ QProgressBar {
     border-bottom-left-radius: 8px;
     border-top-left-radius: 8px;
     border-top-right-radius: 8px;
-    height: 4px ;
+    max-height: 16px !important;
 
 }
 QProgressBar::chunk {
     background-color:#F4EA13;
-    border-radius: 7px;
+    border-radius: 8px;
+    max-height: 16px !important;
 }
 
 QStatusBar{
@@ -140,15 +141,21 @@ QStatusBar{
     font-size: 15px;
     border-radius: 20px;
 }
+
+[class="LineEditMedium"]{
+    height: 28px !important;
+    font-size: 14px;
+    border-radius: 14px;
+}
 [class="LineEditSmall"]{
     height: 18px !important;
     font-size: 13px;
     border-radius: 9px;
 }
-[class="LineEdit"]:focus, [class="LineEditSmall"]:focus {
+[class="LineEdit"]:focus, [class="LineEditSmall"]:focus, [class="LineEditMedium"]:focus {
     font-size:12px;
 }
-[class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled {
+[class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled, [class="LineEditMedium"]:disabled {
     background-color:#474747;
     color: #878787;
 }
@@ -374,9 +381,9 @@ QPushButton {
     background: transparent;
     border: 1px solid #F4EA13;
     color: #F4EA13;
-    border-radius: 16px;
+    border-radius: 18px;
     height: 35px;
-    width: 160px;
+    width: 180px;
     font-family: 'Volte Rounded', sans-serif;
     font-weight: medium;
     font-size: 16px;
@@ -432,10 +439,10 @@ QPushButton:pressed {
     border: none;
     background: #F4EA13;
     color: rgb(5,5,5);
-    border-radius: 30px;
-    min-height:60px !important;
+    border-radius: 35px;
+    /*min-height:60px !important;*/
     height: 70px !important;
-    width: 280px;
+    width: 360px;
     font-style: normal;
     font-family: 'Volte Rounded', sans-serif;
     font-size: 22px;
@@ -554,6 +561,9 @@ BitcoinAmountField QComboBox::indicator {
 /*
  * SendCoins Page
  */
+#SendCoinsDialog{
+    background:transparent;
+}
 #frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
     border: 0px !important;
 }
@@ -730,4 +740,4 @@ MasternodeList > QTabBar::tab{
     height: 20px !important;
     font-size: 13px;
     border-radius: 10px;
-}
\ No newline at end of file
+}

From 69b68ff01a556be7fe28f479cde89a33ca733e26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Feb 2019 13:16:02 -0600
Subject: [PATCH 157/225] UI send and receive coins

spacer for the hidden fees features so it fits the scrollarea.

Buttons size and margins

LineEdit class changed
---
 src/qt/forms/receivecoinsdialog.ui |  14 ++-
 src/qt/forms/sendcoinsdialog.ui    | 188 ++++++++++++++++++++---------
 2 files changed, 139 insertions(+), 63 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 623d41f6d447..c65f83d815e3 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -649,15 +649,21 @@
              <property name="enabled">
               <bool>true</bool>
              </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
              <property name="minimumSize">
               <size>
-               <width>260</width>
+               <width>280</width>
                <height>0</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
-               <width>260</width>
+               <width>16777215</width>
                <height>16777215</height>
               </size>
              </property>
@@ -698,7 +704,7 @@
               <bool>false</bool>
              </property>
              <property name="class" stdset="0">
-              <string>LineEditSmall</string>
+              <string>LineEditMedium</string>
              </property>
             </widget>
            </item>
@@ -824,7 +830,7 @@
              </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>120</width>
+               <width>170</width>
                <height>20</height>
               </size>
              </property>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 501f9063cdb7..3e4a5d784a52 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -14,9 +14,7 @@
    <string>Send Coins</string>
   </property>
   <property name="styleSheet">
-   <string notr="true">#SendCoinsDialog{
-  background:transparent;
-}</string>
+   <string notr="true"/>
   </property>
   <property name="windowFilePath">
    <string/>
@@ -849,6 +847,22 @@
               </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_17">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>10</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
          </layout>
@@ -1040,20 +1054,20 @@
      <item>
       <widget class="QWidget" name="verticalWidget" native="true">
        <property name="sizePolicy">
-        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+        <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="minimumSize">
         <size>
-         <width>250</width>
+         <width>380</width>
          <height>0</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
-         <width>450</width>
+         <width>480</width>
          <height>16777215</height>
         </size>
        </property>
@@ -1252,14 +1266,14 @@
           </item>
           <item row="13" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_6">
+            <property name="spacing">
+             <number>0</number>
+            </property>
             <item>
              <spacer name="horizontalSpacer_4">
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Expanding</enum>
-              </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
@@ -1270,9 +1284,21 @@
             </item>
             <item>
              <widget class="QPushButton" name="addButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>175</width>
+                <height>0</height>
+               </size>
+              </property>
               <property name="maximumSize">
                <size>
-                <width>120</width>
+                <width>170</width>
                 <height>16777215</height>
                </size>
               </property>
@@ -1287,17 +1313,39 @@
               </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_18">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>10</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
             <item>
              <widget class="QPushButton" name="clearButton">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
+              <property name="minimumSize">
+               <size>
+                <width>175</width>
+                <height>0</height>
+               </size>
+              </property>
               <property name="maximumSize">
                <size>
-                <width>120</width>
+                <width>170</width>
                 <height>16777215</height>
                </size>
               </property>
@@ -1317,9 +1365,6 @@
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Expanding</enum>
-              </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
@@ -1401,15 +1446,21 @@
            <layout class="QHBoxLayout" name="horizontalLayout_9">
             <item>
              <widget class="QPushButton" name="sendButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <property name="minimumSize">
                <size>
-                <width>250</width>
+                <width>0</width>
                 <height>0</height>
                </size>
               </property>
               <property name="maximumSize">
                <size>
-                <width>200</width>
+                <width>16777215</width>
                 <height>16777215</height>
                </size>
               </property>
@@ -1433,7 +1484,10 @@
            </layout>
           </item>
           <item row="6" column="0">
-           <widget class="QScrollArea" name="scrollArea_2">
+           <widget class="QScrollArea" name="scrollAreaFees">
+            <property name="styleSheet">
+             <string notr="true">#scrollArea_2{ padding: 5px;}</string>
+            </property>
             <property name="widgetResizable">
              <bool>true</bool>
             </property>
@@ -1442,7 +1496,7 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>388</width>
+               <width>378</width>
                <height>484</height>
               </rect>
              </property>
@@ -1552,6 +1606,42 @@
                         <property name="verticalSpacing">
                          <number>4</number>
                         </property>
+                        <item row="3" column="0">
+                         <layout class="QHBoxLayout" name="horizontalLayout_11">
+                          <item>
+                           <spacer name="horizontalSpacer_14">
+                            <property name="orientation">
+                             <enum>Qt::Horizontal</enum>
+                            </property>
+                            <property name="sizeType">
+                             <enum>QSizePolicy::Fixed</enum>
+                            </property>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>30</width>
+                              <height>20</height>
+                             </size>
+                            </property>
+                           </spacer>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="labelMinFeeWarning">
+                            <property name="enabled">
+                             <bool>true</bool>
+                            </property>
+                            <property name="toolTip">
+                             <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                            </property>
+                            <property name="text">
+                             <string>    (read the tooltip)</string>
+                            </property>
+                            <property name="margin">
+                             <number>5</number>
+                            </property>
+                           </widget>
+                          </item>
+                         </layout>
+                        </item>
                         <item row="0" column="0">
                          <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
                           <property name="spacing">
@@ -1858,41 +1948,21 @@
                           </item>
                          </layout>
                         </item>
-                        <item row="3" column="0">
-                         <layout class="QHBoxLayout" name="horizontalLayout_11">
-                          <item>
-                           <spacer name="horizontalSpacer_14">
-                            <property name="orientation">
-                             <enum>Qt::Horizontal</enum>
-                            </property>
-                            <property name="sizeType">
-                             <enum>QSizePolicy::Fixed</enum>
-                            </property>
-                            <property name="sizeHint" stdset="0">
-                             <size>
-                              <width>30</width>
-                              <height>20</height>
-                             </size>
-                            </property>
-                           </spacer>
-                          </item>
-                          <item>
-                           <widget class="QLabel" name="labelMinFeeWarning">
-                            <property name="enabled">
-                             <bool>true</bool>
-                            </property>
-                            <property name="toolTip">
-                             <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                            </property>
-                            <property name="text">
-                             <string>    (read the tooltip)</string>
-                            </property>
-                            <property name="margin">
-                             <number>5</number>
-                            </property>
-                           </widget>
-                          </item>
-                         </layout>
+                        <item row="0" column="1">
+                         <spacer name="horizontalSpacer_19">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>15</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
                         </item>
                        </layout>
                       </item>
@@ -1958,17 +2028,17 @@
   </layout>
  </widget>
  <customwidgets>
-  <customwidget>
-   <class>QValidatedLineEdit</class>
-   <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
-  </customwidget>
   <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>
  </customwidgets>
  <resources/>
  <connections/>

From c017db0d35f36652fce7fa0d8324eb89a29807b2 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 27 Feb 2019 13:17:18 -0600
Subject: [PATCH 158/225] Fixes and News/pac-usd

-Update news
-Update pac-usd value (only overview)
-info on overview updated of where we get the pac-usd value
-Copy news button
-Unused code deleted
---
 src/qt/bitcoingui.cpp         | 46 +++++++++++++++++++++++++--
 src/qt/bitcoingui.h           |  9 ++++++
 src/qt/overviewpage.cpp       |  8 +++++
 src/qt/overviewpage.h         |  5 +--
 src/qt/receivecoinsdialog.cpp |  7 +++++
 src/qt/receivecoinsdialog.h   |  2 ++
 src/qt/res/css/pac.css        | 58 ++++++++++++++++++++++-------------
 src/qt/sendcoinsdialog.cpp    |  6 +++-
 src/qt/sendcoinsdialog.h      |  3 ++
 src/qt/utilitydialog.cpp      |  2 +-
 src/qt/walletframe.cpp        |  7 +++++
 src/qt/walletframe.h          |  3 ++
 src/qt/walletview.cpp         | 17 ++++++++--
 src/qt/walletview.h           | 12 ++++++--
 14 files changed, 154 insertions(+), 31 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index d8205072327a..a12b1cabf601 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -15,6 +15,7 @@
 #include "openuridialog.h"
 #include "optionsdialog.h"
 #include "optionsmodel.h"
+#include "overviewpage.h"
 #include "platformstyle.h"
 #include "rpcconsole.h"
 #include "utilitydialog.h"
@@ -40,6 +41,7 @@
 
 #include <QAction>
 #include <QApplication>
+#include <QClipboard>
 #include <QDateTime>
 #include <QDesktopWidget>
 #include <QDragEnterEvent>
@@ -55,6 +57,7 @@
 #include <QStyle>
 #include <QTimer>
 #include <QToolBar>
+#include <QToolTip>
 #include <QVBoxLayout>
 #include <QDebug>
 #include <QRegion>
@@ -212,7 +215,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     managerNews = new QNetworkAccessManager();
     QObject::connect(managerNews, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerNewsFinished(QNetworkReply*)));
-    requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
+    //requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
+    requestNews.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
     managerNews->get(requestNews);
 
     if(enableWallet)
@@ -318,6 +322,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(walletFrame, SIGNAL(requestedSyncWarningInfo()), this, SLOT(showModalOverlay()));
         connect(labelBlocksIcon, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
         connect(progressBar, SIGNAL(clicked(QPoint)), this, SLOT(showModalOverlay()));
+        connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
 }
@@ -721,6 +726,8 @@ void BitcoinGUI::createHeaderBar()
     QFrame *frameImg = new QFrame;
     QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
     btnImg = new QPushButton;
+    btnRefresh = new QPushButton;
+    btnCopyNews = new QPushButton;
     QSpacerItem *item = new QSpacerItem(15,1, QSizePolicy::Fixed, QSizePolicy::Expanding);
     QSpacerItem *messageLeftSpacer = new QSpacerItem(30,1, QSizePolicy::Fixed, QSizePolicy::Fixed);
 
@@ -728,7 +735,6 @@ void BitcoinGUI::createHeaderBar()
     headerFrame->setObjectName("headerFrameLayout");
     headerFrame->setStyleSheet("#headerFrameLayout { background: transparent !important; border-image: url(:/images/pac/header_bkg) 0 0 0 0 stretch stretch; margin-left: 40px;}");
 
-
     messageLabel->setText("");
     messageLabel->setAlignment(Qt::AlignCenter);
     messageLabel->setStyleSheet("QLabel { color:white; font-size:24px;}");
@@ -744,6 +750,18 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setFixedHeight(80);
     btnImg->setFixedWidth(80);
 
+    btnRefresh->setObjectName("btnRefreshNews");
+    btnRefresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    btnRefresh->setFixedHeight(20);
+    btnRefresh->setFixedWidth(20);
+    btnRefresh->setIcon(QIcon(":/movies/spinner-000"));
+
+    btnCopyNews->setObjectName("btnCopyNews");
+    btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    btnCopyNews->setFixedHeight(20);
+    btnCopyNews->setFixedWidth(20);
+    btnCopyNews->setIcon(QIcon(":/icons/pac/editcopy"));
+
     profileImgLayout->setContentsMargins(0,0,0,0);
     profileImgLayout->addWidget(btnImg);
     profileImgLayout->addSpacerItem(item);
@@ -755,6 +773,8 @@ void BitcoinGUI::createHeaderBar()
     headerFrameLayout->setContentsMargins(0,0,0,0);
     headerFrameLayout->addSpacerItem(messageLeftSpacer);
     headerFrameLayout->addWidget(messageLabel);
+    headerFrameLayout->addWidget(btnRefresh);
+    headerFrameLayout->addWidget(btnCopyNews);
     headerFrameLayout->addWidget(frameImg);
     headerFrame->setLayout(headerFrameLayout);
 
@@ -781,6 +801,8 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setIcon(ButtonIcon);
     btnImg->setIconSize(QSize(78,78));
     connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
+    connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyAddress()));
+    connect(btnRefresh,  SIGNAL(clicked()), this, SLOT(refreshNewsPacValue()));
 }
 
 void BitcoinGUI::setClientModel(ClientModel *clientModel)
@@ -1669,6 +1691,24 @@ void BitcoinGUI::showModalOverlay()
         modalOverlay->toggleVisibility();
 }
 
+void BitcoinGUI::copyAddress(){
+    QClipboard *clip = QApplication::clipboard();
+    QString input = messageLabel->text();
+    clip->setText(input);
+    QToolTip::showText(btnCopyNews->mapToGlobal(QPoint(10,10)), "Copied Address to Clipboard!",btnCopyNews);
+}
+
+void BitcoinGUI::refreshNewsPacValue(){
+    //Refresh news
+    requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
+    //requestNews.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    managerNews->get(requestNews);
+
+    //Refresh PAC value
+    requestCurrency.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    managerCurrency->get(requestCurrency);
+}
+
 static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string& message, const std::string& caption, unsigned int style)
 {
     bool modal = (style & CClientUIInterface::MODAL);
@@ -1719,6 +1759,7 @@ void BitcoinGUI::managerCurrencyFinished(QNetworkReply *replyC) {
         QSettings settings;
         settings.setValue("PACvalue","0");
         settings.sync();
+        Q_EMIT transmit_to_walletframe();
         return;
     }
     QString answer = replyC->readAll();
@@ -1729,6 +1770,7 @@ void BitcoinGUI::managerCurrencyFinished(QNetworkReply *replyC) {
     s = s.mid(1, s.length()-2); 
     settings.setValue("PACvalue",s);
     settings.sync();
+    Q_EMIT transmit_to_walletframe();
 }
 
 void BitcoinGUI::managerNewsFinished(QNetworkReply *replyN) {
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 42962cc4987e..9d4311d69e73 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -144,6 +144,8 @@ class BitcoinGUI : public QMainWindow
 
     QFrame *headerFrame;
     QPushButton *btnImg;
+    QPushButton *btnRefresh;
+    QPushButton *btnCopyNews;
     QLabel *messageLabel;
 
     QNetworkAccessManager *managerCurrency;
@@ -188,6 +190,9 @@ class BitcoinGUI : public QMainWindow
     /** Restart handling */
     void requestedRestart(QStringList args);
 
+    /** Refresh PAC value to the walletframe */
+    void transmit_to_walletframe();
+
 public Q_SLOTS:
     /** Set number of connections shown in the UI */
     void setNumConnections(int count);
@@ -254,6 +259,10 @@ private Q_SLOTS:
     void managerCurrencyFinished(QNetworkReply *replyC);
     /** API News request */
     void managerNewsFinished(QNetworkReply *replyN);
+    /** Copy the text of the news */
+    void copyAddress();
+    /** Refresh the news and the PAC value */
+    void refreshNewsPacValue();
 
 
     /** Show open dialog */
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 42148175e806..88f411fd0a5d 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -17,6 +17,7 @@
 #include "transactiontablemodel.h"
 #include "utilitydialog.h"
 #include "walletmodel.h"
+#include "walletview.h"
 
 #include "instantx.h"
 #include "darksendconfig.h"
@@ -336,3 +337,10 @@ void OverviewPage::on_overviewInfo_clicked()
     HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
     dlg.exec();
 }
+
+void OverviewPage::receive_from_walletview()
+{
+    ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
+    ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(currentUnconfirmedBalance) + " USD");
+    ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance + currentUnconfirmedBalance + currentImmatureBalance) + " USD");
+}
\ No newline at end of file
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index ca5d52394e8a..f14ea65648f9 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -6,6 +6,7 @@
 #define BITCOIN_QT_OVERVIEWPAGE_H
 
 #include "amount.h"
+#include "walletview.h"
 
 #include <QWidget>
 #include <memory>
@@ -36,6 +37,7 @@ class OverviewPage : public QWidget
     void setClientModel(ClientModel *clientModel);
     void setWalletModel(WalletModel *walletModel);
     void showOutOfSyncWarning(bool fShow);
+    //void updatePacUsd();
 
 public Q_SLOTS:
     void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
@@ -64,8 +66,6 @@ public Q_SLOTS:
     std::unique_ptr<TransactionFilterProxy> filter;
 
     void SetupTransactionList(int nNumItems);
-    void getadata();
-    void myFunction();
 
 private Q_SLOTS:
     void updateDisplayUnit();
@@ -75,6 +75,7 @@ private Q_SLOTS:
     void updateWatchOnlyLabels(bool showWatchOnly);
     void handleOutOfSyncWarningClicks();
     void on_overviewInfo_clicked();
+    void receive_from_walletview();
 };
 
 #endif // BITCOIN_QT_OVERVIEWPAGE_H
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 3798226caa1f..60e88ca505a9 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -53,6 +53,7 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     ui(new Ui::ReceiveCoinsDialog),
     columnResizingFixer(0),
     model(0),
+    currentBalance(-1),
     platformStyle(platformStyle)
 {
     ui->setupUi(this);
@@ -423,6 +424,7 @@ void ReceiveCoinsDialog::copyAmount()
 void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& anonymizedBalance,
                                  const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance)
 {
+    currentBalance = balance;
     Q_UNUSED(unconfirmedBalance);
     Q_UNUSED(immatureBalance);
     Q_UNUSED(anonymizedBalance);
@@ -433,3 +435,8 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), balance, false, BitcoinUnits::separatorAlways));
 }
+
+void ReceiveCoinsDialog::receive_from_walletview()
+{
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
+}
\ No newline at end of file
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 004fdfecd978..4ae054e56556 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -63,6 +63,7 @@ public Q_SLOTS:
     GUIUtil::TableViewLastColumnResizingFixer *columnResizingFixer;
     WalletModel *model;
     QMenu *contextMenu;
+    CAmount currentBalance;
     const PlatformStyle *platformStyle;
 
     QModelIndex selectedRow();
@@ -83,6 +84,7 @@ private Q_SLOTS:
     void copyLabel();
     void copyMessage();
     void copyAmount();
+    void receive_from_walletview();
 };
 
 #endif // BITCOIN_QT_RECEIVECOINSDIALOG_H
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 05a64723a81d..37850920e607 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -101,25 +101,6 @@ QProgressBar::chunk {
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
-#btnChangeImage{
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
-}
-#btnChangeImage:hover {
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    border: 1px solid rgb(255,255,255) !important;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
-}
-#btnChangeImage:pressed {
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    border: 1px solid rgb(263,252,76) !important;
-}
 
 /* Global containers */
 [class="container"]{
@@ -154,8 +135,11 @@ QStatusBar{
 }
 [class="QuickButton"]{
     background-color: transparent;
-    border: none !important;
-    border-radius: 10 px !important;
+    border: none;
+}
+[class="QuickButton"]:hover{
+    background-color: rgba(255,255,255,0.2);
+    border-radius: 10px;
 }
 [class="SpinBoxSmall"]{
     border-radius: 10px !important;
@@ -545,6 +529,38 @@ BitcoinAmountField QComboBox::indicator {
     color:transparent;
     selection-color:transparent;
 }
+
+/*
+ * News/profile image bar style
+ */
+#btnChangeImage{
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+}
+#btnChangeImage:hover {
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    border: 1px solid rgb(255,255,255) !important;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+}
+#btnChangeImage:pressed {
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    border: 1px solid rgb(263,252,76) !important;
+}
+#btnRefreshNews, #btnRefreshNews:hover, #btnCopyNews, #btnCopyNews:hover{
+    border: 0px;
+    background: transparent;
+}
+#btnRefreshNews:pressed, #btnCopyNews:pressed{
+    border: 1px solid #F4EA13;
+    border-radius: 10px;
+}
+
 /*
  * Overview Page
 */
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 057b87efec78..298e63c42ff5 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -972,5 +972,9 @@ void SendCoinsDialog::on_lineConvertCurrency_textChanged(const QString &arg1)
     }else{
         ui->labelConvertionUSD->setText("0.0");
     }
-    
 }
+
+void SendCoinsDialog::receive_from_walletview()
+{
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(model->getBalance()) + " USD");
+}
\ No newline at end of file
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
index 218bb1b66648..cc25a0762ea7 100644
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -66,6 +66,8 @@ public Q_SLOTS:
     bool fFeeMinimized;
     const PlatformStyle *platformStyle;
 
+    uint64_t *bal;
+
     // Process WalletModel::SendCoinsReturn and generate a pair consisting
     // of a message and message flags for use in Q_EMIT message().
     // Additional parameter msgArg can be used via .arg(msgArg).
@@ -97,6 +99,7 @@ private Q_SLOTS:
     void updateMinFeeLabel();
     void updateSmartFeeLabel();
     void updateGlobalFeeVariables();
+    void receive_from_walletview();
 
     void on_lineConvertCurrency_textChanged(const QString &arg1);
 
diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index ef3e644c70b0..b5d95127359e 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -179,7 +179,7 @@ first need to be confirmed by the network, this means that it is yours but first
 On the right side you can see all of your transactions, the coins you send, receive or get rewarded, if you click on one of them it will redirect you to \
 see all of the information of the transaction. <br> \
 For more information see https://wallets.paccoin.net/.<hr><br> \
-IMPORTANT: the convertion PAC to USD can have some fluctuation since the value is obtained from an external API and the value is obtained when opening the wallet."));
+IMPORTANT: the convertion PAC to USD can have some fluctuation since the value is obtained from an external API (http://explorer.pachub.io/api/currency/USD) and the value is obtained when opening the wallet."));
         
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index 66e7d47c8baa..b0fd8839a836 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -59,6 +59,8 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
 
     connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
 
+    connect(this,SIGNAL(transmit_to_walletview()), walletView, SLOT(receive_from_walletframe()));
+
     return true;
 }
 
@@ -227,4 +229,9 @@ WalletView *WalletFrame::currentWalletView()
 void WalletFrame::outOfSyncWarningClicked()
 {
     Q_EMIT requestedSyncWarningInfo();
+}
+
+void WalletFrame::receive_from_bitcoingui()
+{
+    Q_EMIT transmit_to_walletview();
 }
\ No newline at end of file
diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h
index 64a6fafb8ad8..f022fe564778 100644
--- a/src/qt/walletframe.h
+++ b/src/qt/walletframe.h
@@ -41,6 +41,7 @@ class WalletFrame : public QFrame
 Q_SIGNALS:
     /** Notify that the user has requested more information about the out-of-sync warning */
     void requestedSyncWarningInfo();
+    void transmit_to_walletview();
 
 private:
     QStackedWidget *walletStack;
@@ -92,6 +93,8 @@ public Q_SLOTS:
     void usedReceivingAddresses();
     /** Pass on signal over requested out-of-sync-warning information */
     void outOfSyncWarningClicked();
+    /** Receive the signal to refresh the PAC value */
+    void receive_from_bitcoingui();
 };
 
 #endif // BITCOIN_QT_WALLETFRAME_H
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index f852c9b8e769..71c0115432a4 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -18,7 +18,9 @@
 #include "signverifymessagedialog.h"
 #include "transactiontablemodel.h"
 #include "transactionview.h"
+#include "walletframe.h"
 #include "walletmodel.h"
+
 #include "privatepage.h"
 
 #include "ui_interface.h"
@@ -120,8 +122,12 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     // Pass through messages from transactionView
     connect(transactionView, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int)));
 
-    // Sends the value of the PAC to the overviewPage
-    connect(this,SIGNAL(transmit_to_overview(QString)), overviewPage, SLOT(receive_from_walletview(QString)));
+    // Refresh the value of PAC on the overview
+    connect(this,SIGNAL(transmit_to_overview()), overviewPage, SLOT(receive_from_walletview()));
+    // Refresh the value of PAC on the sendview
+    connect(this,SIGNAL(transmit_to_sendview()), overviewPage, SLOT(receive_from_walletview()));
+    // Refresh the value of PAC on the receiveview
+    connect(this,SIGNAL(transmit_to_receiveview()), overviewPage, SLOT(receive_from_walletview()));
 }
 
 WalletView::~WalletView()
@@ -415,3 +421,10 @@ void WalletView::trxAmount(QString amount)
 {
     transactionSum->setText(amount);
 }
+
+void WalletView::receive_from_walletframe()
+{
+    Q_EMIT transmit_to_overview();
+    Q_EMIT transmit_to_sendview();
+    Q_EMIT transmit_to_receiveview();
+}
diff --git a/src/qt/walletview.h b/src/qt/walletview.h
index c589c619972f..cbabd5f7ee1f 100644
--- a/src/qt/walletview.h
+++ b/src/qt/walletview.h
@@ -8,6 +8,7 @@
 #include "amount.h"
 #include "masternodelist.h"
 #include "proposallist.h"
+#include "walletframe.h"
 
 #include <QStackedWidget>
 
@@ -98,6 +99,9 @@ public Q_SLOTS:
     /** Show Sign/Verify Message dialog and switch to verify message tab */
     void gotoVerifyMessageTab(QString addr = "");
 
+    /** Gets the value of the PAC from walletframe */
+    void receive_from_walletframe();
+
     /** Show incoming transaction notification for new transactions.
 
         The new items are those between start and end inclusive, under the given parent item.
@@ -144,8 +148,12 @@ public Q_SLOTS:
     void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label);
     /** Notify that the out of sync warning icon has been pressed */
     void outOfSyncWarningClicked();
-    /** Send PAC value to overviewPage */
-    void transmit_to_overview(QString message);
+    /** Refresh the value on the overview */
+    void transmit_to_overview();
+    /** Refresh the value on the sendview */
+    void transmit_to_sendview();
+    /** Refresh the value on the receiveview */
+    void transmit_to_receiveview();
 };
 
 #endif // BITCOIN_QT_WALLETVIEW_H

From dc8971157231e6aa1894a831c17bbe40f50ee3ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Feb 2019 13:23:34 -0600
Subject: [PATCH 159/225] UI fixed

---
 src/qt/forms/receivecoinsdialog.ui | 8 +++++++-
 src/qt/forms/sendcoinsdialog.ui    | 4 ++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index c65f83d815e3..6bd20c8b8bb5 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -802,6 +802,12 @@
                <height>0</height>
               </size>
              </property>
+             <property name="maximumSize">
+              <size>
+               <width>300</width>
+               <height>16777215</height>
+              </size>
+             </property>
              <property name="toolTip">
               <string>Request a Payment and generates the Address and QRCode</string>
              </property>
@@ -830,7 +836,7 @@
              </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>170</width>
+               <width>160</width>
                <height>20</height>
               </size>
              </property>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 3e4a5d784a52..2fc018c0a577 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1496,7 +1496,7 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>378</width>
+               <width>388</width>
                <height>484</height>
               </rect>
              </property>
@@ -1958,7 +1958,7 @@
                           </property>
                           <property name="sizeHint" stdset="0">
                            <size>
-                            <width>15</width>
+                            <width>10</width>
                             <height>20</height>
                            </size>
                           </property>

From 887e2032127f268de4b653a71bc5fa4084c6ee7f Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 28 Feb 2019 09:44:06 -0600
Subject: [PATCH 160/225] Update send and receive labels for USD

---
 src/qt/bitcoingui.cpp | 4 ++--
 src/qt/bitcoingui.h   | 2 +-
 src/qt/walletview.cpp | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index a12b1cabf601..e0bd4d63e2e2 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -801,7 +801,7 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setIcon(ButtonIcon);
     btnImg->setIconSize(QSize(78,78));
     connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
-    connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyAddress()));
+    connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyNews()));
     connect(btnRefresh,  SIGNAL(clicked()), this, SLOT(refreshNewsPacValue()));
 }
 
@@ -1691,7 +1691,7 @@ void BitcoinGUI::showModalOverlay()
         modalOverlay->toggleVisibility();
 }
 
-void BitcoinGUI::copyAddress(){
+void BitcoinGUI::copyNews(){
     QClipboard *clip = QApplication::clipboard();
     QString input = messageLabel->text();
     clip->setText(input);
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 9d4311d69e73..ef79665775a7 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -260,7 +260,7 @@ private Q_SLOTS:
     /** API News request */
     void managerNewsFinished(QNetworkReply *replyN);
     /** Copy the text of the news */
-    void copyAddress();
+    void copyNews();
     /** Refresh the news and the PAC value */
     void refreshNewsPacValue();
 
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 71c0115432a4..541d30f573eb 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -125,9 +125,9 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
     // Refresh the value of PAC on the overview
     connect(this,SIGNAL(transmit_to_overview()), overviewPage, SLOT(receive_from_walletview()));
     // Refresh the value of PAC on the sendview
-    connect(this,SIGNAL(transmit_to_sendview()), overviewPage, SLOT(receive_from_walletview()));
+    connect(this,SIGNAL(transmit_to_sendview()), sendCoinsPage, SLOT(receive_from_walletview()));
     // Refresh the value of PAC on the receiveview
-    connect(this,SIGNAL(transmit_to_receiveview()), overviewPage, SLOT(receive_from_walletview()));
+    connect(this,SIGNAL(transmit_to_receiveview()), receiveCoinsPage, SLOT(receive_from_walletview()));
 }
 
 WalletView::~WalletView()

From 45a9cb7c408714601c183dbe192234624a76a631 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 28 Feb 2019 14:45:45 -0600
Subject: [PATCH 161/225] Options dialog label warning fixed size

---
 src/qt/forms/optionsdialog.ui | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
index 7a037b5652c5..ffd60dde3e5b 100644
--- a/src/qt/forms/optionsdialog.ui
+++ b/src/qt/forms/optionsdialog.ui
@@ -32,7 +32,7 @@
    <item>
     <widget class="QTabWidget" name="tabWidget_OptionsDialog">
      <property name="currentIndex">
-      <number>0</number>
+      <number>4</number>
      </property>
      <widget class="QWidget" name="tabMain">
       <attribute name="title">
@@ -908,10 +908,16 @@
       <widget class="QLabel" name="statusLabel">
        <property name="minimumSize">
         <size>
-         <width>200</width>
+         <width>150</width>
          <height>0</height>
         </size>
        </property>
+       <property name="maximumSize">
+        <size>
+         <width>200</width>
+         <height>16777215</height>
+        </size>
+       </property>
        <property name="font">
         <font>
          <weight>75</weight>
@@ -934,9 +940,12 @@
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>40</width>
+         <width>20</width>
          <height>48</height>
         </size>
        </property>

From 0b69cf29d14b52200a38814c574cf50cd833875d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 28 Feb 2019 15:08:11 -0600
Subject: [PATCH 162/225] html <a> href style from blue to yellow

---
 src/qt/utilitydialog.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp
index b5d95127359e..639f513021a4 100644
--- a/src/qt/utilitydialog.cpp
+++ b/src/qt/utilitydialog.cpp
@@ -55,7 +55,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, HelpMode helpMode) :
         // Make URLs clickable
         QRegExp uri("<(.*)>", Qt::CaseSensitive, QRegExp::RegExp2);
         uri.setMinimal(true); // use non-greedy matching
-        licenseInfoHTML.replace(uri, "<a href=\"\\1\">\\1</a>");
+        licenseInfoHTML.replace(uri, "<a style=\"color:#F4EA13\" href=\"\\1\">\\1</a>");
         // Replace newlines with HTML breaks
         licenseInfoHTML.replace("\n\n", "<br><br>");
 
@@ -158,7 +158,7 @@ This means those 1000 addresses last for about 100 mixing events. When 900 of th
 It can only do this, however, if you have automatic backups enabled.<br> \
 Consequently, users who have backups disabled will also have PrivatePAC disabled. <hr>\
         "));
-//For more info see <a href=\"https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend\">https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend</a> \
+//For more info see <a style=\"color:#F4EA13\" href=\"https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend\">https://paccoinpay.atlassian.net/wiki/display/DOC/PrivateSend</a> \
   //      "));
         ui->aboutMessage->setWordWrap(true);
         ui->helpMessage->setVisible(false);

From 6cbbcf49dbf3d12cac3fe7b556d6ca66dd21bac7 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 1 Mar 2019 12:01:16 -0600
Subject: [PATCH 163/225] News pointing to the right API

---
 src/qt/bitcoingui.cpp | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index e0bd4d63e2e2..7e6b9cab568b 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -215,8 +215,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     managerNews = new QNetworkAccessManager();
     QObject::connect(managerNews, SIGNAL(finished(QNetworkReply*)), this, SLOT(managerNewsFinished(QNetworkReply*)));
-    //requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
-    requestNews.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    requestNews.setUrl(QUrl("http://144.202.121.149:8080/"));
     managerNews->get(requestNews);
 
     if(enableWallet)
@@ -1700,8 +1699,7 @@ void BitcoinGUI::copyNews(){
 
 void BitcoinGUI::refreshNewsPacValue(){
     //Refresh news
-    requestNews.setUrl(QUrl("https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22"));
-    //requestNews.setUrl(QUrl("http://explorer.pachub.io/api/currency/USD"));
+    requestNews.setUrl(QUrl("http://144.202.121.149:8080/"));
     managerNews->get(requestNews);
 
     //Refresh PAC value
@@ -1779,11 +1777,7 @@ void BitcoinGUI::managerNewsFinished(QNetworkReply *replyN) {
         return;
     }
     QString answer = replyN->readAll();
-
-    QStringList list1 = answer.split('"');
-    QString s = list1[6];
-    s = s.mid(1, s.length()-2); 
-    messageLabel->setText(s);
+    messageLabel->setText(answer);
 }
 
 UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *platformStyle) :

From e22636bcefff587fe006a487cad325e42b922221 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 1 Mar 2019 13:00:19 -0600
Subject: [PATCH 164/225] Tooltips for copy and refresh news

---
 src/qt/bitcoingui.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 7e6b9cab568b..c6c1afb9e017 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -750,12 +750,14 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setFixedWidth(80);
 
     btnRefresh->setObjectName("btnRefreshNews");
+    btnRefresh->setToolTip("Refresh news and PAC-USD value.");
     btnRefresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnRefresh->setFixedHeight(20);
     btnRefresh->setFixedWidth(20);
     btnRefresh->setIcon(QIcon(":/movies/spinner-000"));
 
     btnCopyNews->setObjectName("btnCopyNews");
+    btnCopyNews->setToolTip("Copy news.");
     btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnCopyNews->setFixedHeight(20);
     btnCopyNews->setFixedWidth(20);

From 220a02bac0e262aae6c23bc2db6af92ccd71d198 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 4 Mar 2019 10:11:50 -0600
Subject: [PATCH 165/225] Background and selection bar colors

---
 src/qt/res/css/pac.css | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 3de0e050f3fe..d2223ea0f024 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -75,7 +75,7 @@ QTabBar::tab {
     font-family: 'Volte Rounded',sans-serif !important;
 }
 QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog QTabBar::tab:selected, #tabWidget_OptionsDialog QTabBar::tab:hover {
-    background-color: #363636 !important;
+    background-color: #202020 !important;
 }
 QTabBar::tab:selected {
     border-color: transparent !important;
@@ -105,7 +105,7 @@ QStatusBar{
 
 /* Global containers */
 [class="container"]{
-    background-color: rgba(50,50,50,0.35);
+    background-color: rgba(50,50,50,0.55);
     border: 0px !important;
 }
 /* Global text inputs */

From 2e81bb0602c361f87c8d51d1bdfae8176445aa2c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 4 Mar 2019 12:06:35 -0600
Subject: [PATCH 166/225] General backgrounds and text inputs colors changed

To have a better contrast on the elements and text.
---
 src/qt/forms/privatepage.ui |  8 ++++++-
 src/qt/res/css/pac.css      | 48 +++++++++++++++----------------------
 2 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 1c5f6387467c..dde7a4beb080 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -420,11 +420,17 @@
                   <verstretch>0</verstretch>
                  </sizepolicy>
                 </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>330</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
                 <property name="text">
                  <string>Start/Stop Mixing</string>
                 </property>
                 <property name="class" stdset="0">
-                 <string>buttonAllBlack</string>
+                 <string>accentButton</string>
                 </property>
                </widget>
               </item>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index d2223ea0f024..07c25592d48d 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -25,7 +25,7 @@ QDialog{
 }
 /* Global ComboBox */
 QComboBox{
-    background-color: #0B0B0B;
+    background-color: rgb(17,17,17);
     border:0px;
     height: 26px;
     padding: 3px 5px 3px 5px;
@@ -105,7 +105,7 @@ QStatusBar{
 
 /* Global containers */
 [class="container"]{
-    background-color: rgba(50,50,50,0.55);
+    background-color: rgba(0,0,0,0.5); 
     border: 0px !important;
 }
 /* Global text inputs */
@@ -113,7 +113,7 @@ QStatusBar{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(10, 10, 10);
+    background-color: rgb(17,17,17);
     color: #fff;
     font-family: 'Volte Rounded', sans-serif;
 }
@@ -246,7 +246,7 @@ QAbstractSpinBox {
     border-radius: 20px;
     font-size: 15px;
     min-height:40px;
-    background-color: rgb(10, 10, 10);
+    background-color: rgb(17,17,17);
     font-family: 'Volte Rounded', sans-serif;
     text-align: center;
     border:0px;
@@ -285,10 +285,10 @@ QAbstractSpinBox::down-arrow {
 }
 /* GLOBAL TABLES*/
 QHeaderView { /* Top of the table Header */
-    background-color: #0F0F0F;
+    background-color: rgb(17,17,17);
 }
 QHeaderView::section { /* Top of the table Header Sections */
-    background-color: #0F0F0F;
+    background-color: rgb(17,17,17);
     color:#fff;
     min-height:20px;
     height:35px;
@@ -319,7 +319,7 @@ QScrollArea {
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    background-color: rgba(40, 40, 40, 0.3);
+    background-color: rgba(0,0,0,0.5); 
     color: white !important;
     border:none;
 }
@@ -332,7 +332,7 @@ QTableView::item:selected { /* Table Item Selected */
     color: white;
 }
 QTableWidget{
-    background-color: rgba(40, 40, 40, 0.3);
+    background-color: rgba(0,0,0,0.5); 
 }
 /* ToolBar Menu */
 QToolBar {
@@ -469,7 +469,7 @@ QRadioButton::indicator:unchecked:disabled{
 /* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
 BitcoinAmountField QComboBox {
     border-radius: 20px;
-    background-color: #0A0A0A;
+    background-color: rgb(17,17,17);
     font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
@@ -479,17 +479,6 @@ BitcoinAmountField QComboBox {
     color:#fff;
 }
 /* when the combo box is disabled */
-BitcoinAmountField QComboBox{
-    border-radius: 20px;
-    background-color: rgb(10, 10, 10);
-    font-family: 'Volte Rounded', sans-serif;
-    font-size: 15px;
-    text-align: center;
-    border:0px;
-    padding: 3px 5px 3px 5px;
-    min-height:40px;
-    color:#fff;
-}
 BitcoinAmountField QComboBox:disabled{
     background-color: rgb(61,61,61);
     color: #efefef;
@@ -618,17 +607,18 @@ BitcoinAmountField QComboBox::indicator {
  * Transactions Page
  */
 /* Over the table */
-QLineEdit#addressWidget, QLineEdit#tAmountWidget{
-    background-color: #0B0B0B;
+QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBox#typeWidget, QCombobox#watchOnlyWidget {
+    background-color: rgb(17,17,17);
     color:#fff;
     border:0px;
-    min-height: 30px !important;
+    min-height: 24px !important;
 }
 /*
  * Private Page
  */
 #framePrivateSend{
-    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));
+    /*background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));*/
+    background-color: rgba(0,0,0,0.5); 
     border: 0px !important;
 }
 #labelPrivateSendHeader{
@@ -655,7 +645,7 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget{
     color: #FDF002;
 }
 /* Black button */
-[class="buttonAllBlack"]{
+/*[class="buttonAllBlack"]{
     text-transform:uppercase;
     font-family:"Gotham Medium", sans-serif;
     background: #1A1919;
@@ -677,7 +667,7 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget{
 [class="buttonAllBlack"]:pressed {
     background: rgb(243,232,56);
     color: #fff;
-}
+}*/
 #privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
     background: transparent;
     border: 0px;
@@ -688,13 +678,13 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget{
 
 /* Over the table */
 QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Example of setObjectName for widgets without name */
-    background-color: #0B0B0B;
+    background-color: rgb(17,17,17);
     color:#fff;
     border:0px;
     min-height: 30px !important;
 }
 QComboBox#startDateWidget, QComboBox#endDateWidget{
-    background-color: #0B0B0B;
+    background-color: rgb(17,17,17);
     border:0px;
     padding: 3px 5px 3px 5px;
     color:#fff;
@@ -708,7 +698,7 @@ QComboBox#startDateWidget, QComboBox#endDateWidget{
     border:3px red;
 }
 QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
-    background-color:  rgb(20, 20, 20);
+    background-color: rgb(17,17,17);
     border:0px;
     border-radius: 5px;
     padding-right:1px;

From 827491dcde07311a349aa68ca7d248211369924d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 4 Mar 2019 12:13:48 -0600
Subject: [PATCH 167/225] CSS send coins, progressbar, check and radiobutton
 merging

branches v1.2 to 1.3
radiobutton, checkbutton with spaces
layouts modified
---
 src/qt/forms/sendcoinsdialog.ui | 65 +++++++++++++++++++++------------
 src/qt/res/css/pac.css          | 20 +++++-----
 2 files changed, 50 insertions(+), 35 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 2fc018c0a577..9a510482a369 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -753,7 +753,7 @@
             <item>
              <widget class="QStackedWidget" name="stackedWidget">
               <property name="currentIndex">
-               <number>0</number>
+               <number>1</number>
               </property>
               <widget class="QWidget" name="page"/>
               <widget class="QWidget" name="page_2"/>
@@ -801,18 +801,30 @@
             </property>
             <item>
              <widget class="QCheckBox" name="checkUsePrivateSend">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <property name="minimumSize">
                <size>
-                <width>95</width>
+                <width>0</width>
                 <height>0</height>
                </size>
               </property>
+              <property name="styleSheet">
+               <string notr="true"/>
+              </property>
               <property name="text">
                <string>PrivatePAC</string>
               </property>
               <property name="checked">
                <bool>false</bool>
               </property>
+              <property name="tristate">
+               <bool>false</bool>
+              </property>
              </widget>
             </item>
             <item>
@@ -836,6 +848,12 @@
               <property name="enabled">
                <bool>true</bool>
               </property>
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <property name="minimumSize">
                <size>
                 <width>85</width>
@@ -853,7 +871,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
+               <enum>QSizePolicy::Preferred</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -1488,6 +1506,9 @@
             <property name="styleSheet">
              <string notr="true">#scrollArea_2{ padding: 5px;}</string>
             </property>
+            <property name="horizontalScrollBarPolicy">
+             <enum>Qt::ScrollBarAlwaysOn</enum>
+            </property>
             <property name="widgetResizable">
              <bool>true</bool>
             </property>
@@ -1618,7 +1639,7 @@
                             </property>
                             <property name="sizeHint" stdset="0">
                              <size>
-                              <width>30</width>
+                              <width>15</width>
                               <height>20</height>
                              </size>
                             </property>
@@ -1679,7 +1700,7 @@
                               </property>
                               <property name="sizeHint" stdset="0">
                                <size>
-                                <width>30</width>
+                                <width>15</width>
                                 <height>20</height>
                                </size>
                               </property>
@@ -1844,7 +1865,7 @@
                               </property>
                               <property name="sizeHint" stdset="0">
                                <size>
-                                <width>30</width>
+                                <width>15</width>
                                 <height>20</height>
                                </size>
                               </property>
@@ -1852,6 +1873,12 @@
                             </item>
                             <item>
                              <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
                               <property name="toolTip">
                                <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
                               </property>
@@ -1868,6 +1895,12 @@
                             </item>
                             <item>
                              <widget class="QRadioButton" name="radioCustomAtLeast">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
                               <property name="toolTip">
                                <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
                               </property>
@@ -1883,22 +1916,6 @@
                           </item>
                           <item>
                            <layout class="QHBoxLayout" name="horizontalLayout_10">
-                            <item>
-                             <spacer name="horizontalSpacer_6">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>50</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
                             <item>
                              <widget class="BitcoinAmountField" name="customFee"/>
                             </item>
@@ -1916,7 +1933,7 @@
                               </property>
                               <property name="sizeHint" stdset="0">
                                <size>
-                                <width>30</width>
+                                <width>15</width>
                                 <height>20</height>
                                </size>
                               </property>
@@ -1954,7 +1971,7 @@
                            <enum>Qt::Horizontal</enum>
                           </property>
                           <property name="sizeType">
-                           <enum>QSizePolicy::Fixed</enum>
+                           <enum>QSizePolicy::Expanding</enum>
                           </property>
                           <property name="sizeHint" stdset="0">
                            <size>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 07c25592d48d..3cd9e3c9bb72 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -84,12 +84,12 @@ QTabBar::tab:selected {
 
 /* Global Progress Bar styles */
 QProgressBar {
-    border: 1px solid white;
+    border: 2px solid rgb(50,50,50);
     background-color: white;
-    border-bottom-right-radius: 8px;
-    border-bottom-left-radius: 8px;
-    border-top-left-radius: 8px;
-    border-top-right-radius: 8px;
+    border-bottom-right-radius: 9px;
+    border-bottom-left-radius: 9px;
+    border-top-left-radius: 9px;
+    border-top-right-radius: 9px;
     max-height: 16px !important;
 
 }
@@ -432,13 +432,11 @@ QPushButton:pressed {
     font-size: 22px;
     font-weight:medium;
 }
-QCheckBox {
+QCheckBox, QRadioButton {
     color: #FFF;
-    width: 10px;
-    height: 10px;
-}
-QRadioButton {
-    color: rgb(255, 255, 255);
+    width: 9px;
+    height: 9px;
+    spacing: 15px;
 }
 /* GLOBAL CHECKBOX */
 QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{

From dbec8d3990bc924b5c60a9fe8ba6f1a01eb06cf3 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Mar 2019 10:47:02 -0600
Subject: [PATCH 168/225] Top bar color darker

---
 src/qt/res/images/pac/header_bkg.png | Bin 18730 -> 3925 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/qt/res/images/pac/header_bkg.png b/src/qt/res/images/pac/header_bkg.png
index 0d1a3ec71452b087a73d8444e8df8317b299d2bf..88afc4e34379d49ffdb7a85a5a86cb59ce12d7d1 100644
GIT binary patch

From 521c9cc5dc75fb40da1746e20152f8b5960f1dcb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 5 Mar 2019 11:40:49 -0600
Subject: [PATCH 169/225] Qslider customized and sendcoinsdialog

---
 src/qt/forms/sendcoinsdialog.ui | 795 ++++++++++++++++++--------------
 src/qt/guiconstants.h           |   2 +-
 src/qt/res/css/pac.css          |  62 ++-
 3 files changed, 501 insertions(+), 358 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 9a510482a369..f5e69189395e 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1183</width>
-    <height>606</height>
+    <width>1123</width>
+    <height>579</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -724,7 +724,7 @@
              <x>0</x>
              <y>0</y>
              <width>621</width>
-             <height>207</height>
+             <height>180</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -786,9 +786,12 @@
             <property name="orientation">
              <enum>Qt::Horizontal</enum>
             </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
             <property name="sizeHint" stdset="0">
              <size>
-              <width>40</width>
+              <width>15</width>
               <height>20</height>
              </size>
             </property>
@@ -809,7 +812,7 @@
               </property>
               <property name="minimumSize">
                <size>
-                <width>0</width>
+                <width>100</width>
                 <height>0</height>
                </size>
               </property>
@@ -833,11 +836,11 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Fixed</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>40</width>
+                <width>15</width>
                 <height>20</height>
                </size>
               </property>
@@ -856,7 +859,7 @@
               </property>
               <property name="minimumSize">
                <size>
-                <width>85</width>
+                <width>100</width>
                 <height>0</height>
                </size>
               </property>
@@ -871,7 +874,7 @@
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
+               <enum>QSizePolicy::Expanding</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
@@ -927,7 +930,7 @@
                <string>Convert currency</string>
               </property>
               <property name="alignment">
-               <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="class" stdset="0">
                <string>titleLabel</string>
@@ -1042,10 +1045,29 @@
                 <property name="text">
                  <string>0.0</string>
                 </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
                </widget>
               </item>
              </layout>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_22">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>30</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
             <item>
              <spacer name="horizontalSpacer_11">
               <property name="orientation">
@@ -1107,6 +1129,76 @@
         </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
+          <item row="4" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+            <property name="spacing">
+             <number>10</number>
+            </property>
+            <item>
+             <widget class="QLabel" name="labelFeeHeadline">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">font-weight:bold;</string>
+              </property>
+              <property name="text">
+               <string>Transaction Fee: </string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelFeeMinimized">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="labelAvailableUSD">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>30</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>$ 0.0 USD</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="class" stdset="0">
+             <string>usdLabel</string>
+            </property>
+           </widget>
+          </item>
           <item row="2" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_5">
             <property name="spacing">
@@ -1196,92 +1288,6 @@
             </item>
            </layout>
           </item>
-          <item row="4" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
-            <property name="spacing">
-             <number>10</number>
-            </property>
-            <item>
-             <widget class="QLabel" name="labelFeeHeadline">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">font-weight:bold;</string>
-              </property>
-              <property name="text">
-               <string>Transaction Fee: </string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelFeeMinimized">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-           </layout>
-          </item>
-          <item row="0" column="0">
-           <spacer name="verticalSpacer_5">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>15</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_2">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>100</width>
-              <height>15</height>
-             </size>
-            </property>
-            <property name="text">
-             <string>AVAILABLE BALANCE</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-            <property name="class" stdset="0">
-             <string>titleLabel</string>
-            </property>
-           </widget>
-          </item>
           <item row="13" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_6">
             <property name="spacing">
@@ -1292,9 +1298,12 @@
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>40</width>
+                <width>15</width>
                 <height>20</height>
                </size>
               </property>
@@ -1303,14 +1312,14 @@
             <item>
              <widget class="QPushButton" name="addButton">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
               <property name="minimumSize">
                <size>
-                <width>175</width>
+                <width>0</width>
                 <height>0</height>
                </size>
               </property>
@@ -1350,14 +1359,14 @@
             <item>
              <widget class="QPushButton" name="clearButton">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
               <property name="minimumSize">
                <size>
-                <width>175</width>
+                <width>0</width>
                 <height>0</height>
                </size>
               </property>
@@ -1383,9 +1392,12 @@
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>40</width>
+                <width>15</width>
                 <height>20</height>
                </size>
               </property>
@@ -1393,111 +1405,76 @@
             </item>
            </layout>
           </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="labelAvailableUSD">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="text">
-             <string>$ 0.0 USD</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-            <property name="class" stdset="0">
-             <string>usdLabel</string>
-            </property>
-           </widget>
-          </item>
-          <item row="5" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_8">
+          <item row="11" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_9">
             <item>
-             <widget class="QPushButton" name="buttonChooseFee">
+             <spacer name="horizontalSpacer_20">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>15</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="sendButton">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
               <property name="maximumSize">
                <size>
-                <width>250</width>
+                <width>16777215</width>
                 <height>16777215</height>
                </size>
               </property>
+              <property name="toolTip">
+               <string>Confirm the send action</string>
+              </property>
               <property name="text">
-               <string>Choose...</string>
+               <string>S&amp;end</string>
               </property>
-              <property name="class" stdset="0">
-               <string>linkButton</string>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+              <property name="default">
+               <bool>true</bool>
+              </property>
+              <property name="class" stdset="0">
+               <string>accentButton</string>
               </property>
              </widget>
             </item>
-           </layout>
-          </item>
-          <item row="10" column="0">
-           <spacer name="verticalSpacer_7">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="11" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_9">
             <item>
-             <widget class="QPushButton" name="sendButton">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
+             <spacer name="horizontalSpacer_21">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
               </property>
-              <property name="minimumSize">
-               <size>
-                <width>0</width>
-                <height>0</height>
-               </size>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
               </property>
-              <property name="maximumSize">
+              <property name="sizeHint" stdset="0">
                <size>
-                <width>16777215</width>
-                <height>16777215</height>
+                <width>15</width>
+                <height>20</height>
                </size>
               </property>
-              <property name="toolTip">
-               <string>Confirm the send action</string>
-              </property>
-              <property name="text">
-               <string>S&amp;end</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-              <property name="default">
-               <bool>true</bool>
-              </property>
-              <property name="class" stdset="0">
-               <string>accentButton</string>
-              </property>
-             </widget>
+             </spacer>
             </item>
            </layout>
           </item>
@@ -1507,7 +1484,7 @@
              <string notr="true">#scrollArea_2{ padding: 5px;}</string>
             </property>
             <property name="horizontalScrollBarPolicy">
-             <enum>Qt::ScrollBarAlwaysOn</enum>
+             <enum>Qt::ScrollBarAsNeeded</enum>
             </property>
             <property name="widgetResizable">
              <bool>true</bool>
@@ -1517,8 +1494,8 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>388</width>
-               <height>484</height>
+               <width>328</width>
+               <height>461</height>
               </rect>
              </property>
              <layout class="QVBoxLayout" name="verticalLayout_6">
@@ -1559,7 +1536,7 @@
                   <number>0</number>
                  </property>
                  <item>
-                  <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0,0">
+                  <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0">
                    <property name="spacing">
                     <number>0</number>
                    </property>
@@ -1569,32 +1546,6 @@
                    <property name="topMargin">
                     <number>0</number>
                    </property>
-                   <item>
-                    <layout class="QHBoxLayout" name="horizontalLayoutFee1">
-                     <property name="bottomMargin">
-                      <number>0</number>
-                     </property>
-                     <item>
-                      <widget class="QPushButton" name="buttonMinimizeFee">
-                       <property name="maximumSize">
-                        <size>
-                         <width>250</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>collapse fee-settings</string>
-                       </property>
-                       <property name="text">
-                        <string>Hide</string>
-                       </property>
-                       <property name="class" stdset="0">
-                        <string>linkButton</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
                    <item>
                     <widget class="QFrame" name="frameFeeSelection">
                      <layout class="QVBoxLayout" name="verticalLayoutFee12">
@@ -1616,18 +1567,18 @@
                       <item>
                        <layout class="QGridLayout" name="gridLayoutFee">
                         <property name="topMargin">
-                         <number>10</number>
+                         <number>0</number>
                         </property>
                         <property name="bottomMargin">
                          <number>4</number>
                         </property>
                         <property name="horizontalSpacing">
-                         <number>10</number>
+                         <number>5</number>
                         </property>
                         <property name="verticalSpacing">
-                         <number>4</number>
+                         <number>10</number>
                         </property>
-                        <item row="3" column="0">
+                        <item row="4" column="1">
                          <layout class="QHBoxLayout" name="horizontalLayout_11">
                           <item>
                            <spacer name="horizontalSpacer_14">
@@ -1639,7 +1590,7 @@
                             </property>
                             <property name="sizeHint" stdset="0">
                              <size>
-                              <width>15</width>
+                              <width>10</width>
                               <height>20</height>
                              </size>
                             </property>
@@ -1663,7 +1614,150 @@
                           </item>
                          </layout>
                         </item>
-                        <item row="0" column="0">
+                        <item row="1" column="2">
+                         <spacer name="horizontalSpacer_19">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>15</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                        <item row="2" column="1">
+                         <layout class="QVBoxLayout" name="verticalLayoutFee8">
+                          <property name="spacing">
+                           <number>6</number>
+                          </property>
+                          <item>
+                           <widget class="QRadioButton" name="radioCustomFee">
+                            <property name="text">
+                             <string>Custom:</string>
+                            </property>
+                            <attribute name="buttonGroup">
+                             <string notr="true">groupFee</string>
+                            </attribute>
+                           </widget>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee13">
+                            <item>
+                             <spacer name="horizontalSpacer_2">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>10</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>per kilobyte</string>
+                              </property>
+                              <property name="checked">
+                               <bool>true</bool>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomAtLeast">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>total at least</string>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayout_10">
+                            <item>
+                             <widget class="BitcoinAmountField" name="customFee"/>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee8">
+                            <item>
+                             <spacer name="horizontalSpacer_3">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>10</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="QCheckBox" name="checkBoxMinimumFee">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <property name="toolTip">
+                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                              </property>
+                              <property name="text">
+                               <string/>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                         </layout>
+                        </item>
+                        <item row="1" column="1">
                          <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
                           <property name="spacing">
                            <number>6</number>
@@ -1700,7 +1794,7 @@
                               </property>
                               <property name="sizeHint" stdset="0">
                                <size>
-                                <width>15</width>
+                                <width>10</width>
                                 <height>20</height>
                                </size>
                               </property>
@@ -1760,8 +1854,11 @@
                               </item>
                               <item>
                                <widget class="QSlider" name="sliderSmartFee">
+                                <property name="enabled">
+                                 <bool>false</bool>
+                                </property>
                                 <property name="sizePolicy">
-                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                                   <horstretch>0</horstretch>
                                   <verstretch>0</verstretch>
                                  </sizepolicy>
@@ -1772,6 +1869,12 @@
                                   <height>16777215</height>
                                  </size>
                                 </property>
+                                <property name="autoFillBackground">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="styleSheet">
+                                 <string notr="true"/>
+                                </property>
                                 <property name="minimum">
                                  <number>0</number>
                                 </property>
@@ -1782,7 +1885,10 @@
                                  <number>1</number>
                                 </property>
                                 <property name="value">
-                                 <number>0</number>
+                                 <number>10</number>
+                                </property>
+                                <property name="sliderPosition">
+                                 <number>10</number>
                                 </property>
                                 <property name="orientation">
                                  <enum>Qt::Horizontal</enum>
@@ -1796,6 +1902,9 @@
                                 <property name="tickPosition">
                                  <enum>QSlider::NoTicks</enum>
                                 </property>
+                                <property name="tickInterval">
+                                 <number>0</number>
+                                </property>
                                </widget>
                               </item>
                               <item>
@@ -1839,143 +1948,16 @@
                          </layout>
                         </item>
                         <item row="1" column="0">
-                         <layout class="QVBoxLayout" name="verticalLayoutFee8">
-                          <property name="spacing">
-                           <number>6</number>
-                          </property>
-                          <item>
-                           <widget class="QRadioButton" name="radioCustomFee">
-                            <property name="text">
-                             <string>Custom:</string>
-                            </property>
-                            <attribute name="buttonGroup">
-                             <string notr="true">groupFee</string>
-                            </attribute>
-                           </widget>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee13">
-                            <item>
-                             <spacer name="horizontalSpacer_2">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>15</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
-                            <item>
-                             <widget class="QRadioButton" name="radioCustomPerKilobyte">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="toolTip">
-                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                              </property>
-                              <property name="text">
-                               <string>per kilobyte</string>
-                              </property>
-                              <property name="checked">
-                               <bool>true</bool>
-                              </property>
-                              <attribute name="buttonGroup">
-                               <string notr="true">groupCustomFee</string>
-                              </attribute>
-                             </widget>
-                            </item>
-                            <item>
-                             <widget class="QRadioButton" name="radioCustomAtLeast">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="toolTip">
-                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                              </property>
-                              <property name="text">
-                               <string>total at least</string>
-                              </property>
-                              <attribute name="buttonGroup">
-                               <string notr="true">groupCustomFee</string>
-                              </attribute>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayout_10">
-                            <item>
-                             <widget class="BitcoinAmountField" name="customFee"/>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee8">
-                            <item>
-                             <spacer name="horizontalSpacer_3">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>15</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
-                            <item>
-                             <widget class="QCheckBox" name="checkBoxMinimumFee">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="maximumSize">
-                               <size>
-                                <width>16777215</width>
-                                <height>16777215</height>
-                               </size>
-                              </property>
-                              <property name="toolTip">
-                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                              </property>
-                              <property name="text">
-                               <string/>
-                              </property>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                         </layout>
-                        </item>
-                        <item row="0" column="1">
-                         <spacer name="horizontalSpacer_19">
+                         <spacer name="horizontalSpacer_6">
                           <property name="orientation">
                            <enum>Qt::Horizontal</enum>
                           </property>
                           <property name="sizeType">
-                           <enum>QSizePolicy::Expanding</enum>
+                           <enum>QSizePolicy::Fixed</enum>
                           </property>
                           <property name="sizeHint" stdset="0">
                            <size>
-                            <width>10</width>
+                            <width>15</width>
                             <height>20</height>
                            </size>
                           </property>
@@ -2035,6 +2017,111 @@
             </widget>
            </widget>
           </item>
+          <item row="5" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_8">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <item>
+             <widget class="QPushButton" name="buttonMinimizeFee">
+              <property name="maximumSize">
+               <size>
+                <width>80</width>
+                <height>18</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>collapse fee-settings</string>
+              </property>
+              <property name="text">
+               <string>Hide</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="buttonChooseFee">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>80</width>
+                <height>18</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>Choose...</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="0" column="0">
+           <spacer name="verticalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>15</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>100</width>
+              <height>15</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>AVAILABLE BALANCE</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="class" stdset="0">
+             <string>titleLabel</string>
+            </property>
+           </widget>
+          </item>
+          <item row="10" column="0">
+           <spacer name="verticalSpacer_7">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>0</width>
+              <height>5</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
          </layout>
         </item>
        </layout>
diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
index edeca3ac9588..0a28e8f37924 100644
--- a/src/qt/guiconstants.h
+++ b/src/qt/guiconstants.h
@@ -20,7 +20,7 @@ static const int STATUSBAR_ICONSIZE = 16;
 static const bool DEFAULT_SPLASHSCREEN = true;
 
 /* Invalid field background style */
-#define STYLE_INVALID "background:#FF8080"
+#define STYLE_INVALID "background:#ff4d4d"
 
 /* Transaction list -- unconfirmed transaction */
 #define COLOR_UNCONFIRMED QColor(128, 128, 128)
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 3cd9e3c9bb72..e9769e6447cd 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -1,6 +1,41 @@
+
 /*
  *  Global GUI styles
  */
+
+/* custom Qslider */
+QSlider::handle:horizontal {
+    background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #222, stop:1 #666 );
+    border: 1px solid transparent;
+    width: 14px;
+    margin: -4px 0px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
+    border-radius: 7px;
+}
+QSlider::groove:horizontal {
+    border: 1px solid transparent;
+    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
+    margin: 2px 0;
+    border-radius: 4px;
+}
+QSlider::add-page, QSlider::sub-page {
+    border-radius: 4px;
+    border: 1px solid transparent;
+    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
+    margin: 2px 0;
+}
+QSlider:add-page:disabled, QSlider:sub-page:disabled {
+    background: #ccc;
+}
+QSlider::add-page {
+    background: #fff;
+}
+QSlider::sub-page {
+    background: #777;
+}
+QSlider::handle:disabled{
+     background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #999, stop:1 #999 );
+}
+
 QLabel, QGroupBox::title{
     font-family: 'Volte Rounded',sans-serif !important;
     color: white !important;
@@ -113,7 +148,7 @@ QStatusBar{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(17,17,17);
+    background-color: rgb(25,25,25);
     color: #fff;
     font-family: 'Volte Rounded', sans-serif;
 }
@@ -436,7 +471,7 @@ QCheckBox, QRadioButton {
     color: #FFF;
     width: 9px;
     height: 9px;
-    spacing: 15px;
+    spacing: 10px;
 }
 /* GLOBAL CHECKBOX */
 QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
@@ -563,7 +598,28 @@ BitcoinAmountField QComboBox::indicator {
 }
 /*
  * SendCoins Page
- */
+*/
+
+ QSlider::groove:vertical {
+     background: red;
+     position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
+     left: 4px; right: 4px;
+ }
+
+ QSlider::handle:vertical {
+     height: 10px;
+     background: green;
+     margin: 0 -4px; /* expand outside the groove */
+ }
+
+ QSlider::add-page:vertical {
+     background: white;
+ }
+
+ QSlider::sub-page:vertical {
+     background: pink;
+ }
+
 #SendCoinsDialog{
     background:transparent;
 }

From e2bd4d814078a3ebbd517786724ff3dd51971b86 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Mar 2019 12:18:11 -0600
Subject: [PATCH 170/225] Fix typo

---
 src/qt/bitcoingui.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index c6c1afb9e017..db8627e81d2b 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -1696,7 +1696,7 @@ void BitcoinGUI::copyNews(){
     QClipboard *clip = QApplication::clipboard();
     QString input = messageLabel->text();
     clip->setText(input);
-    QToolTip::showText(btnCopyNews->mapToGlobal(QPoint(10,10)), "Copied Address to Clipboard!",btnCopyNews);
+    QToolTip::showText(btnCopyNews->mapToGlobal(QPoint(10,10)), "Copied news to clipboard!",btnCopyNews);
 }
 
 void BitcoinGUI::refreshNewsPacValue(){

From c37d779cad4a8304e0ac0e51640fc6f61bebe001 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Mar 2019 12:18:54 -0600
Subject: [PATCH 171/225] "Pay to" recipient separator

---
 src/qt/sendcoinsdialog.cpp | 8 ++++++++
 src/qt/sendcoinsdialog.h   | 1 +
 2 files changed, 9 insertions(+)

diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 298e63c42ff5..a0bfbe313b8b 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -57,6 +57,7 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     ui->iconLabelAvailableBalance->setPixmap(QPixmap(":icons/bitcoin-32"));
     
     GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this);
+    colorCount = 0;
 
     addEntry();
 
@@ -442,6 +443,7 @@ void SendCoinsDialog::clear()
     {
         ui->entries->takeAt(0)->widget()->deleteLater();
     }
+    colorCount = 0;
     addEntry();
 
     updateTabsAndLabels();
@@ -459,7 +461,12 @@ void SendCoinsDialog::accept()
 
 SendCoinsEntry *SendCoinsDialog::addEntry()
 {
+    colorCount++;
     SendCoinsEntry *entry = new SendCoinsEntry(platformStyle, this);
+    
+    if(colorCount!=1){
+        entry->setStyleSheet("#SendCoinsEntry { border-top: 3px solid #474747; }");
+    }
     entry->setModel(model);
     ui->entries->addWidget(entry);
     connect(entry, SIGNAL(removeEntry(SendCoinsEntry*)), this, SLOT(removeEntry(SendCoinsEntry*)));
@@ -496,6 +503,7 @@ void SendCoinsDialog::removeEntry(SendCoinsEntry* entry)
     entry->deleteLater();
 
     updateTabsAndLabels();
+    colorCount--;
 }
 
 QWidget *SendCoinsDialog::setupTabChain(QWidget *prev)
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
index cc25a0762ea7..d091c88d39a5 100644
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -61,6 +61,7 @@ public Q_SLOTS:
     Ui::SendCoinsDialog *ui;
     ClientModel *clientModel;
     WalletModel *model;
+    int colorCount;
     bool fNewRecipientAllowed;
     void send(QList<SendCoinsRecipient> recipients, QString strFee, QString strFunds);
     bool fFeeMinimized;

From 15941fdde2000a83b86c03b5831f5b6230108146 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 5 Mar 2019 13:11:52 -0600
Subject: [PATCH 172/225] new mined icon

---
 src/qt/res/icons/pac/tx_mined.png | Bin 1389 -> 16223 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/qt/res/icons/pac/tx_mined.png b/src/qt/res/icons/pac/tx_mined.png
index 597dfeae286dec6da982f099ae9ca0410865c998..eb69891486b8d3c358a56181f972622841d2ed76 100644
GIT binary patch

From 732f1e0297940635df97696454912ea7f8ab61ef Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 5 Mar 2019 13:12:38 -0600
Subject: [PATCH 173/225] Tables have more colors to make it prettier

---
 src/qt/proposaltablemodel.cpp | 2 +-
 src/qt/res/css/pac.css        | 6 +++---
 src/qt/transactionview.cpp    | 1 +
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/qt/proposaltablemodel.cpp b/src/qt/proposaltablemodel.cpp
index a70a59b307b3..c3af21507d62 100644
--- a/src/qt/proposaltablemodel.cpp
+++ b/src/qt/proposaltablemodel.cpp
@@ -165,7 +165,7 @@ QVariant ProposalTableModel::data(const QModelIndex &index, int role) const
             }
         } 
 
-        return COLOR_BAREADDRESS;
+        return COLOR_WHITE;
         break;
     case ProposalRole:
         return rec->name;
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e9769e6447cd..4fc74c90ef84 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -355,16 +355,16 @@ QScrollArea {
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
     background-color: rgba(0,0,0,0.5); 
-    color: white !important;
     border:none;
 }
 QTableView::item { /* Table Item */
     font-size:12px;
-    color: white !important;
+}
+QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable{ /* Text color not for proposals */
+    color: white;
 }
 QTableView::item:selected { /* Table Item Selected */
     background-color: rgb(70, 70, 70);
-    color: white;
 }
 QTableWidget{
     background-color: rgba(0,0,0,0.5); 
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 2ac4cf2f5e16..b97c36fba905 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -131,6 +131,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     vlayout->setSpacing(0);
 
     QTableView *view = new QTableView(this);
+    view->setObjectName("transactionsTable");
     vlayout->addLayout(hlayout);
     vlayout->addWidget(createDateRangeWidget());
     vlayout->addWidget(view);

From 6b2ee09d5752d837fe656ecb714ab0a4ee5bb5df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 5 Mar 2019 13:12:56 -0600
Subject: [PATCH 174/225] Qslider css,  recent transactions font size, pac to
 usd width

---
 src/qt/forms/sendcoinsdialog.ui | 14 +++++++++++++-
 src/qt/overviewpage.cpp         |  4 ++--
 src/qt/res/css/pac.css          | 19 ++++++++++---------
 3 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index f5e69189395e..07c0c8ef25b3 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -918,7 +918,7 @@
               </property>
               <property name="sizeHint" stdset="0">
                <size>
-                <width>200</width>
+                <width>20</width>
                 <height>20</height>
                </size>
               </property>
@@ -926,6 +926,12 @@
             </item>
             <item>
              <widget class="QLabel" name="label_6">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
               <property name="text">
                <string>Convert currency</string>
               </property>
@@ -1035,6 +1041,12 @@
               </item>
               <item>
                <widget class="QLabel" name="labelConvertionUSD">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
                 <property name="font">
                  <font>
                   <pointsize>22</pointsize>
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 88f411fd0a5d..3c033f138d88 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -55,7 +55,7 @@ class TxViewDelegate : public QAbstractItemDelegate
                       const QModelIndex &index ) const
     {
         painter->save();
-        QFont customFont("Volte Rounded",11, 1, false);
+        QFont customFont("Volte Rounded",13, 1, false);
         customFont.setBold(false);
         QFont defaultFont = painter->font();
         painter->setFont(customFont);
@@ -343,4 +343,4 @@ void OverviewPage::receive_from_walletview()
     ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
     ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(currentUnconfirmedBalance) + " USD");
     ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance + currentUnconfirmedBalance + currentImmatureBalance) + " USD");
-}
\ No newline at end of file
+}
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index e9769e6447cd..1e7ea7081ec4 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -5,11 +5,11 @@
 
 /* custom Qslider */
 QSlider::handle:horizontal {
-    background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #222, stop:1 #666 );
-    border: 1px solid transparent;
-    width: 14px;
-    margin: -4px 0px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
-    border-radius: 7px;
+    background: #D4CA03;
+    border: 2px solid #D4CA03;
+    width: 10px;
+    margin: -3px 0px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
+    border-radius: 6px;
 }
 QSlider::groove:horizontal {
     border: 1px solid transparent;
@@ -27,13 +27,14 @@ QSlider:add-page:disabled, QSlider:sub-page:disabled {
     background: #ccc;
 }
 QSlider::add-page {
-    background: #fff;
+    background: rgba(100,100,100,0.5);
 }
 QSlider::sub-page {
-    background: #777;
+    background: #555;
 }
 QSlider::handle:disabled{
-     background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #999, stop:1 #999 );
+    background: #999;
+    border: 1px solid #999;
 }
 
 QLabel, QGroupBox::title{
@@ -438,7 +439,7 @@ QPushButton:pressed {
     text-decoration: underline;
 }
 [class="linkButton"]:hover, [class="linkButton"]:focus, #removeRequestButton:hover, #removeRequestButton:focus {
-    color:rgb(61,47,255);
+    color:rgb(180,180,180);
     background-color: transparent !important;
     border: 0px !important;
 }

From 66494419211a138043e7e149a82ebc4bbf7431bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 5 Mar 2019 13:37:38 -0600
Subject: [PATCH 175/225] Optimizing CSS, layouts fixed

removing btnCopyNews and btnRefreshNews styles, using QuickButton instead.

Replaced QPushButton to QToolButton
---
 src/qt/bitcoingui.cpp              |  9 ++--
 src/qt/bitcoingui.h                |  5 ++-
 src/qt/forms/receivecoinsdialog.ui | 50 +++++++++-------------
 src/qt/forms/sendcoinsentry.ui     | 67 +++++++++++++++++++++++++++---
 src/qt/res/css/pac.css             | 18 ++++----
 5 files changed, 97 insertions(+), 52 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index db8627e81d2b..fa4bd2167207 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -68,6 +68,7 @@
 #include <QFileDialog>
 #include <QProxyStyle>
 #include <QPainter>
+#include <QToolButton>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -725,8 +726,8 @@ void BitcoinGUI::createHeaderBar()
     QFrame *frameImg = new QFrame;
     QHBoxLayout *profileImgLayout = new QHBoxLayout(this);
     btnImg = new QPushButton;
-    btnRefresh = new QPushButton;
-    btnCopyNews = new QPushButton;
+    btnRefresh = new QToolButton;
+    btnCopyNews = new QToolButton;
     QSpacerItem *item = new QSpacerItem(15,1, QSizePolicy::Fixed, QSizePolicy::Expanding);
     QSpacerItem *messageLeftSpacer = new QSpacerItem(30,1, QSizePolicy::Fixed, QSizePolicy::Fixed);
 
@@ -749,14 +750,14 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setFixedHeight(80);
     btnImg->setFixedWidth(80);
 
-    btnRefresh->setObjectName("btnRefreshNews");
+    btnRefresh->setProperty("class","QuickButton");
     btnRefresh->setToolTip("Refresh news and PAC-USD value.");
     btnRefresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnRefresh->setFixedHeight(20);
     btnRefresh->setFixedWidth(20);
     btnRefresh->setIcon(QIcon(":/movies/spinner-000"));
 
-    btnCopyNews->setObjectName("btnCopyNews");
+    btnCopyNews->setProperty("class","QuickButton");
     btnCopyNews->setToolTip("Copy news.");
     btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnCopyNews->setFixedHeight(20);
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index ef79665775a7..cdc93be9e098 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -17,6 +17,7 @@
 #include <QMenu>
 #include <QPoint>
 #include <QPushButton>
+#include <QToolButton>
 #include <QSystemTrayIcon>
 #include <boost/filesystem/path.hpp>
 #include <QNetworkRequest>
@@ -144,8 +145,8 @@ class BitcoinGUI : public QMainWindow
 
     QFrame *headerFrame;
     QPushButton *btnImg;
-    QPushButton *btnRefresh;
-    QPushButton *btnCopyNews;
+    QToolButton *btnRefresh;
+    QToolButton *btnCopyNews;
     QLabel *messageLabel;
 
     QNetworkAccessManager *managerCurrency;
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 6bd20c8b8bb5..65a252a6edc0 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1118</width>
-    <height>523</height>
+    <width>1277</width>
+    <height>624</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -371,30 +371,17 @@
                </sizepolicy>
               </property>
               <layout class="QHBoxLayout" name="horizontalLayout_4">
-               <item>
-                <spacer name="horizontalSpacer_8">
-                 <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="QCheckBox" name="reuseAddress">
                  <property name="sizePolicy">
-                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
                  </property>
                  <property name="minimumSize">
                   <size>
-                   <width>400</width>
+                   <width>0</width>
                    <height>0</height>
                   </size>
                  </property>
@@ -406,19 +393,6 @@
                  </property>
                 </widget>
                </item>
-               <item>
-                <spacer name="horizontalSpacer_4">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>20</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
                <item>
                 <widget class="QCheckBox" name="checkUseInstantSend">
                  <property name="sizePolicy">
@@ -447,6 +421,22 @@
                  </property>
                 </widget>
                </item>
+               <item>
+                <spacer name="horizontalSpacer_4">
+                 <property name="orientation">
+                  <enum>Qt::Horizontal</enum>
+                 </property>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Preferred</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>20</width>
+                   <height>20</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
               </layout>
              </widget>
             </item>
diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index e30a122fc7d6..e5893a4920d2 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -274,6 +274,9 @@
         <property name="toolTip">
          <string>The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Paccoin than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</string>
         </property>
+        <property name="styleSheet">
+         <string notr="true">margin: 5px 0 0 0;</string>
+        </property>
         <property name="text">
          <string>S&amp;ubtract fee from amount</string>
         </property>
@@ -422,6 +425,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -559,6 +571,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -696,6 +717,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -929,6 +959,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -1075,6 +1114,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1221,6 +1269,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -1312,17 +1369,17 @@
   </widget>
  </widget>
  <customwidgets>
-  <customwidget>
-   <class>QValidatedLineEdit</class>
-   <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
-  </customwidget>
   <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>
  </customwidgets>
  <tabstops>
   <tabstop>payTo</tabstop>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b5d4927bfdeb..1d8bf6c52ce7 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -179,11 +179,15 @@ QStatusBar{
 [class="QuickButton"]{
     background-color: transparent;
     border: none;
+    border-radius: 10px;
 }
 [class="QuickButton"]:hover{
-    background-color: rgba(255,255,255,0.2);
-    border-radius: 10px;
+    background-color: rgba(128,128,128,0.2);
+}
+[class="QuickButton"]:pressed{
+    background-color: rgba(250,250,250,0.5);
 }
+
 [class="SpinBoxSmall"]{
     border-radius: 10px !important;
     font-size: 12px !important;
@@ -580,15 +584,7 @@ BitcoinAmountField QComboBox::indicator {
     height:80px;
     width:80px;
     border-radius: 40px;
-    border: 1px solid rgb(263,252,76) !important;
-}
-#btnRefreshNews, #btnRefreshNews:hover, #btnCopyNews, #btnCopyNews:hover{
-    border: 0px;
-    background: transparent;
-}
-#btnRefreshNews:pressed, #btnCopyNews:pressed{
-    border: 1px solid #F4EA13;
-    border-radius: 10px;
+    background: red !important;
 }
 
 /*

From feb74bcd79bc142ad0d9a6e530ea26e336810f70 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 6 Mar 2019 10:12:03 -0600
Subject: [PATCH 176/225] Unnecessary code

---
 src/qt/forms/sendcoinsentry.ui | 54 ----------------------------------
 1 file changed, 54 deletions(-)

diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index e5893a4920d2..c1cb55c00f9c 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -425,15 +425,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -571,15 +562,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -717,15 +699,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -959,15 +932,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -1114,15 +1078,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1269,15 +1224,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>

From 810b37ac73bd93370cc48b8d6f9c888d56f7417c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 6 Mar 2019 10:26:53 -0600
Subject: [PATCH 177/225] Masternode table white text

---
 src/qt/res/css/pac.css | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 1d8bf6c52ce7..eada87c5e8c0 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -373,6 +373,7 @@ QTableView::item:selected { /* Table Item Selected */
 }
 QTableWidget{
     background-color: rgba(0,0,0,0.5); 
+    color: white;
 }
 /* ToolBar Menu */
 QToolBar {

From ca1fd327b7f7c3b008df75ea15faa3393b20008d Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 6 Mar 2019 11:51:55 -0600
Subject: [PATCH 178/225] Master nodes Table not enabled text to red

---
 src/qt/masternodelist.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index 51383edb85d4..73f81e35dfcd 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -5,6 +5,7 @@
 #include "clientmodel.h"
 #include "init.h"
 #include "guiutil.h"
+#include "guiconstants.h"
 #include "masternode-sync.h"
 #include "masternodeconfig.h"
 #include "masternodeman.h"
@@ -13,6 +14,7 @@
 #include "walletmodel.h"
 
 #include <QTimer>
+#include <QColor>
 #include <QMessageBox>
 
 int GetOffsetFromUtc()
@@ -287,6 +289,9 @@ void MasternodeList::updateNodeList()
     std::map<COutPoint, CMasternode> mapMasternodes = mnodeman.GetFullMasternodeMap();
     int offsetFromUtc = GetOffsetFromUtc();
 
+    QBrush notEnabled;
+    notEnabled.setColor(COLOR_NEGATIVE);
+
     for(auto& mnpair : mapMasternodes)
     {
         CMasternode mn = mnpair.second;
@@ -314,6 +319,8 @@ void MasternodeList::updateNodeList()
         ui->tableWidgetMasternodes->setItem(0, 0, addressItem);
         ui->tableWidgetMasternodes->setItem(0, 1, protocolItem);
         ui->tableWidgetMasternodes->setItem(0, 2, statusItem);
+        if(statusItem->text()!="ENABLED")
+            ui->tableWidgetMasternodes->item(0,2)->setForeground(notEnabled);
         ui->tableWidgetMasternodes->setItem(0, 3, activeSecondsItem);
         ui->tableWidgetMasternodes->setItem(0, 4, lastSeenItem);
         ui->tableWidgetMasternodes->setItem(0, 5, pubkeyItem);

From 42b62964ae17ad006f04405669a23233d1b903db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 6 Mar 2019 12:59:41 -0600
Subject: [PATCH 179/225] Pixel Size font

trying to fix windows dpi font issues
---
 src/qt/bitcoingui.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index fa4bd2167207..c51e0711c1c5 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -170,6 +170,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     QFont defaultFont("Volte Rounded",13, 1, false);
     defaultFont.setBold(false);
+    defaultFont.setPixelSize(13);
     QApplication::setFont(defaultFont);
 
     this->setStyleSheet(GUIUtil::loadStyleSheet());
@@ -343,6 +344,7 @@ BitcoinGUI::~BitcoinGUI()
     delete rpcConsole;
 }
 
+
 void BitcoinGUI::createActions()
 {
     QActionGroup *tabGroup = new QActionGroup(this);
@@ -760,8 +762,8 @@ void BitcoinGUI::createHeaderBar()
     btnCopyNews->setProperty("class","QuickButton");
     btnCopyNews->setToolTip("Copy news.");
     btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-    btnCopyNews->setFixedHeight(20);
-    btnCopyNews->setFixedWidth(20);
+    btnCopyNews->setFixedHeight(24);
+    btnCopyNews->setFixedWidth(24);
     btnCopyNews->setIcon(QIcon(":/icons/pac/editcopy"));
 
     profileImgLayout->setContentsMargins(0,0,0,0);

From 741e269f13599a382595906ac28aa0df03a30cc3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 6 Mar 2019 13:00:53 -0600
Subject: [PATCH 180/225] CSS and layout fixing

QRCode and other forms layout now fixed sizes in order to fit properly
---
 src/qt/forms/receivecoinsdialog.ui | 85 +++++++++++++++++++-----------
 src/qt/forms/sendcoinsdialog.ui    | 12 ++---
 src/qt/res/css/pac.css             | 16 +++---
 3 files changed, 66 insertions(+), 47 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 65a252a6edc0..d0e7957ddfbd 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -468,7 +468,7 @@
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_4">
          <property name="spacing">
-          <number>6</number>
+          <number>2</number>
          </property>
          <property name="leftMargin">
           <number>5</number>
@@ -592,8 +592,8 @@
            </property>
            <property name="sizeHint" stdset="0">
             <size>
-             <width>20</width>
-             <height>40</height>
+             <width>0</width>
+             <height>0</height>
             </size>
            </property>
           </spacer>
@@ -614,7 +614,7 @@
            <property name="sizeHint" stdset="0">
             <size>
              <width>0</width>
-             <height>20</height>
+             <height>10</height>
             </size>
            </property>
           </spacer>
@@ -622,13 +622,16 @@
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_7">
            <item>
-            <spacer name="horizontalSpacer_6">
+            <spacer name="horizontalSpacer_7">
              <property name="orientation">
               <enum>Qt::Horizontal</enum>
              </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
              <property name="sizeHint" stdset="0">
               <size>
-               <width>40</width>
+               <width>35</width>
                <height>20</height>
               </size>
              </property>
@@ -647,16 +650,21 @@
              </property>
              <property name="minimumSize">
               <size>
-               <width>280</width>
+               <width>250</width>
                <height>0</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
-               <width>16777215</width>
+               <width>300</width>
                <height>16777215</height>
               </size>
              </property>
+             <property name="font">
+              <font>
+               <pointsize>11</pointsize>
+              </font>
+             </property>
              <property name="acceptDrops">
               <bool>false</bool>
              </property>
@@ -684,6 +692,9 @@
              <property name="frame">
               <bool>false</bool>
              </property>
+             <property name="alignment">
+              <set>Qt::AlignCenter</set>
+             </property>
              <property name="readOnly">
               <bool>true</bool>
              </property>
@@ -702,14 +713,14 @@
             <widget class="QToolButton" name="btnCopyLastAddress">
              <property name="minimumSize">
               <size>
-               <width>20</width>
+               <width>0</width>
                <height>0</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
-               <width>20</width>
-               <height>50</height>
+               <width>30</width>
+               <height>30</height>
               </size>
              </property>
              <property name="toolTip">
@@ -722,6 +733,12 @@
               <iconset resource="../paccoin.qrc">
                <normaloff>:/icons/pac/editcopy</normaloff>:/icons/pac/editcopy</iconset>
              </property>
+             <property name="iconSize">
+              <size>
+               <width>24</width>
+               <height>24</height>
+              </size>
+             </property>
              <property name="checkable">
               <bool>false</bool>
              </property>
@@ -731,6 +748,9 @@
              <property name="autoExclusive">
               <bool>false</bool>
              </property>
+             <property name="popupMode">
+              <enum>QToolButton::InstantPopup</enum>
+             </property>
              <property name="toolButtonStyle">
               <enum>Qt::ToolButtonIconOnly</enum>
              </property>
@@ -745,19 +765,6 @@
              </property>
             </widget>
            </item>
-           <item>
-            <spacer name="horizontalSpacer_7">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>40</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
           </layout>
          </item>
          <item>
@@ -766,22 +773,38 @@
             <enum>Qt::Vertical</enum>
            </property>
            <property name="sizeType">
-            <enum>QSizePolicy::Expanding</enum>
+            <enum>QSizePolicy::MinimumExpanding</enum>
            </property>
            <property name="sizeHint" stdset="0">
             <size>
-             <width>20</width>
-             <height>40</height>
+             <width>0</width>
+             <height>10</height>
             </size>
            </property>
           </spacer>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout">
+           <item>
+            <spacer name="horizontalSpacer_6">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>45</width>
+               <height>10</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
            <item>
             <widget class="QPushButton" name="receiveButton">
              <property name="sizePolicy">
-              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+              <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
                <horstretch>0</horstretch>
                <verstretch>0</verstretch>
               </sizepolicy>
@@ -794,7 +817,7 @@
              </property>
              <property name="maximumSize">
               <size>
-               <width>300</width>
+               <width>16777215</width>
                <height>16777215</height>
               </size>
              </property>
@@ -822,7 +845,7 @@
               <enum>Qt::Horizontal</enum>
              </property>
              <property name="sizeType">
-              <enum>QSizePolicy::Fixed</enum>
+              <enum>QSizePolicy::Expanding</enum>
              </property>
              <property name="sizeHint" stdset="0">
               <size>
@@ -848,7 +871,7 @@
              </property>
              <property name="maximumSize">
               <size>
-               <width>140</width>
+               <width>16777215</width>
                <height>16777215</height>
               </size>
              </property>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 07c0c8ef25b3..48bd2bf881d0 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -38,7 +38,7 @@
        </property>
        <property name="maximumSize">
         <size>
-         <width>1600</width>
+         <width>1500</width>
          <height>16777215</height>
         </size>
        </property>
@@ -723,7 +723,7 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>621</width>
+             <width>541</width>
              <height>180</height>
             </rect>
            </property>
@@ -1113,13 +1113,13 @@
        </property>
        <property name="minimumSize">
         <size>
-         <width>380</width>
+         <width>460</width>
          <height>0</height>
         </size>
        </property>
        <property name="maximumSize">
         <size>
-         <width>480</width>
+         <width>510</width>
          <height>16777215</height>
         </size>
        </property>
@@ -1506,7 +1506,7 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>328</width>
+               <width>408</width>
                <height>461</height>
               </rect>
              </property>
@@ -2159,7 +2159,7 @@
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupFee"/>
   <buttongroup name="groupCustomFee"/>
+  <buttongroup name="groupFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index eada87c5e8c0..16d8d492ed74 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -96,21 +96,17 @@ QTabWidget::pane {
     border: 0px !important;
     border-radius:15px;
 }
-/* move to the right by 5px
-QTabWidget::tab-bar {
-    left: 200px;
-}*/
 /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
 QTabBar::tab {
     background:#1D1D1D;
     border: 0px solid transparent;
     border-bottom-color: transparent; /* same as the pane color */
-    padding: 2px;
+    padding: 1px;
     width: 180px;
     color:#FFFFFF;
     font-family: 'Volte Rounded',sans-serif !important;
 }
-QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog QTabBar::tab:selected, #tabWidget_OptionsDialog QTabBar::tab:hover {
+QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
     background-color: #202020 !important;
 }
 QTabBar::tab:selected {
@@ -161,8 +157,9 @@ QStatusBar{
 
 [class="LineEditMedium"]{
     height: 28px !important;
-    font-size: 14px;
+    font-size: 13px;
     border-radius: 14px;
+    text-align: center;
 }
 [class="LineEditSmall"]{
     height: 18px !important;
@@ -465,7 +462,6 @@ QPushButton:pressed {
     background: #F4EA13;
     color: rgb(5,5,5);
     border-radius: 35px;
-    /*min-height:60px !important;*/
     height: 70px !important;
     width: 360px;
     font-style: normal;
@@ -772,13 +768,13 @@ MasternodeList > QTabBar::tab{
 */
 #tabWidget_OptionsDialog QTabBar::tab {
     background: rgb(50,50,50);
-    width:80px;
+    width:100px;
 }
 #tabWidget_OptionsDialog::pane {
     background-color: rgba(50,50,50,0.35);
 }
 #OptionsDialog > #resetButton{
-    width:200px !important;
+    width:210px !important;
 }
 
 /*

From 0e28d34f4d1cc255c0243823ee00a76bd08b6cb6 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 7 Mar 2019 11:02:12 -0600
Subject: [PATCH 181/225] Button to copy the conversion of USD-PAC

---
 src/qt/forms/sendcoinsdialog.ui | 44 +++++++++++++++++++++++++++++----
 src/qt/sendcoinsdialog.cpp      | 14 +++++++++--
 src/qt/sendcoinsdialog.h        |  2 ++
 3 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 48bd2bf881d0..431ab166e79d 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1060,6 +1060,37 @@
                 <property name="alignment">
                  <set>Qt::AlignCenter</set>
                 </property>
+                <property name="textInteractionFlags">
+                 <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="copyPacs">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>20</width>
+                  <height>20</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>Copy PACs</string>
+                </property>
+                <property name="styleSheet">
+                 <string notr="true">border-image: url(:/icons/pac/editcopy);</string>
+                </property>
+                <property name="text">
+                 <string/>
+                </property>
+                <property name="class" stdset="0">
+                 <string>QuickButton</string>
+                </property>
                </widget>
               </item>
              </layout>
@@ -1246,6 +1277,9 @@
                 <height>30</height>
                </size>
               </property>
+              <property name="styleSheet">
+               <string notr="true"/>
+              </property>
               <property name="text">
                <string/>
               </property>
@@ -2145,15 +2179,15 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>BitcoinAmountField</class>
+   <class>QValidatedLineEdit</class>
    <extends>QLineEdit</extends>
-   <header>bitcoinamountfield.h</header>
-   <container>1</container>
+   <header>qvalidatedlineedit.h</header>
   </customwidget>
   <customwidget>
-   <class>QValidatedLineEdit</class>
+   <class>BitcoinAmountField</class>
    <extends>QLineEdit</extends>
-   <header>qvalidatedlineedit.h</header>
+   <header>bitcoinamountfield.h</header>
+   <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index a0bfbe313b8b..06e5b28eade0 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -29,6 +29,8 @@
 #include <QScrollBar>
 #include <QSettings>
 #include <QTextDocument>
+#include <QClipboard>
+#include <QToolTip>
 
 SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent) :
     QDialog(parent),
@@ -975,7 +977,7 @@ void SendCoinsDialog::on_lineConvertCurrency_textChanged(const QString &arg1)
         if(list1.length() == 1){
             ui->labelConvertionUSD->setText(list1[0]);
         }else{
-            ui->labelConvertionUSD->setText(list1[0] + '.' + list1[1]);
+            ui->labelConvertionUSD->setText(list1[0] + '.' + list1[1].left(8));
         }
     }else{
         ui->labelConvertionUSD->setText("0.0");
@@ -985,4 +987,12 @@ void SendCoinsDialog::on_lineConvertCurrency_textChanged(const QString &arg1)
 void SendCoinsDialog::receive_from_walletview()
 {
     ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(model->getBalance()) + " USD");
-}
\ No newline at end of file
+}
+void SendCoinsDialog::on_copyPacs_clicked()
+{
+    QClipboard *clip = QApplication::clipboard();
+    QString input = ui->labelConvertionUSD->text();
+    input.replace( ",", " " );
+    clip->setText(input);
+    QToolTip::showText(ui->copyPacs->mapToGlobal(QPoint(10,10)), "Copied PACs to clipboard!",ui->copyPacs);
+}
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
index d091c88d39a5..3de0da2e8673 100644
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -104,6 +104,8 @@ private Q_SLOTS:
 
     void on_lineConvertCurrency_textChanged(const QString &arg1);
 
+    void on_copyPacs_clicked();
+
 Q_SIGNALS:
     // Fired when a message should be reported to the user
     void message(const QString &title, const QString &message, unsigned int style);

From 5c3b57b9355fa2c648d7c0aff021471af2565a1d Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Mar 2019 10:08:16 -0600
Subject: [PATCH 182/225] AddressBookPage table fix text color

---
 src/qt/res/css/pac.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 16d8d492ed74..03eb136c9938 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -362,7 +362,7 @@ QTableView { /* Table - has to be selected as a class otherwise it throws off QC
 QTableView::item { /* Table Item */
     font-size:12px;
 }
-QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable{ /* Text color not for proposals */
+QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable, QTableView#tableView{ /* Text color not for proposals */
     color: white;
 }
 QTableView::item:selected { /* Table Item Selected */

From f665cbb572458b1cba2869b9248c14e8835b6ef2 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Mar 2019 10:26:35 -0600
Subject: [PATCH 183/225] Private page advance mode ui fixes

Red color to bright, buttons not align and progress bar not center.
---
 src/qt/forms/privatepage.ui | 15 +++++++++++++++
 src/qt/privatepage.cpp      | 12 ++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index dde7a4beb080..7dc6a80ce25f 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -321,6 +321,9 @@
                   <property name="value">
                    <number>0</number>
                   </property>
+                  <property name="alignment">
+                   <set>Qt::AlignCenter</set>
+                  </property>
                  </widget>
                 </item>
                </layout>
@@ -444,6 +447,12 @@
                     <verstretch>0</verstretch>
                    </sizepolicy>
                   </property>
+                  <property name="maximumSize">
+                   <size>
+                    <width>160</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
                   <property name="toolTip">
                    <string>Try to manually submit a PrivateSend request.</string>
                   </property>
@@ -460,6 +469,12 @@
                     <verstretch>0</verstretch>
                    </sizepolicy>
                   </property>
+                  <property name="maximumSize">
+                   <size>
+                    <width>160</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
                   <property name="toolTip">
                    <string>Reset the current status of PrivateSend (can interrupt PrivateSend if it's in the process of Mixing, which can cost you money!)</string>
                   </property>
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 0b07a0374a15..23ddf7049560 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -227,12 +227,12 @@ void PrivatePage::updatePrivateSendProgress()
         strAmountAndRounds = strPrivateSendAmount + " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds);
     } else {
         QString strMaxToAnonymize = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nMaxToAnonymize, false, BitcoinUnits::separatorAlways);
-        ui->labelAmountRounds->setToolTip(tr("Not enough compatible inputs to anonymize <span style='color:red;'>%1</span>,<br>"
-                                             "will anonymize <span style='color:red;'>%2</span> instead")
+        ui->labelAmountRounds->setToolTip(tr("Not enough compatible inputs to anonymize <span style='color:rgb(223,31,56);'>%1</span>,<br>"
+                                             "will anonymize <span style='color:rgb(223,31,56);'>%2</span> instead")
                                           .arg(strPrivateSendAmount)
                                           .arg(strMaxToAnonymize));
         strMaxToAnonymize = strMaxToAnonymize.remove(strMaxToAnonymize.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1);
-        strAmountAndRounds = "<span style='color:red;'>" +
+        strAmountAndRounds = "<span style='color:rgb(223,31,56);'>" +
                 QString(BitcoinUnits::factor(nDisplayUnit) == 1 ? "" : "~") + strMaxToAnonymize +
                 " / " + tr("%n Rounds", "", privateSendClient.nPrivateSendRounds) + "</span>";
     }
@@ -324,7 +324,7 @@ void PrivatePage::privateSendStatus()
 
     QString strKeysLeftText(tr("keys left: %1").arg(pwalletMain->nKeysLeftSinceAutoBackup));
     if(pwalletMain->nKeysLeftSinceAutoBackup < PRIVATESEND_KEYS_THRESHOLD_WARNING) {
-        strKeysLeftText = "<span style='color:red;'>" + strKeysLeftText + "</span>";
+        strKeysLeftText = "<span style='color:rgb(223,31,56);'>" + strKeysLeftText + "</span>";
     }
     ui->labelPrivateSendEnabled->setToolTip(strKeysLeftText);
 
@@ -352,7 +352,7 @@ void PrivatePage::privateSendStatus()
         if(settings.value("fLowKeysWarning").toBool()) {
             QString strWarn =   tr("Very low number of keys left since last automatic backup!") + "<br><br>" +
                                 tr("We are about to create a new automatic backup for you, however "
-                                   "<span style='color:red;'> you should always make sure you have backups "
+                                   "<span style='color:rgb(223,31,56);'> you should always make sure you have backups "
                                    "saved in some safe place</span>!") + "<br><br>" +
                                 tr("Note: You turn this message off in options.");
             ui->labelPrivateSendEnabled->setToolTip(strWarn);
@@ -513,7 +513,7 @@ void PrivatePage::DisablePrivateSendCompletely() {
     ui->privateSendReset->setText("(" + tr("Disabled") + ")");
     ui->framePrivateSend->setEnabled(false);
     if (nWalletBackups <= 0) {
-        ui->labelPrivateSendEnabled->setText("<span style='color:red;'>(" + tr("Disabled") + ")</span>");
+        ui->labelPrivateSendEnabled->setText("<span style='color:rgb(223,31,56);'>(" + tr("Disabled") + ")</span>");
     }
     privateSendClient.fEnablePrivateSend = false;
 }

From e4692bed64a543b08a7d86473e90dad42de69f5c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Mar 2019 11:14:25 -0600
Subject: [PATCH 184/225] Masternodes Page tabs color and size change

---
 src/qt/res/css/pac.css | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 03eb136c9938..412a566ecf65 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -763,6 +763,14 @@ MasternodeList > QTabBar::tab{
     border-radius: 12px;
     height: 24px;
 }
+#tabWidget>QTabBar::tab {
+    background-color: #1D1D1D !important;
+    min-height: 25px;
+}
+#tabWidget>QTabBar::tab:selected{
+    background-color: #383737 !important;
+    border: 1px solid black !important;
+}
 /*
  * OptionsDialog
 */

From 56f9e8074ab0754724e5f247000d014fcfcf1f85 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Mar 2019 12:05:10 -0600
Subject: [PATCH 185/225] Coin control dialog UI fixes

Style of the table, white borders, and cut labels.
---
 src/qt/coincontroldialog.cpp      |  8 ++++----
 src/qt/forms/coincontroldialog.ui | 10 ++++++++--
 src/qt/res/css/pac.css            | 12 +++++++++++-
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
index aae7d2ab4a63..72dda2c71f66 100644
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -131,11 +131,11 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *platformStyle, QWidget
     ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString());
 
     ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84);
-    ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100);
+    ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 120);
     ui->treeWidget->setColumnWidth(COLUMN_LABEL, 170);
-    ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 190);
+    ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 240);
     ui->treeWidget->setColumnWidth(COLUMN_PRIVATESEND_ROUNDS, 88);
-    ui->treeWidget->setColumnWidth(COLUMN_DATE, 80);
+    ui->treeWidget->setColumnWidth(COLUMN_DATE, 90);
     ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 100);
     ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true);         // store transaction hash in this column, but don't show it
     ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true);     // store vout index in this column, but don't show it
@@ -700,7 +700,7 @@ void CoinControlDialog::updateView()
     
     ui->treeWidget->clear();
     ui->treeWidget->setEnabled(false); // performance, otherwise updateLabels would be called for every checked checkbox
-    ui->treeWidget->setAlternatingRowColors(!treeMode);
+    ui->treeWidget->setAlternatingRowColors(false);
     QFlags<Qt::ItemFlag> flgCheckbox = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable;
     QFlags<Qt::ItemFlag> flgTristate = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsTristate;
 
diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui
index f890e8212a3c..21a808ec510d 100644
--- a/src/qt/forms/coincontroldialog.ui
+++ b/src/qt/forms/coincontroldialog.ui
@@ -358,7 +358,7 @@
         <item>
          <widget class="QRadioButton" name="radioTreeMode">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+           <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
@@ -371,7 +371,7 @@
         <item>
          <widget class="QRadioButton" name="radioListMode">
           <property name="sizePolicy">
-           <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+           <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
@@ -386,6 +386,12 @@
         </item>
         <item>
          <widget class="QLabel" name="labelLocked">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
           <property name="text">
            <string>(1 locked)</string>
           </property>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 412a566ecf65..7db25661ba3b 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -784,13 +784,23 @@ MasternodeList > QTabBar::tab{
 #OptionsDialog > #resetButton{
     width:210px !important;
 }
-
 /*
  * Sign verify message
  */
 #messageIn_SM, #messageIn_VM{
     background: rgb(10, 10, 10);
 }
+/*
+ * Coin contro dialog
+ */
+#frame{
+    border: 0px;
+}
+#treeWidget{
+    border: 0px;
+    background-color: rgb(17,17,17);
+    color:#fff;
+}
 /* The class on the QT is not working, this is "LineEditSmall" */
 #addressIn_SM, #signatureOut_SM{
     border: 0px;

From 8789aee51e39ab06d2d901b8e9c4476b95195ee6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 8 Mar 2019 12:51:39 -0600
Subject: [PATCH 186/225] Translations fix German and Spanish

---
 src/qt/locale/paccoin_de.ts | 4 ++--
 src/qt/locale/paccoin_es.ts | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qt/locale/paccoin_de.ts b/src/qt/locale/paccoin_de.ts
index 1938999e87a0..de71ecff7829 100644
--- a/src/qt/locale/paccoin_de.ts
+++ b/src/qt/locale/paccoin_de.ts
@@ -1549,7 +1549,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>&amp;Reset Options</source>
-        <translation>Konfiguration &amp;zurücksetzen</translation>
+        <translation>&amp;Zurücksetzen</translation>
     </message>
     <message>
         <source>&amp;OK</source>
@@ -2806,7 +2806,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>Add &amp;Recipient</source>
-        <translation>Empfänger &amp;hinzufügen</translation>
+        <translation>&amp;Hinzufügen</translation>
     </message>
     <message>
         <source>Balance:</source>
diff --git a/src/qt/locale/paccoin_es.ts b/src/qt/locale/paccoin_es.ts
index d32ad7394731..b153447d5053 100644
--- a/src/qt/locale/paccoin_es.ts
+++ b/src/qt/locale/paccoin_es.ts
@@ -1301,7 +1301,7 @@ https://www.transifex.com/projects/p/$PAC/</translation>
     </message>
     <message>
         <source>&amp;Reset Options</source>
-        <translation>&amp;Restablecer opciones</translation>
+        <translation>&amp;Restablecer</translation>
     </message>
     <message>
         <source>&amp;OK</source>

From 9bd85f328597bcbe67f9fabf2101c17b4b419158 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 8 Mar 2019 12:52:05 -0600
Subject: [PATCH 187/225] SendCoins CoinControl scrollbar and better displaying

---
 src/qt/forms/sendcoinsdialog.ui | 1102 +++++++++++++++++++------------
 src/qt/res/css/pac.css          |   12 +-
 src/qt/sendcoinsdialog.cpp      |    4 +-
 3 files changed, 673 insertions(+), 445 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 431ab166e79d..d6eca4c7a9ec 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1123</width>
-    <height>579</height>
+    <width>1213</width>
+    <height>623</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -75,7 +75,7 @@
           <property name="maximumSize">
            <size>
             <width>16777215</width>
-            <height>180</height>
+            <height>220</height>
            </size>
           </property>
           <property name="frameShape">
@@ -101,7 +101,7 @@
             <number>6</number>
            </property>
            <item>
-            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0">
+            <layout class="QVBoxLayout" name="verticalLayoutCoinControl" stretch="0,0,0,0,0">
              <property name="spacing">
               <number>0</number>
              </property>
@@ -111,33 +111,99 @@
              <property name="topMargin">
               <number>10</number>
              </property>
+             <item>
+              <widget class="QLabel" name="labelCoinControlFeatures">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
+               </property>
+               <property name="font">
+                <font>
+                 <weight>75</weight>
+                 <bold>true</bold>
+                </font>
+               </property>
+               <property name="styleSheet">
+                <string notr="true"/>
+               </property>
+               <property name="text">
+                <string>Coin Control Features</string>
+               </property>
+               <property name="class" stdset="0">
+                <string>titleLabel</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <spacer name="verticalSpacer_2">
+               <property name="orientation">
+                <enum>Qt::Vertical</enum>
+               </property>
+               <property name="sizeType">
+                <enum>QSizePolicy::Fixed</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>5</width>
+                 <height>10</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
              <item>
               <layout class="QHBoxLayout" name="horizontalLayoutCoinControl1">
+               <property name="spacing">
+                <number>5</number>
+               </property>
                <property name="bottomMargin">
-                <number>15</number>
+                <number>5</number>
                </property>
                <item>
-                <widget class="QLabel" name="labelCoinControlFeatures">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
+                <spacer name="horizontalSpacer_24">
+                 <property name="orientation">
+                  <enum>Qt::Horizontal</enum>
                  </property>
-                 <property name="font">
-                  <font>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Fixed</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>15</width>
+                   <height>20</height>
+                  </size>
                  </property>
+                </spacer>
+               </item>
+               <item>
+                <widget class="QPushButton" name="pushButtonCoinControl">
                  <property name="styleSheet">
                   <string notr="true"/>
                  </property>
                  <property name="text">
-                  <string>Coin Control Features</string>
+                  <string>Inputs...</string>
+                 </property>
+                 <property name="autoDefault">
+                  <bool>false</bool>
                  </property>
                  <property name="class" stdset="0">
-                  <string>titleLabel</string>
+                  <string>SmallButton</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLabel" name="labelCoinControlAutomaticallySelected">
+                 <property name="font">
+                  <font>
+                   <pointsize>12</pointsize>
+                  </font>
+                 </property>
+                 <property name="text">
+                  <string>automatically selected</string>
+                 </property>
+                 <property name="margin">
+                  <number>5</number>
                  </property>
                 </widget>
                </item>
@@ -154,6 +220,26 @@
                  </property>
                 </spacer>
                </item>
+               <item>
+                <widget class="QLabel" name="labelCoinControlInsuffFunds">
+                 <property name="font">
+                  <font>
+                   <pointsize>12</pointsize>
+                   <weight>75</weight>
+                   <bold>true</bold>
+                  </font>
+                 </property>
+                 <property name="styleSheet">
+                  <string notr="true">color:red;font-weight:bold;</string>
+                 </property>
+                 <property name="text">
+                  <string>Insufficient funds!</string>
+                 </property>
+                 <property name="margin">
+                  <number>5</number>
+                 </property>
+                </widget>
+               </item>
                <item>
                 <widget class="QLabel" name="labelCoinControlChangeLabel">
                  <property name="sizePolicy">
@@ -176,30 +262,10 @@
                  </property>
                 </widget>
                </item>
-               <item>
-                <widget class="QLabel" name="labelCoinControlInsuffFunds">
-                 <property name="font">
-                  <font>
-                   <pointsize>12</pointsize>
-                   <weight>75</weight>
-                   <bold>true</bold>
-                  </font>
-                 </property>
-                 <property name="styleSheet">
-                  <string notr="true">color:red;font-weight:bold;</string>
-                 </property>
-                 <property name="text">
-                  <string>Insufficient funds!</string>
-                 </property>
-                 <property name="margin">
-                  <number>5</number>
-                 </property>
-                </widget>
-               </item>
               </layout>
              </item>
              <item>
-              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0,0,0">
+              <layout class="QHBoxLayout" name="horizontalLayoutCoinControl2" stretch="0,0,0,0">
                <property name="spacing">
                 <number>8</number>
                </property>
@@ -207,45 +273,17 @@
                 <number>10</number>
                </property>
                <item>
-                <widget class="QPushButton" name="pushButtonCoinControl">
-                 <property name="styleSheet">
-                  <string notr="true"/>
-                 </property>
-                 <property name="text">
-                  <string>Inputs...</string>
-                 </property>
-                 <property name="autoDefault">
-                  <bool>false</bool>
-                 </property>
-                 <property name="class" stdset="0">
-                  <string>SmallButton</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="labelCoinControlAutomaticallySelected">
-                 <property name="font">
-                  <font>
-                   <pointsize>12</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>automatically selected</string>
-                 </property>
-                 <property name="margin">
-                  <number>5</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacerCoinControl">
+                <spacer name="horizontalSpacer_23">
                  <property name="orientation">
                   <enum>Qt::Horizontal</enum>
                  </property>
+                 <property name="sizeType">
+                  <enum>QSizePolicy::Fixed</enum>
+                 </property>
                  <property name="sizeHint" stdset="0">
                   <size>
-                   <width>40</width>
-                   <height>1</height>
+                   <width>15</width>
+                   <height>20</height>
                   </size>
                  </property>
                 </spacer>
@@ -253,7 +291,7 @@
                <item>
                 <widget class="QCheckBox" name="checkBoxCoinControlChange">
                  <property name="sizePolicy">
-                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
@@ -314,11 +352,11 @@
                   <enum>Qt::Horizontal</enum>
                  </property>
                  <property name="sizeType">
-                  <enum>QSizePolicy::Fixed</enum>
+                  <enum>QSizePolicy::Preferred</enum>
                  </property>
                  <property name="sizeHint" stdset="0">
                   <size>
-                   <width>10</width>
+                   <width>15</width>
                    <height>20</height>
                   </size>
                  </property>
@@ -327,385 +365,575 @@
               </layout>
              </item>
              <item>
-              <widget class="QWidget" name="widgetCoinControl" native="true">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
+              <widget class="QScrollArea" name="scrollAreaCoinControl">
+               <property name="maximumSize">
                 <size>
-                 <width>0</width>
-                 <height>0</height>
+                 <width>16777215</width>
+                 <height>50</height>
                 </size>
                </property>
                <property name="styleSheet">
                 <string notr="true"/>
                </property>
-               <layout class="QHBoxLayout" name="horizontalLayoutCoinControl5">
-                <property name="leftMargin">
-                 <number>0</number>
-                </property>
-                <property name="topMargin">
-                 <number>0</number>
-                </property>
-                <property name="rightMargin">
-                 <number>0</number>
+               <property name="horizontalScrollBarPolicy">
+                <enum>Qt::ScrollBarAsNeeded</enum>
+               </property>
+               <property name="widgetResizable">
+                <bool>true</bool>
+               </property>
+               <property name="alignment">
+                <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+               </property>
+               <widget class="QWidget" name="scrollAreaWidgetContents_6">
+                <property name="geometry">
+                 <rect>
+                  <x>0</x>
+                  <y>0</y>
+                  <width>604</width>
+                  <height>126</height>
+                 </rect>
                 </property>
-                <property name="bottomMargin">
-                 <number>0</number>
+                <property name="styleSheet">
+                 <string notr="true">background: transparent !important;</string>
                 </property>
-                <item>
-                 <layout class="QHBoxLayout" name="horizontalLayoutCoinControl3" stretch="0,0,0,1">
-                  <property name="spacing">
-                   <number>20</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>0</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>10</number>
-                  </property>
-                  <item>
-                   <layout class="QFormLayout" name="formLayoutCoinControl1">
-                    <property name="horizontalSpacing">
-                     <number>10</number>
-                    </property>
-                    <property name="verticalSpacing">
-                     <number>14</number>
-                    </property>
-                    <property name="leftMargin">
-                     <number>10</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>4</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <item row="0" column="0">
-                     <widget class="QLabel" name="labelCoinControlQuantityText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Quantity:</string>
-                      </property>
-                      <property name="margin">
-                       <number>0</number>
-                      </property>
-                     </widget>
+                <layout class="QVBoxLayout" name="verticalLayout_7">
+                 <item>
+                  <widget class="QWidget" name="containerWidget" native="true">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="styleSheet">
+                    <string notr="true"/>
+                   </property>
+                   <layout class="QVBoxLayout" name="widgetCoinControl">
+                    <item>
+                     <layout class="QHBoxLayout" name="row2">
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlAmountText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Amount:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="margin">
+                         <number>0</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlAmount">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>200</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0.00 PAC</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>15</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlLowOutputText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Dust:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlLowOutput">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">no</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>4</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
                     </item>
-                    <item row="0" column="1">
-                     <widget class="QLabel" name="labelCoinControlQuantity">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0</string>
-                      </property>
-                      <property name="margin">
+                    <item>
+                     <layout class="QHBoxLayout" name="row1">
+                      <property name="leftMargin">
                        <number>0</number>
                       </property>
-                      <property name="textInteractionFlags">
-                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="1">
-                     <widget class="QLabel" name="labelCoinControlBytes">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0</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="labelCoinControlBytesText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Bytes:</string>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <layout class="QFormLayout" name="formLayoutCoinControl2">
-                    <property name="horizontalSpacing">
-                     <number>10</number>
-                    </property>
-                    <property name="verticalSpacing">
-                     <number>14</number>
-                    </property>
-                    <property name="leftMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>4</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <item row="0" column="0">
-                     <widget class="QLabel" name="labelCoinControlAmountText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Amount:</string>
-                      </property>
-                      <property name="margin">
+                      <property name="topMargin">
                        <number>0</number>
                       </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="1">
-                     <widget class="QLabel" name="labelCoinControlAmount">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0.00 PAC</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="labelCoinControlLowOutputText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Dust:</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="1">
-                     <widget class="QLabel" name="labelCoinControlLowOutput">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">no</string>
-                      </property>
-                      <property name="textInteractionFlags">
-                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <layout class="QFormLayout" name="formLayoutCoinControl3">
-                    <property name="horizontalSpacing">
-                     <number>10</number>
-                    </property>
-                    <property name="verticalSpacing">
-                     <number>14</number>
-                    </property>
-                    <property name="leftMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>4</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <item row="0" column="0">
-                     <widget class="QLabel" name="labelCoinControlFeeText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Fee:</string>
-                      </property>
-                      <property name="margin">
+                      <property name="rightMargin">
                        <number>0</number>
                       </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="1">
-                     <widget class="QLabel" name="labelCoinControlFee">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0.00 PAC</string>
-                      </property>
-                      <property name="textInteractionFlags">
-                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <layout class="QFormLayout" name="formLayoutCoinControl4">
-                    <property name="horizontalSpacing">
-                     <number>10</number>
-                    </property>
-                    <property name="verticalSpacing">
-                     <number>14</number>
-                    </property>
-                    <property name="leftMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>4</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <item row="0" column="0">
-                     <widget class="QLabel" name="labelCoinControlAfterFeeText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>After Fee:</string>
-                      </property>
-                      <property name="margin">
+                      <property name="bottomMargin">
                        <number>0</number>
                       </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="1">
-                     <widget class="QLabel" name="labelCoinControlAfterFee">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0.00 PAC</string>
-                      </property>
-                      <property name="textInteractionFlags">
-                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                      </property>
-                     </widget>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlAfterFeeText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>After Fee:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="margin">
+                         <number>0</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlAfterFee">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>200</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0.00 PAC</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>15</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlBytesText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Bytes:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlBytes">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>4</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
                     </item>
-                    <item row="1" column="0">
-                     <widget class="QLabel" name="labelCoinControlChangeText">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
-                      </property>
-                      <property name="text">
-                       <string>Change:</string>
-                      </property>
-                     </widget>
+                    <item>
+                     <layout class="QHBoxLayout" name="row3">
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlFeeText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Fee:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="margin">
+                         <number>0</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlFee">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>200</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="maximumSize">
+                         <size>
+                          <width>16777215</width>
+                          <height>16777215</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0.00 PAC</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>15</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlQuantityText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Quantity:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="margin">
+                         <number>0</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlQuantity">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>0</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="margin">
+                         <number>0</number>
+                        </property>
+                        <property name="indent">
+                         <number>4</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
                     </item>
-                    <item row="1" column="1">
-                     <widget class="QLabel" name="labelCoinControlChange">
-                      <property name="font">
-                       <font>
-                        <pointsize>12</pointsize>
-                       </font>
-                      </property>
-                      <property name="cursor">
-                       <cursorShape>IBeamCursor</cursorShape>
-                      </property>
-                      <property name="contextMenuPolicy">
-                       <enum>Qt::ActionsContextMenu</enum>
-                      </property>
-                      <property name="text">
-                       <string notr="true">0.00 PAC</string>
-                      </property>
-                      <property name="textInteractionFlags">
-                       <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
-                      </property>
-                     </widget>
+                    <item>
+                     <layout class="QHBoxLayout" name="row4">
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlChangeText">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>70</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>13</pointsize>
+                          <weight>75</weight>
+                          <bold>true</bold>
+                          <underline>false</underline>
+                         </font>
+                        </property>
+                        <property name="text">
+                         <string>Change:</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelCoinControlChange">
+                        <property name="sizePolicy">
+                         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                          <horstretch>0</horstretch>
+                          <verstretch>0</verstretch>
+                         </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                         <size>
+                          <width>200</width>
+                          <height>0</height>
+                         </size>
+                        </property>
+                        <property name="font">
+                         <font>
+                          <pointsize>12</pointsize>
+                         </font>
+                        </property>
+                        <property name="cursor">
+                         <cursorShape>IBeamCursor</cursorShape>
+                        </property>
+                        <property name="contextMenuPolicy">
+                         <enum>Qt::ActionsContextMenu</enum>
+                        </property>
+                        <property name="text">
+                         <string notr="true">0.00 PAC</string>
+                        </property>
+                        <property name="alignment">
+                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+                        </property>
+                        <property name="indent">
+                         <number>15</number>
+                        </property>
+                        <property name="textInteractionFlags">
+                         <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+                        </property>
+                       </widget>
+                      </item>
+                     </layout>
                     </item>
                    </layout>
-                  </item>
-                 </layout>
-                </item>
-               </layout>
+                  </widget>
+                 </item>
+                </layout>
+               </widget>
               </widget>
              </item>
             </layout>
@@ -723,8 +951,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>541</width>
-             <height>180</height>
+             <width>631</width>
+             <height>219</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -2193,7 +2421,7 @@
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupCustomFee"/>
   <buttongroup name="groupFee"/>
+  <buttongroup name="groupCustomFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7db25661ba3b..55b81df509c2 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -352,7 +352,7 @@ QHeaderView::up-arrow{
     margin-right: 5px;
 }
 QScrollArea {
-    background:transparent;
+    background: transparent;
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
@@ -427,11 +427,11 @@ QPushButton:pressed {
 }
 [class="SmallButton"]{
     border-radius: 8px;
-    height: 18px;
-    width: 60px;
+    height: 20px;
+    width: 80px;
     font-family: 'Volte Rounded', sans-serif;
     font-weight: normal;
-    font-size: 11px;
+    font-size: 12px;
 }
 [class="linkButton"]{
     background-color: transparent !important;
@@ -617,7 +617,7 @@ BitcoinAmountField QComboBox::indicator {
 #SendCoinsDialog{
     background:transparent;
 }
-#frameCoinControl, #scrollArea, #scrollAreaWidgetContents{
+#frameCoinControl, #scrollArea, #scrollAreaWidgetContents, #scrollAreaCoinControl{
     border: 0px !important;
 }
 #frameCoinControl{
@@ -627,7 +627,7 @@ BitcoinAmountField QComboBox::indicator {
 #frameFee{
     border: 0px;
 }
-#scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3{
+#scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3, #scrollAreaCoinControl{
     background-color:rgba(0,0,0,0) !important;
 }
 #verticalWidget{
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 06e5b28eade0..3a397f1d7360 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -949,13 +949,13 @@ void SendCoinsDialog::coinControlUpdateLabels()
 
         // show coin control stats
         ui->labelCoinControlAutomaticallySelected->hide();
-        ui->widgetCoinControl->show();
+        ui->scrollAreaCoinControl->show();
     }
     else
     {
         // hide coin control stats
         ui->labelCoinControlAutomaticallySelected->show();
-        ui->widgetCoinControl->hide();
+        ui->scrollAreaCoinControl->hide();
         ui->labelCoinControlInsuffFunds->hide();
     }
 }

From 2e49e7b37835f24bf255c9e29713ca9e3eebf887 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 8 Mar 2019 12:52:32 -0600
Subject: [PATCH 188/225] Possible fix for windows

On preferences the tabs go out on the left
---
 src/qt/res/css/pac.css | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 7db25661ba3b..8db4749112c7 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -97,6 +97,9 @@ QTabWidget::pane {
     border-radius:15px;
 }
 /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
+QTabBar{
+    margin-left: 20px;
+}
 QTabBar::tab {
     background:#1D1D1D;
     border: 0px solid transparent;

From b9dfd8105eeba938346102e8efd5e3078e104389 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 8 Mar 2019 13:35:32 -0600
Subject: [PATCH 189/225] User can now select typography

cuz it was hurting users eyes
---
 src/qt/bitcoingui.cpp         | 26 ++++++++++++++++++++------
 src/qt/forms/optionsdialog.ui | 14 ++++++++++++++
 src/qt/guiutil.cpp            | 12 ++++++++++++
 src/qt/guiutil.h              |  2 ++
 src/qt/optionsdialog.cpp      |  8 +++++++-
 src/qt/optionsmodel.cpp       | 13 ++++++++++++-
 src/qt/optionsmodel.h         |  1 +
 src/qt/res/css/pac.css        | 14 --------------
 8 files changed, 68 insertions(+), 22 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index c51e0711c1c5..dede442e61d5 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -164,14 +164,28 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-    /*QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
     std::cout<< "family: ";
-    std::cout<< family.toStdString();*/
+    std::cout<< "fontType: " << family.toStdString();
+
+    QString fontType = GUIUtil::getFontType();
+    std::cout<< fontType.toStdString();
+
+    if(fontType.toStdString() == "default"){
+        std::cout << "entrando aqui ";
+        QFont defaultFont("Volte Rounded",13, 1, false);
+        defaultFont.setBold(false);
+        defaultFont.setPixelSize(13);
+        QApplication::setFont(defaultFont);
+    }
+    else{
+        std::cout << "entrando aca ";
+        QFont defaultFont("Gotham Medium",13, 1, false);
+        defaultFont.setBold(false);
+        defaultFont.setPixelSize(13);
+        QApplication::setFont(defaultFont);
+    }
 
-    QFont defaultFont("Volte Rounded",13, 1, false);
-    defaultFont.setBold(false);
-    defaultFont.setPixelSize(13);
-    QApplication::setFont(defaultFont);
 
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
index ffd60dde3e5b..b1d9c26961ed 100644
--- a/src/qt/forms/optionsdialog.ui
+++ b/src/qt/forms/optionsdialog.ui
@@ -810,6 +810,20 @@
          </item>
         </layout>
        </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_6_Display">
+         <item>
+          <widget class="QLabel" name="lblFontType">
+           <property name="text">
+            <string>Font Type:</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QValueComboBox" name="cboFontType"/>
+         </item>
+        </layout>
+       </item>
        <item>
         <spacer name="verticalSpacer">
          <property name="orientation">
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 96743724767c..5aed7883dbc6 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -928,6 +928,18 @@ void setGUITextColor(){
         COLOR_TEXT = QColor(20,20,20);
 }
 
+// Return name of current UI-theme or default theme if no theme was found
+QString getFontType()
+{
+    QSettings settings;
+    QString FontType = settings.value("FontType", "").toString();
+
+    if(!FontType.isEmpty()){
+        return FontType;
+    }
+    return QString("default");
+}
+
 // Open CSS when configured
 QString loadStyleSheet()
 {
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index 60110beabeb5..45f5f4bb070b 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -205,6 +205,8 @@ namespace GUIUtil
 
     /** Return name of current CSS theme */
     QString getThemeName();
+
+    QString getFontType();
     
     /* Convert QString to OS specific boost path through UTF-8 */
     boost::filesystem::path qstringToBoostPath(const QString &path);
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index e9144bb0a8cd..f447a605aa36 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -100,7 +100,11 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     //ui->theme->addItem(QString("PAC-blue"), QVariant("drkblue"));
     //ui->theme->addItem(QString("PAC-Crownium"), QVariant("crownium"));
     //ui->theme->addItem(QString("PAC-traditional"), QVariant("trad"));
-    
+
+    /* typography selector */
+    ui->cboFontType->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
+    ui->cboFontType->addItem(QString("(") + tr("MonoSpace") + QString(")"), QVariant(""));
+
     /* Language selector */
     QDir translations(":translations");
     ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
@@ -238,6 +242,8 @@ void OptionsDialog::setMapper()
     mapper->addMapping(ui->lang, OptionsModel::Language);
     mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
     mapper->addMapping(ui->thirdPartyTxUrls, OptionsModel::ThirdPartyTxUrls);
+    mapper->addMapping(ui->cboFontType, OptionsModel::Language);
+
 
 }
 
diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
index 2262a115ae24..0cc241227dae 100644
--- a/src/qt/optionsmodel.cpp
+++ b/src/qt/optionsmodel.cpp
@@ -83,6 +83,9 @@ void OptionsModel::Init(bool resetSettings)
     if (!settings.contains("theme"))
         settings.setValue("theme", "");
 
+    if (!settings.contains("FontType"))
+        settings.setValue("FontType", "");
+
 #ifdef ENABLE_WALLET
     if (!settings.contains("fCoinControlFeatures"))
         settings.setValue("fCoinControlFeatures", false);
@@ -290,6 +293,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
             return settings.value("theme");
         case Language:
             return settings.value("language");
+        case FontType:
+            return  settings.value("FontType");
 #ifdef ENABLE_WALLET
         case CoinControlFeatures:
             return fCoinControlFeatures;
@@ -469,7 +474,13 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
                 settings.setValue("theme", value);
                 setRestartRequired(true);
             }
-            break;            
+            break;
+        case FontType:
+            if (settings.value("FontType") != value) {
+                settings.setValue("FontType", value);
+                setRestartRequired(true);
+            }
+            break;
         case Language:
             if (settings.value("language") != value) {
                 settings.setValue("language", value);
diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h
index 88839639dd9d..c40a9cb16bed 100644
--- a/src/qt/optionsmodel.h
+++ b/src/qt/optionsmodel.h
@@ -43,6 +43,7 @@ class OptionsModel : public QAbstractListModel
         Digits,                 // QString
         Theme,                  // QString
         Language,               // QString
+        FontType,               // QString
         CoinControlFeatures,    // bool
         ThreadsScriptVerif,     // int
         DatabaseCache,          // int
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index b339a79553a6..8337b2a2790d 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -38,7 +38,6 @@ QSlider::handle:disabled{
 }
 
 QLabel, QGroupBox::title{
-    font-family: 'Volte Rounded',sans-serif !important;
     color: white !important;
     font-weight:normal;
 }
@@ -50,7 +49,6 @@ QMessageBox {
     background-color:rgb(26,26,26);
 }
 QToolTip {
-    font-family: 'Volte Rounded',sans-serif !important;
     color: #0A0A0A;
     background-color: #ffffff;
     border: none;
@@ -107,7 +105,6 @@ QTabBar::tab {
     padding: 1px;
     width: 180px;
     color:#FFFFFF;
-    font-family: 'Volte Rounded',sans-serif !important;
 }
 QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
     background-color: #202020 !important;
@@ -150,7 +147,6 @@ QStatusBar{
     padding:3px;
     background-color: rgb(25,25,25);
     color: #fff;
-    font-family: 'Volte Rounded', sans-serif;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
     height: 40px !important;
@@ -198,20 +194,17 @@ QStatusBar{
 QLabel[class="titleLabel"]{
     text-transform:uppercase;
     color: #FFF;
-    font-family: 'Volte Rounded', sans-serif;
     font-weight: medium;
     font-size: 20px;
 }
 QLabel[class="pacCoinsLabel"]{
     margin: 0px;
     color: #F4EA13;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 32px;
     font-weight: medium;
 }
 QLabel[class="usdLabel"]{
     color: #FFF;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 23px;
     font-weight: normal;
 }
@@ -222,7 +215,6 @@ QLabel[class="labelPacIcon"]{
 QPlainTextEdit {
     background: rgb(255, 0, 0);
     color: rgb(20, 20, 20);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
 }
 /* ScrollBar */
@@ -287,7 +279,6 @@ QAbstractSpinBox {
     font-size: 15px;
     min-height:40px;
     background-color: rgb(17,17,17);
-    font-family: 'Volte Rounded', sans-serif;
     text-align: center;
     border:0px;
     color:#fff;
@@ -409,7 +400,6 @@ QPushButton {
     border-radius: 18px;
     height: 35px;
     width: 180px;
-    font-family: 'Volte Rounded', sans-serif;
     font-weight: medium;
     font-size: 16px;
 }
@@ -432,7 +422,6 @@ QPushButton:pressed {
     border-radius: 8px;
     height: 20px;
     width: 80px;
-    font-family: 'Volte Rounded', sans-serif;
     font-weight: normal;
     font-size: 12px;
 }
@@ -468,7 +457,6 @@ QPushButton:pressed {
     height: 70px !important;
     width: 360px;
     font-style: normal;
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 22px;
     font-weight:medium;
 }
@@ -508,7 +496,6 @@ QRadioButton::indicator:unchecked:disabled{
 BitcoinAmountField QComboBox {
     border-radius: 20px;
     background-color: rgb(17,17,17);
-    font-family: 'Volte Rounded', sans-serif;
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -811,7 +798,6 @@ MasternodeList > QTabBar::tab{
     padding:3px;
     background-color: rgb(10, 10, 10);
     color: #fff;
-    font-family: 'Volte Rounded', sans-serif;
     height: 20px !important;
     font-size: 13px;
     border-radius: 10px;

From 536368299d50655bad39e1c951881dd44b072461 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 12 Mar 2019 12:22:54 -0600
Subject: [PATCH 190/225] Custom Font Typo

Now the user can select any typography installed on the system. In addition to the default ones for the UI
---
 src/qt/addressbookpage.cpp     |  8 +++++
 src/qt/askpassphrasedialog.cpp |  8 +++++
 src/qt/bitcoingui.cpp          | 55 ++++++++++++++++++++--------------
 src/qt/coincontroldialog.cpp   |  8 ++++-
 src/qt/darksendconfig.cpp      |  8 +++++
 src/qt/masternodelist.cpp      |  6 ++++
 src/qt/optionsdialog.cpp       | 17 +++++++++--
 src/qt/overviewpage.cpp        | 30 +++++++++++++++----
 src/qt/overviewpage.h          |  1 -
 src/qt/privatepage.cpp         |  6 ++++
 src/qt/proposallist.cpp        |  7 +++++
 src/qt/receivecoinsdialog.cpp  |  9 +++++-
 src/qt/res/css/pac.css         |  3 +-
 src/qt/sendcoinsdialog.cpp     |  7 +++++
 src/qt/sendcoinsentry.cpp      |  7 +++++
 15 files changed, 144 insertions(+), 36 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index b71ff30996c4..dc7116a31252 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -31,6 +31,14 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode mode,
 {
     QString theme = GUIUtil::getThemeName();
     ui->setupUi(this);
+
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     if (!platformStyle->getImagesOnButtons()) {
         ui->newAddress->setIcon(QIcon());
         ui->copyAddress->setIcon(QIcon());
diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
index 4866ffbeab71..2ce0f88c5333 100644
--- a/src/qt/askpassphrasedialog.cpp
+++ b/src/qt/askpassphrasedialog.cpp
@@ -6,6 +6,7 @@
 #include "askpassphrasedialog.h"
 #include "ui_askpassphrasedialog.h"
 
+#include "guiutil.h"
 #include "guiconstants.h"
 #include "walletmodel.h"
 
@@ -24,6 +25,13 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
 {
     ui->setupUi(this);
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     ui->passEdit1->setMinimumSize(ui->passEdit1->sizeHint());
     ui->passEdit2->setMinimumSize(ui->passEdit2->sizeHint());
     ui->passEdit3->setMinimumSize(ui->passEdit3->sizeHint());
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index dede442e61d5..a2dfd5cfa9a4 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -69,6 +69,7 @@
 #include <QProxyStyle>
 #include <QPainter>
 #include <QToolButton>
+#include <QTreeWidget>
 
 #if QT_VERSION < 0x050000
 #include <QTextDocument>
@@ -156,41 +157,51 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     settings.setValue("theme", "pac");
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
-    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
+    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Light");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Semibold");
     QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Bold");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
-    int id = QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
+    QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
-    std::cout<< "family: ";
-    std::cout<< "fontType: " << family.toStdString();
 
-    QString fontType = GUIUtil::getFontType();
-    std::cout<< fontType.toStdString();
-
-    if(fontType.toStdString() == "default"){
-        std::cout << "entrando aqui ";
-        QFont defaultFont("Volte Rounded",13, 1, false);
-        defaultFont.setBold(false);
-        defaultFont.setPixelSize(13);
-        QApplication::setFont(defaultFont);
-    }
-    else{
-        std::cout << "entrando aca ";
-        QFont defaultFont("Gotham Medium",13, 1, false);
-        defaultFont.setBold(false);
-        defaultFont.setPixelSize(13);
-        QApplication::setFont(defaultFont);
+/*
+    for(int i = 0; i < database.families().count(); i++)
+    {
+        QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
+        familyItem->setText(0, database.families().at(i));
+
+        for(int j = 0; j < database.styles(database.families().at(i)).count(); j++)
+        {
+            QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
+            styleItem->setText(0, database.styles(database.families().at(i)).at(j));
+
+            QString sizes;
+            styleItem->setText(1, sizes.trimmed());
+        }
     }
 
+*/
+
 
+    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+    std::cout << "family: " << family.toStdString() << std::endl;
     this->setStyleSheet(GUIUtil::loadStyleSheet());
+    QString fontType = GUIUtil::getFontType();
+
+    QSettings setting;
+    std::cout << "fontType: " << fontType.toStdString();
+
+    std::cout << "   entrando aca ";
+    QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
+    defaultFont.setBold(false);
+    defaultFont.setPixelSize(13);
+    defaultFont.setStyleHint(QFont::SansSerif);
+    QApplication::setFont(defaultFont);
 
-    GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this);
 
+    GUIUtil::restoreWindowGeometry("nWindow", QSize(800, 550), this);
     QString windowTitle = tr("$PAC Core") + " - ";
 #ifdef ENABLE_WALLET
     /* if compiled with wallet support, -disablewallet can still disable the wallet */
diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
index 72dda2c71f66..e035f3ce76da 100644
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -46,10 +46,16 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *platformStyle, QWidget
     platformStyle(platformStyle)
 {
     ui->setupUi(this);
-    
     /* Open CSS when configured */
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     // context menu actions
     QAction *copyAddressAction = new QAction(tr("Copy address"), this);
     QAction *copyLabelAction = new QAction(tr("Copy label"), this);
diff --git a/src/qt/darksendconfig.cpp b/src/qt/darksendconfig.cpp
index 1ec1f51d9ddb..b74f4aebf31f 100644
--- a/src/qt/darksendconfig.cpp
+++ b/src/qt/darksendconfig.cpp
@@ -1,6 +1,7 @@
 #include "darksendconfig.h"
 #include "ui_darksendconfig.h"
 
+#include "guiutil.h"
 #include "bitcoinunits.h"
 #include "guiconstants.h"
 #include "optionsmodel.h"
@@ -19,6 +20,13 @@ DarksendConfig::DarksendConfig(QWidget *parent) :
 {
     ui->setupUi(this);
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     connect(ui->buttonBasic, SIGNAL(clicked()), this, SLOT(clickBasic()));
     connect(ui->buttonHigh, SIGNAL(clicked()), this, SLOT(clickHigh()));
     connect(ui->buttonMax, SIGNAL(clicked()), this, SLOT(clickMax()));
diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index 73f81e35dfcd..a4a63e06e3cb 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -37,6 +37,12 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
     ui->setupUi(this);
 
     ui->startButton->setEnabled(false);
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
 
     int columnAliasWidth = 100;
     int columnAddressWidth = 200;
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index f447a605aa36..347a2d9e2e83 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -25,12 +25,14 @@
 
 #include <boost/thread.hpp>
 
+#include <QFontDatabase>
 #include <QDataWidgetMapper>
 #include <QDir>
 #include <QIntValidator>
 #include <QLocale>
 #include <QMessageBox>
 #include <QTimer>
+#include <QFont>
 
 #ifdef ENABLE_WALLET
 extern CWallet* pwalletMain;
@@ -102,8 +104,15 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     //ui->theme->addItem(QString("PAC-traditional"), QVariant("trad"));
 
     /* typography selector */
-    ui->cboFontType->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
-    ui->cboFontType->addItem(QString("(") + tr("MonoSpace") + QString(")"), QVariant(""));
+    ui->cboFontType->addItem(QString("PAC Default Font"), QVariant("Volte Rounded"));
+    ui->cboFontType->addItem(QString("Volte Rounded Semibold"), QVariant("Volte Rounded Semibold"));
+    ui->cboFontType->addItem(QString("Gotham Medium"), QVariant("Gotham Medium"));
+    ui->cboFontType->addItem(QString("Gotham Bold"), QVariant("Gotham Bold"));
+    QFontDatabase database;
+    for(int i = 0; i < database.families().count(); i++)
+    {
+        ui->cboFontType->addItem(QString(database.families().at(i)), QVariant(database.families().at(i)));
+    }
 
     /* Language selector */
     QDir translations(":translations");
@@ -198,6 +207,8 @@ void OptionsDialog::setModel(OptionsModel *model)
     connect(ui->theme, SIGNAL(valueChanged()), this, SLOT(showRestartWarning()));
     connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning()));
     connect(ui->thirdPartyTxUrls, SIGNAL(textChanged(const QString &)), this, SLOT(showRestartWarning()));
+    connect(ui->cboFontType, SIGNAL(valueChanged()), this, SLOT(showRestartWarning()));
+
 }
 
 void OptionsDialog::setMapper()
@@ -242,7 +253,7 @@ void OptionsDialog::setMapper()
     mapper->addMapping(ui->lang, OptionsModel::Language);
     mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
     mapper->addMapping(ui->thirdPartyTxUrls, OptionsModel::ThirdPartyTxUrls);
-    mapper->addMapping(ui->cboFontType, OptionsModel::Language);
+    mapper->addMapping(ui->cboFontType, OptionsModel::FontType);
 
 
 }
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 3c033f138d88..3d9e855aeb2e 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2015 The Bitcoin Core developers
+﻿// Copyright (c) 2011-2015 The Bitcoin Core developers
 // Copyright (c) 2014-2017 The Dash Core developers
 // Distributed under the MIT software license, see the accompanying
 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
@@ -27,6 +27,7 @@
 #include <QAbstractItemDelegate>
 #include <QPainter>
 #include <QSettings>
+#include <QFontDatabase>
 
 #include <QCoreApplication>
 
@@ -55,10 +56,20 @@ class TxViewDelegate : public QAbstractItemDelegate
                       const QModelIndex &index ) const
     {
         painter->save();
-        QFont customFont("Volte Rounded",13, 1, false);
-        customFont.setBold(false);
+
+        // set the typography correctly
+        QString fontType = GUIUtil::getFontType();
+        QFont font;
+        font = QFont(fontType,13, 1, false);
+        font.setBold(false);
+
+        QList<QWidget*> widgets = this->findChildren<QWidget*>();
+        for (int i = 0; i < widgets.length(); i++){
+            widgets.at(i)->setFont(font);
+        }
+
         QFont defaultFont = painter->font();
-        painter->setFont(customFont);
+        painter->setFont(font);
 
         QIcon icon = qvariant_cast<QIcon>(index.data(TransactionTableModel::RawDecorationRole));
         QRect mainRect = option.rect;
@@ -114,10 +125,10 @@ class TxViewDelegate : public QAbstractItemDelegate
         {
             amountText = QString("[") + amountText + QString("]");
         }
-        painter->setFont(customFont);
+        painter->setFont(font);
         painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
         painter->setPen(COLOR_TEXT);
-        painter->setFont(customFont);
+        painter->setFont(font);
         painter->drawText(amountRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::dateStr(date));
         painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, GUIUtil::timeStr(date));
         painter->restore();
@@ -150,6 +161,13 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     // Recent transactions
     ui->listTransactions->setItemDelegate(txdelegate);
     ui->listTransactions->setIconSize(QSize(DECORATION_SIZE, DECORATION_SIZE));
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index f14ea65648f9..af57366071c0 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -61,7 +61,6 @@ public Q_SLOTS:
     CAmount currentWatchImmatureBalance;
     int nDisplayUnit;
     bool fShowAdvancedPSUI;
-
     TxViewDelegate *txdelegate;
     std::unique_ptr<TransactionFilterProxy> filter;
 
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 23ddf7049560..11dcc787003a 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -53,6 +53,12 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
 
     // init "out of sync" warning labels
     ui->labelPrivateSendSyncStatus->setText("(" + tr("out of sync") + ")");
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index 58f5c66178e6..7278202ac356 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -246,6 +246,13 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     timer->start(1000);
 
     setLayout(vlayout);
+
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
 }
 
 void ProposalList::invalidateAlignedLayout() {
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 60e88ca505a9..02093311acdb 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -59,6 +59,13 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     ui->lineEditCurrentAddress->hide();
     ui->btnCopyLastAddress->hide();
 
@@ -439,4 +446,4 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
 void ReceiveCoinsDialog::receive_from_walletview()
 {
     ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
-}
\ No newline at end of file
+}
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 8337b2a2790d..92c8f4210c18 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -194,8 +194,7 @@ QStatusBar{
 QLabel[class="titleLabel"]{
     text-transform:uppercase;
     color: #FFF;
-    font-weight: medium;
-    font-size: 20px;
+    font-size:18px;
 }
 QLabel[class="pacCoinsLabel"]{
     margin: 0px;
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 3a397f1d7360..d103989d8597 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -44,6 +44,13 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     if (!platformStyle->getImagesOnButtons()) {
         ui->addButton->setIcon(QIcon());
         ui->clearButton->setIcon(QIcon());
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index b13ffe00e347..36c8f4752ff7 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -34,6 +34,13 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare
 
     QString theme = GUIUtil::getThemeName();
 
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     // These icons are needed on Mac also!
     ui->addressBookButton->setIcon(QIcon(":/icons/" + theme + "/address-book"));
     ui->pasteButton->setIcon(QIcon(":/icons/" + theme + "/editpaste"));

From cbf5068faaa86b3d5f69beaa39eb25f2c9d09f02 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 13 Mar 2019 09:51:04 -0600
Subject: [PATCH 191/225] News feed can show a longer text

---
 src/qt/bitcoingui.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index a2dfd5cfa9a4..415088981292 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -765,6 +765,7 @@ void BitcoinGUI::createHeaderBar()
     messageLabel->setText("");
     messageLabel->setAlignment(Qt::AlignCenter);
     messageLabel->setStyleSheet("QLabel { color:white; font-size:24px;}");
+    messageLabel->setWordWrap(true);
 
     frameImg->setFrameStyle(QFrame::StyledPanel);
     frameImg->setFrameShadow(QFrame::Raised);

From 81185eec3f40a139a1317e051bee01fd4d775251 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 13 Mar 2019 10:49:00 -0600
Subject: [PATCH 192/225] Radio button color change

---
 src/qt/res/images/pac/checked.png   | Bin 448 -> 505 bytes
 src/qt/res/images/pac/unchecked.png | Bin 291 -> 320 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/qt/res/images/pac/checked.png b/src/qt/res/images/pac/checked.png
index 0cf100c473f0d0ace5d83f8a4eee30a702eeec84..2fbe8b6260b852f87866871056e39ffe77f3cb00 100644
GIT binary patch
diff --git a/src/qt/res/images/pac/unchecked.png b/src/qt/res/images/pac/unchecked.png
index f91a0c7eee730920828df21ccfa962de853deeeb..7e367cef01463cc452117cae24e2a67c78c134f2 100644
GIT binary patch

From 995341eb04a29a2a8901472292872c499aa48047 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 13 Mar 2019 11:11:33 -0600
Subject: [PATCH 193/225] Some documentation for the code

---
 src/qt/bitcoingui.cpp         | 12 ++++++++++--
 src/qt/overviewpage.cpp       |  2 ++
 src/qt/receivecoinsdialog.cpp |  5 ++++-
 src/qt/sendcoinsdialog.cpp    |  7 ++++++-
 src/qt/walletframe.cpp        |  2 ++
 src/qt/walletview.cpp         |  1 +
 6 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 415088981292..7fee933b1281 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -826,10 +826,11 @@ void BitcoinGUI::createHeaderBar()
     p.addEllipse(QRect(0,0,80,80));
     painter.setClipPath(p);
     painter.drawPixmap(0, 0,pixmap);
-    //btnImg->setPixmap(target); this for a Qlabel
     QIcon ButtonIcon(target);
     btnImg->setIcon(ButtonIcon);
     btnImg->setIconSize(QSize(78,78));
+
+    // Adding the connections for the buttons of the image, copy the news and refresh news/pacValue
     connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
     connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyNews()));
     connect(btnRefresh,  SIGNAL(clicked()), this, SLOT(refreshNewsPacValue()));
@@ -1603,6 +1604,7 @@ void BitcoinGUI::setEncryptionStatus(int status)
 }
 #endif // ENABLE_WALLET
 
+/** Select a new image for the top bar */
 void BitcoinGUI::selectProfileImageFile(){
     //there is a bug with qt which won't let load .png files: output error will be:  libpng error: Read Error
     QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.xpm *.jpg)"));
@@ -1637,7 +1639,6 @@ void BitcoinGUI::selectProfileImageFile(){
         p.addEllipse(QRect(0,0,80,80));
         painter.setClipPath(p);
         painter.drawPixmap(0, 0,pixmap);
-        //btnImg->setPixmap(target); this for a Qlabel
         QIcon ButtonIcon(target);
         btnImg->setIcon(ButtonIcon);
         btnImg->setIconSize(QSize(78,78));
@@ -1721,6 +1722,7 @@ void BitcoinGUI::showModalOverlay()
         modalOverlay->toggleVisibility();
 }
 
+/** Copy the new into the clipboard */
 void BitcoinGUI::copyNews(){
     QClipboard *clip = QApplication::clipboard();
     QString input = messageLabel->text();
@@ -1728,6 +1730,7 @@ void BitcoinGUI::copyNews(){
     QToolTip::showText(btnCopyNews->mapToGlobal(QPoint(10,10)), "Copied news to clipboard!",btnCopyNews);
 }
 
+/** Button on the top bar to refresh news and pac value */
 void BitcoinGUI::refreshNewsPacValue(){
     //Refresh news
     requestNews.setUrl(QUrl("http://144.202.121.149:8080/"));
@@ -1783,6 +1786,7 @@ void BitcoinGUI::handleRestart(QStringList args)
         Q_EMIT requestedRestart(args);
 }
 
+/** Manager that waits for the response of the value of PAC */
 void BitcoinGUI::managerCurrencyFinished(QNetworkReply *replyC) {
     if (replyC->error()) {
         QSettings settings;
@@ -1793,15 +1797,19 @@ void BitcoinGUI::managerCurrencyFinished(QNetworkReply *replyC) {
     }
     QString answer = replyC->readAll();
 
+    // The value is in JSON the value is just cropped from the string
     QSettings settings;
     QStringList list1 = answer.split('"');
     QString s = list1[6];
     s = s.mid(1, s.length()-2); 
+    // Value saved on settings
     settings.setValue("PACvalue",s);
     settings.sync();
+    // Call to update the windows where the PAC value is shown
     Q_EMIT transmit_to_walletframe();
 }
 
+/** Manager that waits for the response of the news */
 void BitcoinGUI::managerNewsFinished(QNetworkReply *replyN) {
     if (replyN->error()) {
         messageLabel->setText("News not loading.");
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 3d9e855aeb2e..2bcb7466f82e 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -242,6 +242,7 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
         ui->listTransactions->update();
     }
 
+    // Set the balance in USD on the UI
     ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
     ui->labelUnconfirmedUSD->setText("$ " + BitcoinUnits::pacToUsd(unconfirmedBalance) + " USD");
     ui->labelTotalUSD->setText("$ " + BitcoinUnits::pacToUsd(balance + unconfirmedBalance + immatureBalance) + " USD");
@@ -356,6 +357,7 @@ void OverviewPage::on_overviewInfo_clicked()
     dlg.exec();
 }
 
+/** Receive the signal to update the USD value when the USD-PAC value is updated */
 void OverviewPage::receive_from_walletview()
 {
     ui->labelBalanceUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 02093311acdb..5f88d65362ca 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -439,10 +439,13 @@ void ReceiveCoinsDialog::setBalance(const CAmount& balance, const CAmount& uncon
     Q_UNUSED(watchUnconfirmedBalance);
     Q_UNUSED(watchImmatureBalance);
 
-    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
+    // Sets the value of PACs
     ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), balance, false, BitcoinUnits::separatorAlways));
+    // Sets the value in USD
+    ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(balance) + " USD");
 }
 
+/** Receive the signal to update the USD value when the USD-PAC value is updated */
 void ReceiveCoinsDialog::receive_from_walletview()
 {
     ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(currentBalance) + " USD");
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index d103989d8597..4a6e44632f5f 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -603,8 +603,10 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
 	    } else {
 		    bal = balance;
 	    }
-        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
+        // Sets the value of PACs
         ui->labelBalance->setText(BitcoinUnits::floorHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), bal, false, BitcoinUnits::separatorAlways));
+        // Sets the value in USD
+        ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(bal) + " USD");
     }
 }
 
@@ -991,10 +993,13 @@ void SendCoinsDialog::on_lineConvertCurrency_textChanged(const QString &arg1)
     }
 }
 
+/** Receive the signal to update the USD value when the USD-PAC value is updated */
 void SendCoinsDialog::receive_from_walletview()
 {
     ui->labelAvailableUSD->setText("$ " + BitcoinUnits::pacToUsd(model->getBalance()) + " USD");
 }
+
+/** Copy the value of the convertion of USD to PAC to the clipboard */
 void SendCoinsDialog::on_copyPacs_clicked()
 {
     QClipboard *clip = QApplication::clipboard();
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp
index b0fd8839a836..5bb86f152280 100644
--- a/src/qt/walletframe.cpp
+++ b/src/qt/walletframe.cpp
@@ -59,6 +59,7 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
 
     connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
 
+    // Update the value of PAC on the different windows
     connect(this,SIGNAL(transmit_to_walletview()), walletView, SLOT(receive_from_walletframe()));
 
     return true;
@@ -231,6 +232,7 @@ void WalletFrame::outOfSyncWarningClicked()
     Q_EMIT requestedSyncWarningInfo();
 }
 
+/** Signal to update the value of the PAC */
 void WalletFrame::receive_from_bitcoingui()
 {
     Q_EMIT transmit_to_walletview();
diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp
index 541d30f573eb..223f14d0dab1 100644
--- a/src/qt/walletview.cpp
+++ b/src/qt/walletview.cpp
@@ -422,6 +422,7 @@ void WalletView::trxAmount(QString amount)
     transactionSum->setText(amount);
 }
 
+/** Signal to update the value of PAC on the different windows */
 void WalletView::receive_from_walletframe()
 {
     Q_EMIT transmit_to_overview();

From 71fc1e1cbc6e370b109e122331b5ff7f703c511a Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 13 Mar 2019 11:45:49 -0600
Subject: [PATCH 194/225] Code reorganization and comments

---
 src/qt/addressbookpage.cpp |  1 -
 src/qt/bitcoingui.cpp      | 38 +++--------------
 src/qt/guiconstants.h      |  4 +-
 src/qt/overviewpage.cpp    |  1 +
 src/qt/privatepage.cpp     |  1 -
 src/qt/res/css/pac.css     | 83 +++++++++++++-------------------------
 6 files changed, 36 insertions(+), 92 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index dc7116a31252..519c9067c09d 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -153,7 +153,6 @@ void AddressBookPage::setModel(AddressTableModel *model)
     ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Label, QHeaderView::Stretch);
     ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents);
 #endif
-    //ui->tableView->setColumnWidth(0,250); //:v
 
     connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
         this, SLOT(selectionChanged()));
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 7fee933b1281..d810bc531aa9 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -165,35 +165,12 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-
-/*
-    for(int i = 0; i < database.families().count(); i++)
-    {
-        QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
-        familyItem->setText(0, database.families().at(i));
-
-        for(int j = 0; j < database.styles(database.families().at(i)).count(); j++)
-        {
-            QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
-            styleItem->setText(0, database.styles(database.families().at(i)).at(j));
-
-            QString sizes;
-            styleItem->setText(1, sizes.trimmed());
-        }
-    }
-
-*/
-
-
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
-    std::cout << "family: " << family.toStdString() << std::endl;
     this->setStyleSheet(GUIUtil::loadStyleSheet());
     QString fontType = GUIUtil::getFontType();
 
     QSettings setting;
-    std::cout << "fontType: " << fontType.toStdString();
 
-    std::cout << "   entrando aca ";
     QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
@@ -319,11 +296,11 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     // Override style sheet for progress bar for styles that have a segmented progress bar,
     // as they make the text unreadable (workaround for issue #1071)
     // See https://qt-project.org/doc/qt-4.8/gallery.html
-    QString curStyle = QApplication::style()->metaObject()->className();
+    /*QString curStyle = QApplication::style()->metaObject()->className();
     if(curStyle == "QWindowsStyle" || curStyle == "QWindowsXPStyle")
     {
-        //progressBar->setStyleSheet("QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }");
-    }
+        progressBar->setStyleSheet("QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }");
+    }*/
 
     statusBar()->addWidget(progressBarLabel);
     statusBar()->addWidget(progressBar);
@@ -375,7 +352,6 @@ void BitcoinGUI::createActions()
     QActionGroup *tabGroup = new QActionGroup(this);
 
     QString theme = GUIUtil::getThemeName();
-    std::cout << "CURRENT THEME: " << theme.toStdString();
     overviewAction = new QAction(QIcon(":/icons/" + theme + "/overview"), tr("&Overview"), this);
     overviewAction->setStatusTip(tr("Show general overview of wallet"));
     overviewAction->setToolTip(overviewAction->statusTip());
@@ -427,7 +403,7 @@ void BitcoinGUI::createActions()
     historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
 #endif
     tabGroup->addAction(historyAction);
-    //:v
+    
     privateAction = new QAction(QIcon(":/icons/" + theme + "/private"), tr("&Private"), this);
     privateAction->setStatusTip(tr("Browse private section"));
     privateAction->setToolTip(privateAction->statusTip());
@@ -438,7 +414,7 @@ void BitcoinGUI::createActions()
     privateAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7));
 #endif
     tabGroup->addAction(privateAction);
-    //v:
+    
 
 
 #ifdef ENABLE_WALLET
@@ -1613,8 +1589,6 @@ void BitcoinGUI::selectProfileImageFile(){
         /** Copy the image to the Pac Folder: */
         boost::filesystem::path directoryToCopy = GetDefaultDataDir();
         std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
-        std::cout << "imgPath: " << imgPath.toStdString() << std::endl;//debug
-        std::cout << "imgFinalPath: " << imgFinalPath << std::endl;//debug
 
         std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
         std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
@@ -1625,8 +1599,6 @@ void BitcoinGUI::selectProfileImageFile(){
         QSettings settings;
         settings.setValue("profilePicture", imgPath);
         settings.sync();
-        std::cout << "picturePath: " << imgPath.toStdString() << std::endl;
-        std::cout << "settings: " << settings.value("profilePicture").toString().toStdString();
 
         //load the image from that path as the icon of the button
         QPixmap target(80, 80);
diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
index 0a28e8f37924..908ccbd4af58 100644
--- a/src/qt/guiconstants.h
+++ b/src/qt/guiconstants.h
@@ -39,10 +39,8 @@ static const bool DEFAULT_SPLASHSCREEN = true;
 /* Transaction list -- TX status decoration - default color */
 #define COLOR_BLACK QColor(20,20,20)
 #define COLOR_WHITE QColor(255,255,255)
-
-//extern QColor COLOR_TEXT;
+/* Color of the general text */
 static QColor COLOR_TEXT = QColor(128,128,128);
-//extern COLOR_TEXT;
 
 
 /* Tooltips longer than this (in characters) are converted into rich text,
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 2bcb7466f82e..fe1139f00352 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -351,6 +351,7 @@ void OverviewPage::SetupTransactionList(int nNumItems) {
     }
 }
 
+/** Opens a window with info about PAC */
 void OverviewPage::on_overviewInfo_clicked()
 {
     HelpMessageDialog dlg(this, HelpMessageDialog::ovhelp);
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 11dcc787003a..5394df9eaa6e 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -450,7 +450,6 @@ void PrivatePage::privateSendReset(){
 }
 
 void PrivatePage::privateSendInfo(){
-    cout << "PACCCCC";
     HelpMessageDialog dlg(this, HelpMessageDialog::pshelp);
     dlg.exec();
 }
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 92c8f4210c18..39892255bdf4 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -36,23 +36,26 @@ QSlider::handle:disabled{
     background: #999;
     border: 1px solid #999;
 }
-
+/* Global labels a Box with a title */
 QLabel, QGroupBox::title{
     color: white !important;
     font-weight:normal;
 }
+/* General window */
 QMainWindow{
     border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
 }
-
+/* Global message box */
 QMessageBox {
     background-color:rgb(26,26,26);
 }
+/* Global tooltip */
 QToolTip {
     color: #0A0A0A;
     background-color: #ffffff;
     border: none;
 }
+/* Global dialogs*/
 QDialog{
     background-color:rgb(26,26,26);
     color:white;
@@ -113,7 +116,6 @@ QTabBar::tab:selected {
     border-color: transparent !important;
     border-bottom-color: transparent !important;
 }
-
 /* Global Progress Bar styles */
 QProgressBar {
     border: 2px solid rgb(50,50,50);
@@ -123,24 +125,20 @@ QProgressBar {
     border-top-left-radius: 9px;
     border-top-right-radius: 9px;
     max-height: 16px !important;
-
 }
 QProgressBar::chunk {
     background-color:#F4EA13;
     border-radius: 8px;
     max-height: 16px !important;
 }
-
 QStatusBar{
     background-color: rgb(10,10,10) !important;
 }
-
-/* Global containers */
+/* Global with classes */
 [class="container"]{
     background-color: rgba(0,0,0,0.5); 
     border: 0px !important;
 }
-/* Global text inputs */
 [class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
     outline:0;
@@ -153,7 +151,6 @@ QStatusBar{
     font-size: 15px;
     border-radius: 20px;
 }
-
 [class="LineEditMedium"]{
     height: 28px !important;
     font-size: 13px;
@@ -272,7 +269,7 @@ QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::up-a
 QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{
     background: none;
 }
-/* GLOBAL SPINBOX */
+/* Global spinbox */
 QAbstractSpinBox {
     border-radius: 20px;
     font-size: 15px;
@@ -313,7 +310,7 @@ QAbstractSpinBox::down-button {
 QAbstractSpinBox::down-arrow {
     image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
 }
-/* GLOBAL TABLES*/
+/* Global tables */
 QHeaderView { /* Top of the table Header */
     background-color: rgb(17,17,17);
 }
@@ -387,10 +384,6 @@ QToolBar > QToolButton:checked {
     margin: 15px 0px 0px 15px;
     border-image: url(:/icons/bitcoin);
 }
-#test{
-    background-color: rgba(255,0,0,0.6);
-    border:1px green !important;
-}
 /* Global Button styles*/
 QPushButton {
     background: transparent;
@@ -417,6 +410,7 @@ QPushButton:pressed {
     border: 0px !important;
     color: rgb(243,232,56) !important;
 }
+/* Style of buttons with classes */
 [class="SmallButton"]{
     border-radius: 8px;
     height: 20px;
@@ -465,7 +459,7 @@ QCheckBox, QRadioButton {
     height: 9px;
     spacing: 10px;
 }
-/* GLOBAL CHECKBOX */
+/* Global checbox */
 QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
     image:url(':/images/pac/unchecked_b');
 }
@@ -478,7 +472,7 @@ QCheckBox::indicator:checked:disabled{
 QCheckBox::indicator:unchecked:disabled{
     image:url(':/images/pac/unchecked_b_dis');
 }
-/* GLOBAL RADIO BUTTON */
+/* Global radio button */
 QRadioButton::indicator:unchecked, QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:checked:pressed, QRadioButton::indicator:indeterminate:hover {
     image:url(':/images/pac/unchecked');
 }
@@ -502,7 +496,6 @@ BitcoinAmountField QComboBox {
     min-height:40px;
     color:#fff;
 }
-/* when the combo box is disabled */
 BitcoinAmountField QComboBox:disabled{
     background-color: rgb(61,61,61);
     color: #efefef;
@@ -550,8 +543,14 @@ BitcoinAmountField QComboBox::indicator {
     selection-color:transparent;
 }
 
+
 /*
- * News/profile image bar style
+ * Styles by section
+ */
+
+
+/*
+ * News/profile bar style
  */
 #btnChangeImage{
     height:80px;
@@ -579,30 +578,26 @@ BitcoinAmountField QComboBox::indicator {
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
+
 /*
  * SendCoins Page
 */
-
  QSlider::groove:vertical {
      background: red;
      position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
      left: 4px; right: 4px;
  }
-
  QSlider::handle:vertical {
      height: 10px;
      background: green;
      margin: 0 -4px; /* expand outside the groove */
  }
-
  QSlider::add-page:vertical {
      background: white;
  }
-
  QSlider::sub-page:vertical {
      background: pink;
  }
-
 #SendCoinsDialog{
     background:transparent;
 }
@@ -622,6 +617,7 @@ BitcoinAmountField QComboBox::indicator {
 #verticalWidget{
     margin-left: 25px !important;
 }
+
 /*
  * ReceiveCoins Page
  */
@@ -643,18 +639,17 @@ BitcoinAmountField QComboBox::indicator {
 /*
  * Transactions Page
  */
-/* Over the table */
-QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBox#typeWidget, QCombobox#watchOnlyWidget {
+QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBox#typeWidget, QCombobox#watchOnlyWidget { /* Over the table */
     background-color: rgb(17,17,17);
     color:#fff;
     border:0px;
     min-height: 24px !important;
 }
+
 /*
  * Private Page
  */
 #framePrivateSend{
-    /*background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.85, stop: 0 rgba(0, 0, 0, 0.35), stop: 1 rgba(75, 75, 75, 0.30));*/
     background-color: rgba(0,0,0,0.5); 
     border: 0px !important;
 }
@@ -681,40 +676,15 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     font-family:"Gotham Medium", sans-serif;
     color: #FDF002;
 }
-/* Black button */
-/*[class="buttonAllBlack"]{
-    text-transform:uppercase;
-    font-family:"Gotham Medium", sans-serif;
-    background: #1A1919;
-    border: 0px;
-    color: #fff;
-    border-radius: 11px;
-    height: 50px;
-    font-size: 16px;
-}
-[class="buttonAllBlack"]:hover, [class="buttonAllBlack"]:focus {
-    background: #1A1919;
-    border: 2px #444444;
-    color: #fff;
-}
-[class="buttonAllBlack"]:disabled {
-    background: #444444;
-    color: #d3d3d3
-}
-[class="buttonAllBlack"]:pressed {
-    background: rgb(243,232,56);
-    color: #fff;
-}*/
 #privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
     background: transparent;
     border: 0px;
 }
+
 /*
  * Proposal Page
  */
-
-/* Over the table */
-QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Example of setObjectName for widgets without name */
+QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Over the table */
     background-color: rgb(17,17,17);
     color:#fff;
     border:0px;
@@ -741,6 +711,7 @@ QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
     padding-right:1px;
     padding-left:1px;
 }
+
 /*
  * Masternodes Page
 */
@@ -760,6 +731,7 @@ MasternodeList > QTabBar::tab{
     background-color: #383737 !important;
     border: 1px solid black !important;
 }
+
 /*
  * OptionsDialog
 */
@@ -773,12 +745,14 @@ MasternodeList > QTabBar::tab{
 #OptionsDialog > #resetButton{
     width:210px !important;
 }
+
 /*
  * Sign verify message
  */
 #messageIn_SM, #messageIn_VM{
     background: rgb(10, 10, 10);
 }
+
 /*
  * Coin contro dialog
  */
@@ -790,6 +764,7 @@ MasternodeList > QTabBar::tab{
     background-color: rgb(17,17,17);
     color:#fff;
 }
+
 /* The class on the QT is not working, this is "LineEditSmall" */
 #addressIn_SM, #signatureOut_SM{
     border: 0px;

From c29fdbae20c569ab1fae56d55e44c017dfda04dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 13 Mar 2019 12:46:39 -0600
Subject: [PATCH 195/225] Merge, QFont, QRCode

QRcode will resize on small and big screens
---
 src/qt/bitcoingui.cpp         |  14 +++-
 src/qt/receivecoinsdialog.cpp | 133 +++++++++++++++++++++++-----------
 src/qt/receivecoinsdialog.h   |   8 +-
 src/qt/transactionview.cpp    |   9 +++
 4 files changed, 118 insertions(+), 46 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index d810bc531aa9..ff5775d1e733 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -153,6 +153,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
+
     QSettings settings;
     settings.setValue("theme", "pac");
     /* Open CSS when configured */
@@ -166,18 +167,22 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
+
+    settings.setValue("WindowHeight",this->height());//saving the height, we'll use it later for the qrcode
+
     this->setStyleSheet(GUIUtil::loadStyleSheet());
     QString fontType = GUIUtil::getFontType();
 
     QSettings setting;
+    std::cout << "fontType: " << fontType.toStdString();
 
+    std::cout << "   entrando aca ";
     QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
     defaultFont.setStyleHint(QFont::SansSerif);
     QApplication::setFont(defaultFont);
 
-
     GUIUtil::restoreWindowGeometry("nWindow", QSize(800, 550), this);
     QString windowTitle = tr("$PAC Core") + " - ";
 #ifdef ENABLE_WALLET
@@ -328,6 +333,13 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
+    QSettings setting;
+    std::cout << "fontType: " << fontType.toStdString();
+    QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
+    defaultFont.setBold(false);
+    defaultFont.setPixelSize(13);
+    defaultFont.setStyleHint(QFont::SansSerif);
+    QApplication::setFont(defaultFont);
 }
 
 BitcoinGUI::~BitcoinGUI()
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 5f88d65362ca..1aa46ae6c3aa 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -34,6 +34,8 @@
 #include <QPainter>
 #include <QToolTip>
 #include <QGraphicsOpacityEffect>
+#include <iostream>
+#include <QSettings>
 
 #include <QPropertyAnimation>
 #if QT_VERSION < 0x050000
@@ -58,6 +60,9 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
 {
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
+    //Initializing the qrcodelabel size:
+    QRCodeLabelSize = 160;
+    wasQRCodeGeneratedAlready = false;
 
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
@@ -163,7 +168,7 @@ ReceiveCoinsDialog::~ReceiveCoinsDialog()
 {
     delete ui;
 }
-void ReceiveCoinsDialog::generateQRCode()
+void ReceiveCoinsDialog::generateRequestCoins()
 {
     if(!model || !model->getOptionsModel() || !model->getAddressTableModel() || !model->getRecentRequestsTableModel())
         return;
@@ -193,54 +198,16 @@ void ReceiveCoinsDialog::generateQRCode()
     clear();
     /* Store request for later reference */
     model->getRecentRequestsTableModel()->addNewRequest(info);
-    QString uri = GUIUtil::formatBitcoinURI(info);
+    uri = GUIUtil::formatBitcoinURI(info);
 
     ui->lineEditCurrentAddress->setText(info.address);
     ui->lineEditCurrentAddress->show();
     ui->btnCopyLastAddress->show();
 
 #ifdef USE_QRCODE
-    lblQRCode->setText("");
-    if(!uri.isEmpty())
-    {
-        // limit URI length
-        if (uri.length() > MAX_URI_LENGTH)
-        {
-            lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
-        } else {
-            QRcode *code = QRcode_encodeString(uri.toUtf8().constData(), 0, QR_ECLEVEL_L, QR_MODE_8, 1);
-            if (!code)
-            {
-                lblQRCode->setText(tr("Error encoding URI into QR Code."));
-                return;
-            }
-            QImage myImage = QImage(code->width + 8, code->width + 8, QImage::Format_RGB32);
-            myImage.fill(0xffffff);
-            unsigned char *p = code->data;
-            for (int y = 0; y < code->width; y++)
-            {
-                for (int x = 0; x < code->width; x++)
-                {
-                    myImage.setPixel(x + 4, y + 4, ((*p & 1) ? 0x0 : 0xffffff));
-                    p++;
-                }
-            }
-            QRcode_free(code);
-            int QRCodeLabelSize = 160;
-            int QRCodeSize = QRCodeLabelSize - 20;
-            QPixmap target(QRCodeLabelSize, QRCodeLabelSize);
-            target.fill(Qt::transparent);
-            QPixmap pixmap = QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding);
-            QPainter painter(&target);
-            painter.setRenderHint(QPainter::Antialiasing, true);
-            QPainterPath painterPath;
-            painterPath.addEllipse(QRect(0,0,QRCodeLabelSize,QRCodeLabelSize));
-            painter.setClipPath(painterPath);
-            painter.fillPath(painterPath, Qt::white);
-            painter.drawPixmap(10,10,pixmap);
-            lblQRCode->setPixmap(target);
-        }
-    }
+    QSettings settings;
+    QRCodeLabelSize = settings.value("WindowHeight").toInt();
+    createQRCodeImage();
 #endif
 }
 void ReceiveCoinsDialog::clear()
@@ -275,7 +242,7 @@ void ReceiveCoinsDialog::updateDisplayUnit()
 
 void ReceiveCoinsDialog::on_receiveButton_clicked()
 {
-    generateQRCode();
+    generateRequestCoins();
 
     // animation added in order to make the user noticing the qrcode and address changing  (UX element)
     QGraphicsOpacityEffect *eff1 = new QGraphicsOpacityEffect(this);
@@ -342,12 +309,90 @@ void ReceiveCoinsDialog::on_removeRequestButton_clicked()
     model->getRecentRequestsTableModel()->removeRows(firstIndex.row(), selection.length(), firstIndex.parent());
 }
 
+void ReceiveCoinsDialog::createQRCodeImage()
+{
+    lblQRCode->setText("");
+    if(!uri.isEmpty())
+    {
+        // limit URI length
+        if (uri.length() > MAX_URI_LENGTH)
+        {
+            lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
+        } else {
+            QRcode *code = QRcode_encodeString(uri.toUtf8().constData(), 0, QR_ECLEVEL_L, QR_MODE_8, 1);
+            if (!code)
+            {
+                lblQRCode->setText(tr("Error encoding URI into QR Code."));
+                return;
+            }
+            QImage myImage = QImage(code->width + 8, code->width + 8, QImage::Format_RGB32);
+            myImage.fill(0xffffff);
+            unsigned char *p = code->data;
+            for (int y = 0; y < code->width; y++)
+            {
+                for (int x = 0; x < code->width; x++)
+                {
+                    myImage.setPixel(x + 4, y + 4, ((*p & 1) ? 0x0 : 0xffffff));
+                    p++;
+                }
+            }
+            currentImage = myImage;
+
+            QRcode_free(code);
+            int QRCodeSize = QRCodeLabelSize - 20;
+
+            QPixmap target(QRCodeLabelSize, QRCodeLabelSize);
+            target.fill(Qt::transparent);
+
+            QPixmap pixmap = QPixmap::fromImage(currentImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding);
+            currentQR = &pixmap;
+
+            QPainter painter(&target);
+            painter.setRenderHint(QPainter::Antialiasing, true);
+
+            QPainterPath painterPath;
+            painterPath.addEllipse(QRect(0,0,QRCodeLabelSize,QRCodeLabelSize));
+
+            painter.setClipPath(painterPath);
+            painter.fillPath(painterPath, Qt::white);
+            painter.drawPixmap(10,10,pixmap);
+            lblQRCode->setPixmap(target);
+            wasQRCodeGeneratedAlready = true;
+        }
+    }
+}
+
+
 // We override the virtual resizeEvent of the QWidget to adjust tables column
 // sizes as the tables width is proportional to the dialogs width.
 void ReceiveCoinsDialog::resizeEvent(QResizeEvent *event)
 {
     QWidget::resizeEvent(event);
     columnResizingFixer->stretchColumnWidth(RecentRequestsTableModel::Message);
+    std::cout << "height: " << event->size().height() << std::endl;
+
+    if(wasQRCodeGeneratedAlready)
+    {
+        int QRCodeSize = QRCodeLabelSize - 20;
+
+        // Small QRCode
+        if(event->size().height() < 520)
+        {
+            QRCodeLabelSize = 100;
+        }
+        // Medium QRCode
+        else if(event->size().height() > 520 && event->size().height() < 700)
+        {
+            QRCodeLabelSize = 160;
+        }
+        // Big QRCode
+        else if(event->size().height() > 800)
+        {
+            QRCodeLabelSize = 240;
+        }
+        createQRCodeImage();
+    }
+
 }
 
 void ReceiveCoinsDialog::keyPressEvent(QKeyEvent *event)
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 4ae054e56556..9b93d912527b 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -69,8 +69,14 @@ public Q_SLOTS:
     QModelIndex selectedRow();
     void copyColumnToClipboard(int column);
     virtual void resizeEvent(QResizeEvent *event);
-    void generateQRCode();
+    void generateRequestCoins();
+    void createQRCodeImage();
     QRImageWidget *lblQRCode;
+    QPixmap *currentQR;
+    QImage currentImage;
+    int QRCodeLabelSize;
+    bool wasQRCodeGeneratedAlready;
+    QString uri;
 
 private Q_SLOTS:
     void on_receiveButton_clicked();
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index b97c36fba905..6bf21ab390d4 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -47,6 +47,7 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     // Build filter row
     setContentsMargins(0,0,0,0);
 
+
     QHBoxLayout *hlayout = new QHBoxLayout();
     hlayout->setContentsMargins(0,0,0,8);
     if (platformStyle->getUseExtraSpacing()) {
@@ -178,6 +179,14 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
 
     mapperThirdPartyTxUrls = new QSignalMapper(this);
 
+
+    // set the typography correctly
+    QString fontType = GUIUtil::getFontType();
+    QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    for (int i = 0; i < widgets.length(); i++){
+        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+    }
+
     // Connect actions
     connect(mapperThirdPartyTxUrls, SIGNAL(mapped(QString)), this, SLOT(openThirdPartyTxUrl(QString)));
 

From 0886f6ca0efa8d002686a0b70cfcca6e172f0ddb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 13 Mar 2019 13:41:03 -0600
Subject: [PATCH 196/225] QRCode BugFixed

it was stretching a lot. Now it will respect the layout
---
 src/qt/bitcoingui.cpp              |  13 +-
 src/qt/forms/overviewpage.ui       |   2 +-
 src/qt/forms/receivecoinsdialog.ui | 279 ++++++++++++++++-------------
 src/qt/receivecoinsdialog.cpp      |  51 +++---
 src/qt/receivecoinsdialog.h        |   4 +-
 5 files changed, 178 insertions(+), 171 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index ff5775d1e733..3005a5db28f5 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -173,16 +173,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     this->setStyleSheet(GUIUtil::loadStyleSheet());
     QString fontType = GUIUtil::getFontType();
 
-    QSettings setting;
-    std::cout << "fontType: " << fontType.toStdString();
-
-    std::cout << "   entrando aca ";
-    QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
-    defaultFont.setBold(false);
-    defaultFont.setPixelSize(13);
-    defaultFont.setStyleHint(QFont::SansSerif);
-    QApplication::setFont(defaultFont);
-
     GUIUtil::restoreWindowGeometry("nWindow", QSize(800, 550), this);
     QString windowTitle = tr("$PAC Core") + " - ";
 #ifdef ENABLE_WALLET
@@ -333,9 +323,8 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    QSettings setting;
     std::cout << "fontType: " << fontType.toStdString();
-    QFont defaultFont(setting.value("FontType").toString(),13, QFont::Normal, false);
+    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
     defaultFont.setStyleHint(QFont::SansSerif);
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index a35f88615467..56d3715b7401 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>960</width>
-    <height>662</height>
+    <height>466</height>
    </rect>
   </property>
   <property name="minimumSize">
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index d0e7957ddfbd..9f8cf5993947 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1277</width>
-    <height>624</height>
+    <width>982</width>
+    <height>471</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -61,124 +61,6 @@
          <property name="bottomMargin">
           <number>20</number>
          </property>
-         <item row="2" column="0">
-          <layout class="QHBoxLayout" name="horizontalLayout_2">
-           <item>
-            <widget class="QLabel" name="label_6">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="font">
-              <font>
-               <pointsize>13</pointsize>
-               <weight>75</weight>
-               <bold>true</bold>
-              </font>
-             </property>
-             <property name="text">
-              <string>Requested payments history</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="showRequestButton">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>Show the selected request (does the same as double clicking an entry)</string>
-             </property>
-             <property name="styleSheet">
-              <string notr="true"/>
-             </property>
-             <property name="text">
-              <string>Show</string>
-             </property>
-             <property name="autoDefault">
-              <bool>false</bool>
-             </property>
-             <property name="class" stdset="0">
-              <string>linkButton</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="removeRequestButton">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>Remove the selected entries from the list</string>
-             </property>
-             <property name="styleSheet">
-              <string notr="true"/>
-             </property>
-             <property name="text">
-              <string>Remove</string>
-             </property>
-             <property name="autoDefault">
-              <bool>false</bool>
-             </property>
-             <property name="class" stdset="0">
-              <string>linkButton</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <spacer name="horizontalSpacer_2">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType">
-              <enum>QSizePolicy::Expanding</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>0</width>
-               <height>0</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-          </layout>
-         </item>
-         <item row="4" column="0">
-          <widget class="QTableView" name="recentRequestsView">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>0</width>
-             <height>80</height>
-            </size>
-           </property>
-           <property name="maximumSize">
-            <size>
-             <width>16777215</width>
-             <height>16777215</height>
-            </size>
-           </property>
-           <property name="contextMenuPolicy">
-            <enum>Qt::CustomContextMenu</enum>
-           </property>
-           <property name="styleSheet">
-            <string notr="true"/>
-           </property>
-           <property name="tabKeyNavigation">
-            <bool>false</bool>
-           </property>
-           <property name="sortingEnabled">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
          <item row="1" column="0">
           <widget class="QFrame" name="verticalFrame">
            <property name="maximumSize">
@@ -342,7 +224,7 @@
                 </property>
                 <property name="minimumSize">
                  <size>
-                  <width>500</width>
+                  <width>0</width>
                   <height>0</height>
                  </size>
                 </property>
@@ -443,6 +325,124 @@
            </layout>
           </widget>
          </item>
+         <item row="2" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <widget class="QLabel" name="label_6">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>13</pointsize>
+               <weight>75</weight>
+               <bold>true</bold>
+              </font>
+             </property>
+             <property name="text">
+              <string>Requested payments history</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="showRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Show the selected request (does the same as double clicking an entry)</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Show</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="removeRequestButton">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Remove the selected entries from the list</string>
+             </property>
+             <property name="styleSheet">
+              <string notr="true"/>
+             </property>
+             <property name="text">
+              <string>Remove</string>
+             </property>
+             <property name="autoDefault">
+              <bool>false</bool>
+             </property>
+             <property name="class" stdset="0">
+              <string>linkButton</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Expanding</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </item>
+         <item row="4" column="0">
+          <widget class="QTableView" name="recentRequestsView">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>16777215</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="contextMenuPolicy">
+            <enum>Qt::CustomContextMenu</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
+           <property name="tabKeyNavigation">
+            <bool>false</bool>
+           </property>
+           <property name="sortingEnabled">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
         </layout>
        </widget>
       </item>
@@ -456,7 +456,7 @@
         </property>
         <property name="minimumSize">
          <size>
-          <width>350</width>
+          <width>0</width>
           <height>0</height>
          </size>
         </property>
@@ -484,10 +484,16 @@
          </property>
          <item>
           <widget class="QLabel" name="label_5">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
            <property name="minimumSize">
             <size>
              <width>0</width>
-             <height>15</height>
+             <height>0</height>
             </size>
            </property>
            <property name="text">
@@ -540,7 +546,7 @@
              <property name="minimumSize">
               <size>
                <width>0</width>
-               <height>50</height>
+               <height>0</height>
               </size>
              </property>
              <property name="text">
@@ -571,7 +577,7 @@
            <property name="minimumSize">
             <size>
              <width>0</width>
-             <height>30</height>
+             <height>0</height>
             </size>
            </property>
            <property name="text">
@@ -590,6 +596,9 @@
            <property name="orientation">
             <enum>Qt::Vertical</enum>
            </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Preferred</enum>
+           </property>
            <property name="sizeHint" stdset="0">
             <size>
              <width>0</width>
@@ -600,6 +609,18 @@
          </item>
          <item>
           <widget class="QFrame" name="frame">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>400</width>
+             <height>400</height>
+            </size>
+           </property>
            <layout class="QHBoxLayout" name="qrLayoutContainer"/>
           </widget>
          </item>
@@ -650,7 +671,7 @@
              </property>
              <property name="minimumSize">
               <size>
-               <width>250</width>
+               <width>0</width>
                <height>0</height>
               </size>
              </property>
@@ -773,7 +794,7 @@
             <enum>Qt::Vertical</enum>
            </property>
            <property name="sizeType">
-            <enum>QSizePolicy::MinimumExpanding</enum>
+            <enum>QSizePolicy::Preferred</enum>
            </property>
            <property name="sizeHint" stdset="0">
             <size>
@@ -811,7 +832,7 @@
              </property>
              <property name="minimumSize">
               <size>
-               <width>260</width>
+               <width>0</width>
                <height>0</height>
               </size>
              </property>
@@ -865,7 +886,7 @@
              </property>
              <property name="minimumSize">
               <size>
-               <width>130</width>
+               <width>0</width>
                <height>0</height>
               </size>
              </property>
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 1aa46ae6c3aa..a768df4c9566 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -206,8 +206,8 @@ void ReceiveCoinsDialog::generateRequestCoins()
 
 #ifdef USE_QRCODE
     QSettings settings;
-    QRCodeLabelSize = settings.value("WindowHeight").toInt();
-    createQRCodeImage();
+    int height = settings.value("WindowHeight").toInt();
+    createQRCodeImage(height);
 #endif
 }
 void ReceiveCoinsDialog::clear()
@@ -309,7 +309,7 @@ void ReceiveCoinsDialog::on_removeRequestButton_clicked()
     model->getRecentRequestsTableModel()->removeRows(firstIndex.row(), selection.length(), firstIndex.parent());
 }
 
-void ReceiveCoinsDialog::createQRCodeImage()
+void ReceiveCoinsDialog::createQRCodeImage(int height)
 {
     lblQRCode->setText("");
     if(!uri.isEmpty())
@@ -318,7 +318,8 @@ void ReceiveCoinsDialog::createQRCodeImage()
         if (uri.length() > MAX_URI_LENGTH)
         {
             lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
-        } else {
+        }
+        else {
             QRcode *code = QRcode_encodeString(uri.toUtf8().constData(), 0, QR_ECLEVEL_L, QR_MODE_8, 1);
             if (!code)
             {
@@ -336,7 +337,21 @@ void ReceiveCoinsDialog::createQRCodeImage()
                     p++;
                 }
             }
-            currentImage = myImage;
+            // Small QRCode
+            if(height < 520)
+            {
+                QRCodeLabelSize = 100;
+            }
+            // Medium QRCode
+            else if(height > 520 && height < 700)
+            {
+                QRCodeLabelSize = 160;
+            }
+            // Big QRCode
+            else if(height > 800)
+            {
+                QRCodeLabelSize = 240;
+            }
 
             QRcode_free(code);
             int QRCodeSize = QRCodeLabelSize - 20;
@@ -344,9 +359,7 @@ void ReceiveCoinsDialog::createQRCodeImage()
             QPixmap target(QRCodeLabelSize, QRCodeLabelSize);
             target.fill(Qt::transparent);
 
-            QPixmap pixmap = QPixmap::fromImage(currentImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding);
-            currentQR = &pixmap;
-
+            QPixmap pixmap = QPixmap::fromImage(myImage).scaled(QRCodeSize, QRCodeSize,Qt::KeepAspectRatioByExpanding);
             QPainter painter(&target);
             painter.setRenderHint(QPainter::Antialiasing, true);
 
@@ -371,26 +384,12 @@ void ReceiveCoinsDialog::resizeEvent(QResizeEvent *event)
     columnResizingFixer->stretchColumnWidth(RecentRequestsTableModel::Message);
     std::cout << "height: " << event->size().height() << std::endl;
 
+    // It will only resize after the first creation of the qrcode.
     if(wasQRCodeGeneratedAlready)
     {
-        int QRCodeSize = QRCodeLabelSize - 20;
-
-        // Small QRCode
-        if(event->size().height() < 520)
-        {
-            QRCodeLabelSize = 100;
-        }
-        // Medium QRCode
-        else if(event->size().height() > 520 && event->size().height() < 700)
-        {
-            QRCodeLabelSize = 160;
-        }
-        // Big QRCode
-        else if(event->size().height() > 800)
-        {
-            QRCodeLabelSize = 240;
-        }
-        createQRCodeImage();
+        QSettings settings;
+        settings.setValue("WindowHeight",event->size().height());
+        createQRCodeImage(event->size().height());
     }
 
 }
diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h
index 9b93d912527b..6d91da7a0246 100644
--- a/src/qt/receivecoinsdialog.h
+++ b/src/qt/receivecoinsdialog.h
@@ -70,10 +70,8 @@ public Q_SLOTS:
     void copyColumnToClipboard(int column);
     virtual void resizeEvent(QResizeEvent *event);
     void generateRequestCoins();
-    void createQRCodeImage();
+    void createQRCodeImage(int height);
     QRImageWidget *lblQRCode;
-    QPixmap *currentQR;
-    QImage currentImage;
     int QRCodeLabelSize;
     bool wasQRCodeGeneratedAlready;
     QString uri;

From 9c36736154deef52a29abbe5222cdebe0ba2e056 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 14 Mar 2019 11:04:51 -0600
Subject: [PATCH 197/225] QRCode resized fixed

When the button was clicked it was not setting the window. height
---
 src/qt/bitcoingui.cpp         |  7 +++++--
 src/qt/receivecoinsdialog.cpp | 12 +++++++-----
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 3005a5db28f5..384a9eadc24e 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -168,7 +168,10 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
 
-    settings.setValue("WindowHeight",this->height());//saving the height, we'll use it later for the qrcode
+
+    //std::cout << "Bitcoingui height: " << this->height() << std::endl;
+    //settings.setValue("WindowHeight",this->height());//saving the height, we'll use it later for the qrcode
+
 
     this->setStyleSheet(GUIUtil::loadStyleSheet());
     QString fontType = GUIUtil::getFontType();
@@ -323,7 +326,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    std::cout << "fontType: " << fontType.toStdString();
+    //std::cout << "fontType: " << fontType.toStdString();
     QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index a768df4c9566..02853fc89c8f 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -207,6 +207,7 @@ void ReceiveCoinsDialog::generateRequestCoins()
 #ifdef USE_QRCODE
     QSettings settings;
     int height = settings.value("WindowHeight").toInt();
+    std::cout << "on button clicked height: " << height << std::endl;
     createQRCodeImage(height);
 #endif
 }
@@ -337,13 +338,14 @@ void ReceiveCoinsDialog::createQRCodeImage(int height)
                     p++;
                 }
             }
+            std::cout<<"height of window Inside function: " << height << std::endl;
             // Small QRCode
-            if(height < 520)
+            if(height < 500)
             {
                 QRCodeLabelSize = 100;
             }
             // Medium QRCode
-            else if(height > 520 && height < 700)
+            else if(height > 520 && height < 800)
             {
                 QRCodeLabelSize = 160;
             }
@@ -382,13 +384,13 @@ void ReceiveCoinsDialog::resizeEvent(QResizeEvent *event)
 {
     QWidget::resizeEvent(event);
     columnResizingFixer->stretchColumnWidth(RecentRequestsTableModel::Message);
-    std::cout << "height: " << event->size().height() << std::endl;
+    std::cout << "on resize height: " << event->size().height() << std::endl;
+    QSettings settings;
+    settings.setValue("WindowHeight",event->size().height());
 
     // It will only resize after the first creation of the qrcode.
     if(wasQRCodeGeneratedAlready)
     {
-        QSettings settings;
-        settings.setValue("WindowHeight",event->size().height());
         createQRCodeImage(event->size().height());
     }
 

From ab80133263dc202297ba1f4d817c02a2ba59fdc5 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 14 Mar 2019 11:52:17 -0600
Subject: [PATCH 198/225] Light theme start of typo and backgrounds.

---
 src/qt/guiutil.cpp       |    8 +-
 src/qt/res/css/light.css | 2401 ++++++++++++--------------------------
 2 files changed, 756 insertions(+), 1653 deletions(-)

diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 5aed7883dbc6..7a6f910f015f 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -946,14 +946,14 @@ QString loadStyleSheet()
     QString styleSheet;
     QSettings settings;
     QString cssName;
-    QString theme = QString("pac");//settings.value("theme", "").toString();
+    QString theme = QString("light");//settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        cssName = QString(":/css/pac");
+        cssName = QString(":/css/light");
     }
     else {
-        cssName = QString(":/css/pac");
-        settings.setValue("theme", "pac");
+        cssName = QString(":/css/light");
+        settings.setValue("theme", "light");
     }
     
     QFile qFile(cssName);      
diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index c13df877536d..d81c6ee8b03c 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -1,1675 +1,778 @@
-WalletFrame {
-border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
-border-top:0px solid #000;
-margin:0;
-padding-top:20px;
-padding-bottom: 20px;
-}
-
-QStatusBar {
-background-color:#ffffff;
-}
-
-.QFrame {
-background-color:transparent;
-border:0px solid #fff;
-}
-
-QMenuBar {
-background-color:#fff;
-}
-
-QMenuBar::item {
-background-color:#fff;
-}
-
-QMenuBar::item:selected {
-background-color:#f8f6f6;
-}
-
-QMenu {
-background-color:#f8f6f6;
-}
-
-QMenu::item {
-color:#333;
-}
-
-QMenu::item:selected {
-background-color:#F8F6F6;
-color:#333;
-}
-
-QToolBar {
-background-color:#F8F6F6;
-border:0px solid #000;
-padding:0;
-margin:0;
-}
-
-QToolBar > QToolButton {
-background-color:#F8F6F6;
-border:0px solid #333;
-min-height:2.5em;
-min-width: 8em;
-padding: 0em 1em;
-/*font-weight:bold;*/
-color:#333;
-font-size: 12px;
-}
-
-QToolBar > QToolButton:checked {
-background-color:#A59A9A;
-color:#fff;
-font-weight:bold;
-font-size: 12px;
-}
 
+/*
+ *  Global GUI styles
+ */
+
+/* custom Qslider */
+QSlider::handle:horizontal {
+    background: #D4CA03;
+    border: 2px solid #D4CA03;
+    width: 10px;
+    margin: -3px 0px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
+    border-radius: 6px;
+}
+QSlider::groove:horizontal {
+    border: 1px solid transparent;
+    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
+    margin: 2px 0;
+    border-radius: 4px;
+}
+QSlider::add-page, QSlider::sub-page {
+    border-radius: 4px;
+    border: 1px solid transparent;
+    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
+    margin: 2px 0;
+}
+QSlider:add-page:disabled, QSlider:sub-page:disabled {
+    background: #ccc;
+}
+QSlider::add-page {
+    background: rgba(100,100,100,0.5);
+}
+QSlider::sub-page {
+    background: #555;
+}
+QSlider::handle:disabled{
+    background: #999;
+    border: 1px solid #999;
+}
+/* Global labels a Box with a title */
+QLabel, QGroupBox::title{
+    color: black !important;
+    font-weight:normal;
+}
+/* General window */
+QMainWindow{
+    border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
+}
+/* Global message box */
 QMessageBox {
-background-color:#F8F6F6;
-}
-
-/*******************************************************/
-
-QLabel { /* Base Text Size & Color */
-font-size:12px;
-color:#333333;
-
-}
-
-.QCheckBox { /* Checkbox Labels */
-color:#333333;
-background-color:transparent;
+    background-color:rgb(145, 145, 145);
+}
+/* Global tooltip */
+QToolTip {
+    color: #000;
+    background-color: #0A0A0A;
+    border: none;
+}
+/* Global dialogs*/
+QDialog{
+    background-color:rgb(89, 89, 89);
+    color:white;
+}
+/* Global ComboBox */
+QComboBox{
+    background-color: rgb(96, 96, 96);
+    border:0px;
+    height: 26px;
+    padding: 3px 5px 3px 5px;
+    color:#000;
+    min-height: 24px !important;
 }
-
-.QCheckBox:hover {
-background-color:transparent;
-}
-
-.QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */
-border: 1px solid #999;
-font-size:11px;
-min-height:25px;
-outline:0;
-padding:3px;
-background-color:#fcfcfc;
-}
-
-.QLineEdit:!focus {
-font-size:12px;
-}
-
-.QValidatedLineEdit:disabled, .QLineEdit:disabled {
-background-color:#f2f2f2;
-}
-
-/*******************************************************/
-
-QPushButton { /* Global Button Style */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #757474, stop: .1 #757474, stop: .95 #757474, stop: 1 #757474);
-border:0;
-border-radius:3px;
-color:#ffffff;
-font-size:12px;
-font-weight:normal;
-height: 26px;
-padding-left:25px;
-padding-right:25px;
-padding-top:5px;
-padding-bottom:5px;
-}
-
-QPushButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #999, stop: .1 #999, stop: .95 #999, stop: 1 #999);
-}
-
-QPushButton:focus {
-border:none;
-outline:none;
-}
-
-QPushButton:pressed {
-border:1px solid #333;
-}
-
-QComboBox { /* Dropdown Menus */
-border:1px solid #999;
-padding: 3px 5px 3px 5px;
-background:#fcfcfc;
-min-height:25px;
-color:#818181;
-}
-
-QComboBox:checked {
-background:#f2f2f2;
-}
-
-QComboBox:editable {
-background: #A59A9A;
-color:#616161;
-border:0px solid transparent;
+QComboBox::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
-
 QComboBox::drop-down {
-width:25px;
-border:0px;
-}
-
-QComboBox::down-arrow {
-border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    width:25px;
+    border:3px red;
 }
-
 QComboBox QListView {
-background:#fff;
-border:1px solid #333;
-padding-right:1px;
-padding-left:1px;
-}
-
-QComboBox QAbstractItemView::item { margin:4px; }
-
-QComboBox::item {
-color:#818181;
-}
-
-QComboBox::item:alternate {
-background:#fff;
-}
-
-QComboBox::item:selected {
-border:0px solid transparent;
-background:#f2f2f2;
-}
-
-QComboBox::indicator {
-background-color:transparent;
-selection-background-color:transparent;
-color:transparent;
-selection-color:transparent;
-}
-
+    color: #FFF;
+    background-color:  rgb(20, 20, 20);
+    border:0px;
+    height:100px;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+QComboBox QAbstractItemView::item {
+    color: rgb(255, 255, 255) !important;
+    selection-background-color: #494949;
+    height: 35px !important;
+    min-width: 100px !important;
+}
+/* Global TabBar styles */
+QTabWidget::pane {
+    background-color: transparent;
+    border: 0px !important;
+    border-radius:15px;
+}
+/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
+QTabBar{
+    margin-left: 20px;
+}
+QTabBar::tab {
+    background:#5e5e5e;
+    border: 0px solid transparent;
+    border-bottom-color: transparent; /* same as the pane color */
+    padding: 1px;
+    width: 180px;
+    color:#000;
+}
+QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
+    background-color: #494949 !important;
+}
+QTabBar::tab:selected {
+    border-color: transparent !important;
+    border-bottom-color: transparent !important;
+}
+/* Global Progress Bar styles */
+QProgressBar {
+    border: 2px solid rgb(163, 163, 163);
+    background-color: white;
+    border-bottom-right-radius: 9px;
+    border-bottom-left-radius: 9px;
+    border-top-left-radius: 9px;
+    border-top-right-radius: 9px;
+    max-height: 16px !important;
+}
+QProgressBar::chunk {
+    background-color:#F4EA13;
+    border-radius: 8px;
+    max-height: 16px !important;
+}
+QStatusBar{
+    background-color: rgb(132, 132, 132) !important;
+}
+/* Global with classes */
+[class="container"]{
+    background-color: rgba(0,0,0,0.5); 
+    border: 0px !important;
+}
+[class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
+    border: 0px;
+    outline:0;
+    padding:3px;
+    background-color: rgb(25,25,25);
+    color: #000;
+}
+[class="LineEdit"], [class="LineEdit_PacCoins"]{
+    height: 40px !important;
+    font-size: 15px;
+    border-radius: 20px;
+}
+[class="LineEditMedium"]{
+    height: 28px !important;
+    font-size: 13px;
+    border-radius: 14px;
+    text-align: center;
+}
+[class="LineEditSmall"]{
+    height: 18px !important;
+    font-size: 13px;
+    border-radius: 9px;
+}
+[class="LineEdit"]:focus, [class="LineEditSmall"]:focus, [class="LineEditMedium"]:focus {
+    font-size:12px;
+}
+[class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled, [class="LineEditMedium"]:disabled {
+    background-color:#474747;
+    color: #878787;
+}
+[class="QuickButton"]{
+    background-color: transparent;
+    border: none;
+    border-radius: 10px;
+}
+[class="QuickButton"]:hover{
+    background-color: rgba(128,128,128,0.2);
+}
+[class="QuickButton"]:pressed{
+    background-color: rgba(250,250,250,0.5);
+}
+
+[class="SpinBoxSmall"]{
+    border-radius: 10px !important;
+    font-size: 12px !important;
+    min-width: 40px !important;
+    min-height:20px !important;
+}
+/* labels */
+QLabel[class="titleLabel"]{
+    text-transform:uppercase;
+    color: #000;
+    font-size:18px;
+}
+QLabel[class="pacCoinsLabel"]{
+    margin: 0px;
+    color: #F4EA13;
+    font-size: 32px;
+    font-weight: medium;
+}
+QLabel[class="usdLabel"]{
+    color: #000;
+    font-size: 23px;
+    font-weight: normal;
+}
+QLabel[class="labelPacIcon"]{
+    margin: 0px;
+}
+/*textarea*/
+QPlainTextEdit {
+    background: rgb(255, 0, 0);
+    color: rgb(20, 20, 20);
+    font-size: 15px;
+}
+/* ScrollBar */
+QScrollBar:vertical, QScrollBar:horizontal {
+    background-color: #191919;
+    width: 16px;
+    margin: 16px 2px 16px 2px;
+    border: 1px solid rgb(50,50,50);
+    border-radius: 4px;
+}
+QScrollBar::handle:vertical, QScrollBar::handle:horizontal  {
+    background-color: #787878;
+    border: 1px solid rgb(50,50,50);
+    min-height: 8px;
+    border-radius: 4px;
+}
+QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
+    background-color: rgb(243,232,56);
+    border: 1px solid rgb(243,232,56);
+    border-radius: 4px;
+    min-height: 8px;
+}
+QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
+    margin: 3px 0px 3px 0px;
+    border-image: url(:/images/pac/drkblue_upArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: top;
+    subcontrol-origin: margin;
+}
+QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
+    margin: 3px 0px 3px 0px;
+    border-image: url(:/images/pac/drkblue_downArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: bottom;
+    subcontrol-origin: margin;
+}
+QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on , QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on{
+    border-image: url(:/images/pac/drkblue_upArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: top;
+    subcontrol-origin: margin;
+}
+QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on, QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on{
+    border-image: url(:/images/pac/drkblue_downArrow_small);
+    height: 10px;
+    width: 10px;
+    subcontrol-position: bottom;
+    subcontrol-origin: margin;
+}
+QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal {
+    background: none;
+}
+QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{
+    background: none;
+}
+/* Global spinbox */
 QAbstractSpinBox {
-border:1px solid #616161;
-padding: 3px 5px 3px 5px;
-background:#fcfcfc;
-min-height:25px;
-color:#818181;
+    border-radius: 20px;
+    font-size: 15px;
+    min-height:40px;
+    background-color: rgb(96, 96, 96);
+    text-align: center;
+    border:0px;
+    color:#000;
+    padding: 3px 5px 3px 5px;
+}
+QAbstractSpinBox:disabled{
+    background-color: rgb(61,61,61);
+    color: #efefef;
 }
-
 QAbstractSpinBox::up-button {
-subcontrol-origin: border;
-subcontrol-position: top right;
-width:21px;
-background:#fcfcfc;
-border-left:0px;
-border-right:1px solid #616161;
-border-top:1px solid #616161;
-border-bottom:0px;
-padding-right:1px;
-padding-left:5px;
-padding-top:2px;
+    subcontrol-origin: border;
+    subcontrol-position: top right;
+    width:21px;
+    background-color: transparent;
+    border:0px;
+    padding-right:4px;
+    padding-left:5px;
+    padding-top:2px;
 }
-
 QAbstractSpinBox::up-arrow {
-image:url(':/images/light/drkblue_upArrow_small');
+    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
 }
-
 QAbstractSpinBox::down-button {
-subcontrol-origin: border;
-subcontrol-position: bottom right;
-width:21px;
-background:#fcfcfc;
-border-top:0px;
-border-left:0px;
-border-right:1px solid #616161;
-border-bottom:1px solid #616161;
-padding-right:1px;
-padding-left:5px;
-padding-bottom:2px;
+    subcontrol-origin: border;
+    subcontrol-position: bottom right;
+    width:21px;
+    background-color: transparent;
+    border:0px;
+    padding-right:4px;
+    padding-left:5px;
+    padding-bottom:2px;
 }
-
 QAbstractSpinBox::down-arrow {
-image:url(':/images/light/drkblue_downArrow_small');
-}
-
-QCheckBox {
-spacing: 5px;
-}
-
-QCheckBox::indicator {
-width: 16px;
-height: 16px;
-}
-
-QCheckBox::indicator:unchecked {
-image:url(':/images/light/unchecked');
-}
-
-QCheckBox::indicator:unchecked:hover {
-image:url(':/images/light/unchecked');
-}
-
-QCheckBox::indicator:unchecked:pressed {
-image:url(':/images/light/checked');
-}
-
-QCheckBox::indicator:checked {
-image:url(':/images/light/checked');
-}
-
-QCheckBox::indicator:checked:hover {
-image:url(':/images/light/checked');
-}
-
-QCheckBox::indicator:checked:pressed {
-image:url(':/images/light/unchecked');
-}
-
-QCheckBox::indicator:indeterminate:hover {
-image:url(':/images/light/unchecked');
-}
-
-QCheckBox::indicator:indeterminate:pressed {
-image:url(':/images/light/checked');
+    image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
+}
+/* Global tables */
+QHeaderView { /* Top of the table Header */
+    background-color: rgb(96, 96, 96);
+}
+QHeaderView::section { /* Top of the table Header Sections */
+    background-color: rgb(96, 96, 96);
+    color:#000;
+    min-height:20px;
+    height:35px;
+    font-weight:bold;
+    font-size:11px;
+    outline:0;
+    border:0px solid #000;
+    border-right:  1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.5, stop: 0 transparent, stop: 1 rgb(71, 71, 71));
+    padding-left:5px;
+    padding-right:5px;
+    padding-top:2px;
+    padding-bottom:2px;
+}
+QHeaderView::down-arrow{
+    image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    width: 13px;
+    height: 13px;
+    margin-right: 5px;
+}
+QHeaderView::up-arrow{
+    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    width: 13px;
+    height: 13px;
+    margin-right: 5px;
+}
+QScrollArea {
+    background: transparent;
+    border:2px solid transparent;
+}
+QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+    background-color: rgba(0,0,0,0.5); 
+    border:none;
 }
-
-/*******************************************************/
-
-QHeaderView { /* Table Header */
-background-color:transparent;
-}
-
-QHeaderView::section { /* Table Header Sections */
-qproperty-alignment:center;
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #A59A9A, stop: 1 #A59A9A);
-color:#fff;
-min-height:25px;
-font-weight:bold;
-font-size:11px;
-outline:0;
-border:0px solid #fff;
-border-right:1px solid #fff;
-padding-left:5px;
-padding-right:5px;
-padding-top:2px;
-padding-bottom:2px;
-}
-
-QHeaderView::section:last {
-border-right: 0px solid #d7d7d7;
-}
-
-.QScrollArea {
-background:transparent;
-border:0px;
-}
-
-.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-background:transparent;
-border:0px solid #000;
-}
-
 QTableView::item { /* Table Item */
-background-color:#fcfcfc;
-font-size:12px;
-}
-
-QTableView::item:selected { /* Table Item Selected */
-background-color:#f0f0f0;
-color:#333;
-}
-
-QScrollBar { /* Scroll Bar */
-
-}
-
-QScrollBar:vertical { /* Vertical Scroll Bar Attributes */
-border:0;
-background:#ffffff;
-width:18px;
-margin: 18px 0px 18px 0px;
-}
-
-QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */
-border:0;
-background:#ffffff;
-height:18px;
-margin: 0px 18px 0px 18px;
-}
-
-
-QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */
-background:#e0e0e0;
-min-height:10px;
-}
-
-QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */
-background:#e0e0e0;
-min-width:10px;
-}
-
-QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */
-background:#F8F6F6;
-}
-
-QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */
-background-color:#F8F6F6;
-border: 1px solid #f2f0f0;
-width:16px;
-height:16px;
-}
-
-QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed {
-background-color:#e0e0e0;
-}
-
-QScrollBar::sub-line:vertical { /* Vertical - top button position */
-subcontrol-position:top;
-subcontrol-origin: margin;
-}
-
-QScrollBar::add-line:vertical { /* Vertical - bottom button position */
-subcontrol-position:bottom;
-subcontrol-origin: margin;
-}
-
-QScrollBar::sub-line:horizontal { /* Vertical - left button position */
-subcontrol-position:left;
-subcontrol-origin: margin;
-}
-
-QScrollBar::add-line:horizontal { /* Vertical - right button position */
-subcontrol-position:right;
-subcontrol-origin: margin;
-}
-
-QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */
-width:10px;
-height:10px;
-}
-
-QScrollBar:up-arrow {
-background-image: url(':/images/light/drkblue_upArrow_small');
-}
-
-QScrollBar:down-arrow {
-background-image: url(':/images/light/drkblue_downArrow_small');
-}
-
-QScrollBar:left-arrow {
-background-image: url(':/images/light/drkblue_leftArrow_small');
-}
-
-QScrollBar:right-arrow {
-background-image: url(':/images/light/drkblue_rightArrow_small');
-}
-
-
-/*******************************************************/
-
-/* DIALOG BOXES */
-
-QDialog .QTabWidget {
-border-bottom:1px solid #333;
-}
-
-QDialog .QTabWidget::pane {
-border: 1px solid #d7d7d7;
-}
-
-QDialog .QTabWidget QTabBar::tab {
-background-color:#f2f0f0;
-color:#333;
-padding-left:10px;
-padding-right:10px;
-padding-top:5px;
-padding-bottom:5px;
-border-top: 1px solid #d7d7d7;
-}
-
-QDialog .QTabWidget QTabBar::tab:first {
-border-left: 1px solid #d7d7d7;
-}
-
-QDialog .QTabWidget QTabBar::tab:last {
-border-right: 1px solid #d7d7d7;
-}
-
-QDialog .QTabWidget QTabBar::tab:selected, QDialog .QTabWidget QTabBar::tab:hover {
-background-color:#ffffff;
-color:#333;
-}
-
-QDialog .QTabWidget .QWidget {
-background-color:#fff;
-color:#333;
-}
-
-QDialog .QTabWidget .QWidget QAbstractSpinBox {
-min-height:15px;
-}
-
-QDialog .QTabWidget .QWidget QAbstractSpinBox::down-button {
-width:15px;
-}
-
-QDialog .QTabWidget .QWidget QAbstractSpinBox::up-button {
-width:15px;
-}
-
-QDialog .QTabWidget .QWidget QComboBox {
-min-height:15px;
-}
-
-QDialog QWidget { /* Remove Annoying Focus Rectangle */
-outline: 0;
-}
-
-/*******************************************************/
-/* FILE MENU */
-
-/* Dialog: Open URI */
-QDialog#OpenURIDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#OpenURIDialog QLabel#label { /* URI Label */
-font-weight:bold;
-}
-
-QDialog#OpenURIDialog QPushButton#selectFileButton { /* ... Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#OpenURIDialog QPushButton#selectFileButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QDialog#OpenURIDialog QPushButton#selectFileButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-/* Dialog: Sign / Verify Message */
-QDialog#SignVerifyMessageDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_SM { /* Address Book Button */
-background-color:transparent;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPlainTextEdit { /* Message Signing Text */
-border:1px solid #C7C7C7;
-background-color:#fff;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#pasteButton_SM { /* Paste Button */
-/* qproperty-icon: url(":/icons/light/drkblue_editpaste"); */
-background-color:transparent;
-padding-left:15px;
-}
-
-QDialog#SignVerifyMessageDialog QLineEdit:!focus { /* Font Hack */
-font-size:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#copySignatureButton_SM { /* Copy Button */
-/* qproperty-icon: url(":/icons/light/drkblue_editcopy"); */
-background-color:transparent;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM { /* Clear Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:pressed {
-border:1px solid #9e9e9e;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_VM { /* Verify Message - Address Book Button */
-background-color:transparent;
-border:0;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM { /* Verify Message - Clear Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:pressed {
-border:1px solid #9e9e9e;
-}
-
-/* Dialog: Send and Receive */
-QWidget#AddressBookPage {
-background-color:#F8F6F6;
-}
-
-QWidget#AddressBookPage QPushButton#newAddress { /* New Address Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#AddressBookPage QPushButton#newAddress:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#AddressBookPage QPushButton#newAddress:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#AddressBookPage QPushButton#copyAddress { /* Copy Address Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#AddressBookPage QPushButton#copyAddress:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#AddressBookPage QPushButton#copyAddress:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#AddressBookPage QPushButton#deleteAddress { /* Delete Address Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#AddressBookPage QPushButton#deleteAddress:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#AddressBookPage QPushButton#deleteAddress:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#AddressBookPage QTableView { /* Address Listing */
-font-size:12px;
-}
-
-QWidget#AddressBookPage QHeaderView::section { /* Min width for Windows fix */
-min-width:260px;
-}
-
-/* SETTINGS MENU */
-
-/* Encrypt Wallet and Change Passphrase Dialog */
-QDialog#AskPassphraseDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#AskPassphraseDialog QLabel#passLabel1, QDialog#AskPassphraseDialog QLabel#passLabel2, QDialog#AskPassphraseDialog QLabel#passLabel3 {
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:170px;
-min-height:33px; /* base width of 25px for QLineEdit, plus padding and border */
+    font-size:12px;
 }
-
-/* Options Dialog */
-QDialog#OptionsDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#OptionsDialog QValueComboBox, QDialog#OptionsDialog QSpinBox {
-margin-top:5px;
-margin-bottom:5px;
+QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable, QTableView#tableView{ /* Text color not for proposals */
+    color: white;
 }
-
-QDialog#OptionsDialog QValidatedLineEdit, QDialog#OptionsDialog QValidatedLineEdit:disabled, QDialog#OptionsDialog QLineEdit, QDialog#OptionsDialog QLineEdit:disabled {
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-min-height:20px;
-margin-top:0px;
-margin-bottom:0px;
-padding-top:1px;
-padding-bottom:1px;
+QTableView::item:selected { /* Table Item Selected */
+    background-color: rgb(70, 70, 70);
 }
-
-QDialog#OptionsDialog > QLabel {
-qproperty-alignment: 'AlignVCenter';
-min-height:20px;
+QTableWidget{
+    background-color: rgba(0,0,0,0.5); 
+    color: white;
 }
-
-QDialog#OptionsDialog QWidget#tabDisplay QValueComboBox {
-margin-top:0px;
-margin-bottom:0px;
+/* ToolBar Menu */
+QToolBar {
+    background-color: #000000;
+    border: 0px;
+    padding: 0px;
+    margin: 0px;
 }
-
-QDialog#OptionsDialog QLabel#label_3 { /* Translations Missing? Label */
-qproperty-alignment: 'AlignVCenter | AlignCenter';
-color:#818181;
-padding-bottom:8px;
+QToolBar > QToolButton {
+    background-color:transparent;
+    border: 0px;
+    height: 63px !important;
+    width: 120px;
+    color: #000;
 }
-
-QDialog#OptionsDialog QCheckBox {
-min-height:20px;
+QToolBar > QToolButton:checked {
+    background-color: rgba(57,57,57,0.3);
+}
+#toolbarIcon{
+    background: none;
+    margin: 15px 0px 0px 15px;
+    border-image: url(:/icons/bitcoin);
+}
+/* Global Button styles*/
+QPushButton {
+    background: transparent;
+    border: 1px solid #F4EA13;
+    color: #F4EA13;
+    border-radius: 18px;
+    height: 35px;
+    width: 180px;
+    font-weight: medium;
+    font-size: 16px;
+}
+QPushButton:hover, QPushButton:focus {
+    background: rgb(243,232,56) !important;
+    border: 1px solid rgb(243,232,56);
+    color: rgb(5,5,5);
+}
+QPushButton:disabled {
+    background: transparent !important;
+    border: 1px solid rgba(243,232,56,0.6);
+    color:rgb(100,100,100) !important;
 }
-
-QDialog#OptionsDialog QCheckBox#displayAddresses {
-min-height:33px;
-
+QPushButton:pressed {
+    background: rgba(243,232,56, 0.3) !important;
+    border: 0px !important;
+    color: rgb(243,232,56) !important;
+}
+/* Style of buttons with classes */
+[class="SmallButton"]{
+    border-radius: 8px;
+    height: 20px;
+    width: 80px;
+    font-weight: normal;
+    font-size: 12px;
+}
+[class="linkButton"]{
+    background-color: transparent !important;
+    border: none !important;
+    color: #F4EA13;
+    font-size: 11px;
+    text-decoration: underline;
+}
+[class="linkButton"]:hover, [class="linkButton"]:focus, #removeRequestButton:hover, #removeRequestButton:focus {
+    color:rgb(180,180,180);
+    background-color: transparent !important;
+    border: 0px !important;
+}
+[class="linkButton"]:disabled, #removeRequestButton:disabled  {
+    background-color: transparent !important;
+    color:rgb(100,100,100) !important;
+    text-decoration: underline;
+    border: none !important;
+}
+[class="linkButton"]:pressed, #removeRequestButton:pressed {
+    background: transparent !important;
+    border: 0px !important;
+    color: rgb(255,255,255) !important;
+}
+[class="accentButton"]{
+    text-transform:uppercase;
+    border: none;
+    background: #F4EA13;
+    color: rgb(5,5,5);
+    border-radius: 35px;
+    height: 70px !important;
+    width: 360px;
+    font-style: normal;
+    font-size: 22px;
+    font-weight:medium;
+}
+QCheckBox, QRadioButton {
+    color: #FFF;
+    width: 9px;
+    height: 9px;
+    spacing: 10px;
+}
+/* Global checbox */
+QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
+    image:url(':/images/pac/unchecked_b');
+}
+QCheckBox::indicator:checked, QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed, QCheckBox::indicator:indeterminate:pressed {
+    image:url(':/images/pac/checked_b');
+}
+QCheckBox::indicator:checked:disabled{
+    image:url(':/images/pac/checked_b_dis');
+}
+QCheckBox::indicator:unchecked:disabled{
+    image:url(':/images/pac/unchecked_b_dis');
+}
+/* Global radio button */
+QRadioButton::indicator:unchecked, QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:checked:pressed, QRadioButton::indicator:indeterminate:hover {
+    image:url(':/images/pac/unchecked');
+}
+QRadioButton::indicator:unchecked:pressed, QRadioButton::indicator:checked, QRadioButton::indicator:checked:hover , QRadioButton::indicator:indeterminate:pressed {
+    image:url(':/images/pac/checked');
+}
+QRadioButton::indicator:checked:disabled{
+    image:url(':/images/pac/checked_dis');
+}
+QRadioButton::indicator:unchecked:disabled{
+    image:url(':/images/pac/unchecked_dis');
+}
+/* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
+BitcoinAmountField QComboBox {
+    border-radius: 20px;
+    background-color: rgb(96, 96, 96);
+    font-size: 15px;
+    text-align: center;
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    min-height:40px;
+    color:#000;
+}
+BitcoinAmountField QComboBox:disabled{
+    background-color: rgb(61,61,61);
+    color: #efefef;
+}
+BitcoinAmountField QComboBox:checked{
+    background-color: rgba(219, 219, 219,0.5);
+}
+BitcoinAmountField QComboBox:editable{
+    background-color: rgba(219, 219, 219,0.5);
+    color:#616161;
+    border:0px;
+}
+BitcoinAmountField QComboBox::drop-down {
+    width:25px;
+    border:0px;
+}
+BitcoinAmountField QComboBox::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+BitcoinAmountField QComboBox QListView{
+    color: #FFF;
+    background-color:  rgb(20, 20, 20);
+    border:1px solid transparent;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+BitcoinAmountField QComboBox QAbstractItemView::item {
+    margin:4px;
+}
+BitcoinAmountField QComboBox::item {
+    color:#000 !important;
+}
+BitcoinAmountField QComboBox::item:alternate{
+    background:rgb(20, 20, 20);
+}
+BitcoinAmountField QComboBox::item:selected{
+    border:0px solid transparent;
+    background-color:  rgb(40, 40, 40);
+}
+BitcoinAmountField QComboBox::indicator {
+    background-color:transparent;
+    selection-background-color:transparent;
+    color:transparent;
+    selection-color:transparent;
+}
+
+
+/*
+ * Styles by section
+ */
+
+
+/*
+ * News/profile bar style
+ */
+#btnChangeImage{
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+}
+#btnChangeImage:hover {
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    border: 1px solid rgb(255,255,255) !important;
+    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+}
+#btnChangeImage:pressed {
+    height:80px;
+    width:80px;
+    border-radius: 40px;
+    background: red !important;
+}
+
+/*
+ * Overview Page
+*/
+#frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
+    text-transform:uppercase;
+}
+
+/*
+ * SendCoins Page
+*/
+ QSlider::groove:vertical {
+     background: red;
+     position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
+     left: 4px; right: 4px;
+ }
+ QSlider::handle:vertical {
+     height: 10px;
+     background: green;
+     margin: 0 -4px; /* expand outside the groove */
+ }
+ QSlider::add-page:vertical {
+     background: white;
+ }
+ QSlider::sub-page:vertical {
+     background: pink;
+ }
+#SendCoinsDialog{
+    background:transparent;
+}
+#frameCoinControl, #scrollArea, #scrollAreaWidgetContents, #scrollAreaCoinControl{
+    border: 0px !important;
+}
+#frameCoinControl{
+    background: rgba(200,200,200,0.15);
+    border-radius: 8px !important;
+}
+#frameFee{
+    border: 0px;
+}
+#scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3, #scrollAreaCoinControl{
+    background-color:rgba(0,0,0,0) !important;
+}
+#verticalWidget{
+    margin-left: 25px !important;
+}
+
+/*
+ * ReceiveCoins Page
+ */
+#ReceiveCoinsDialog{
+    margin: 12px 42px 18px 42px;
+}
+#removeRequestButton{
+    color: #FF1D1D;
+}
+#recentRequestsView QHeaderView::section{
+    text-transform:uppercase;
+    height:20px !important;
+    border-bottom: 1px solid #707070 !important;
+    border-right: 0px solid transparent !important;
+    background: transparent !important;
+    color: #8E8E8E !important;
+}
+
+/*
+ * Transactions Page
+ */
+QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBox#typeWidget, QCombobox#watchOnlyWidget { /* Over the table */
+    background-color: rgb(96, 96, 96);
+    color:#000;
+    border:0px;
+    min-height: 24px !important;
+}
+
+/*
+ * Private Page
+ */
+#framePrivateSend{
+    background-color: rgba(0,0,0,0.5); 
+    border: 0px !important;
+}
+#labelPrivateSendHeader{
+    font-size: 27px;
+    font-family:"Gotham", sans-serif;
+    font-weight:bold;
+    color:#FFF;
+}
+#labelAnonymized{
+    font-size: 48px;
+    font-family:"Gotham Medium", sans-serif;
+    color: #FDF002;
+}
+#labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
+    text-transform:uppercase;
+    font-size: 14px;
+    font-family:"Gotham Medium", sans-serif;
+    color:#FFF;
+}
+#labelAmountRounds, #labelPrivateSendEnabled {
+    text-transform:uppercase;
+    font-size: 25px;
+    font-family:"Gotham Medium", sans-serif;
+    color: #FDF002;
+}
+#privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
+    background: transparent;
+    border: 0px;
+}
+
+/*
+ * Proposal Page
+ */
+QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Over the table */
+    background-color: rgb(96, 96, 96);
+    color:#000;
+    border:0px;
+    min-height: 30px !important;
+}
+QComboBox#startDateWidget, QComboBox#endDateWidget{
+    background-color: rgb(96, 96, 96);
+    border:0px;
+    padding: 3px 5px 3px 5px;
+    color:#000;
+    min-height: 24px !important;
+}
+#startDateWidget::down-arrow, #endDateWidget::down-arrow {
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+}
+#startDateWidget::drop-down, #endDateWidget::drop-down {
+    width:25px;
+    border:3px red;
+}
+QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
+    background-color: rgb(96, 96, 96);
+    border:0px;
+    border-radius: 5px;
+    padding-right:1px;
+    padding-left:1px;
+}
+
+/*
+ * Masternodes Page
+*/
+MasternodeList > QTabBar::tab{
+    min-width:180px;
+}
+#filterLineEdit{
+    background-color: #0B0B0B;
+    border-radius: 12px;
+    height: 24px;
+}
+#tabWidget>QTabBar::tab {
+    background-color: #1D1D1D !important;
+    min-height: 25px;
+}
+#tabWidget>QTabBar::tab:selected{
+    background-color: #383737 !important;
+    border: 1px solid black !important;
+}
+
+/*
+ * OptionsDialog
+*/
+#tabWidget_OptionsDialog QTabBar::tab {
+    background: rgb(50,50,50);
+    width:100px;
+}
+#tabWidget_OptionsDialog::pane {
+    background-color: rgba(50,50,50,0.35);
+}
+#OptionsDialog > #resetButton{
+    width:210px !important;
+}
+
+/*
+ * Sign verify message
+ */
+#messageIn_SM, #messageIn_VM{
+    background: rgb(10, 10, 10);
+}
+
+/*
+ * Coin contro dialog
+ */
+#frame{
+    border: 0px;
+}
+#treeWidget{
+    border: 0px;
+    background-color: rgb(96, 96, 96);
+    color:#000;
+}
+
+/* The class on the QT is not working, this is "LineEditSmall" */
+#addressIn_SM, #signatureOut_SM{
+    border: 0px;
+    outline:0;
+    padding:3px;
+    background-color: rgb(10, 10, 10);
+    color: #000;
+    height: 20px !important;
+    font-size: 13px;
+    border-radius: 10px;
 }
-
-/* TOOLS MENU */
-
-QDialog#RPCConsole { /* RPC Console Dialog Box */
-background-color:#F8F6F6;
-}
-
-QDialog#RPCConsole QWidget#tab_info QLabel#label_11, QDialog#RPCConsole QWidget#tab_info QLabel#label_10 { /* Margin between Network and Block Chain headers */
-qproperty-alignment: 'AlignBottom';
-min-height:25px;
-min-width:180px;
-}
-
-QDialog#RPCConsole QWidget#tab_peers  QLabel#peerHeading { /* Peers Info Header */
-color:#A59A9A;
-}
-
-QDialog#RPCConsole QPushButton#openDebugLogfileButton {
-max-width:60px;
-}
-
-QDialog#RPCConsole QTextEdit#messagesWidget { /* Console Messages Window */
-border:0;
-}
-
-QDialog#RPCConsole QLineEdit#lineEdit { /* Console Input */
-margin-right:5px;
-}
-
-QDialog#RPCConsole QPushButton#clearButton { /* Console Clear Button */
-background-color:transparent;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#RPCConsole .QGroupBox #line { /* Network In Line */
-background-color:#00ff00;
-}
-
-QDialog#RPCConsole .QGroupBox #line_2 { /* Network Out Line */
-background:#ff0000;
-}
-
-/* HELP MENU */
-
-/* Command Line Options Dialog */
-QDialog#HelpMessageDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#HelpMessageDialog QScrollArea * {
-background-color:#ffffff;
-}
-
-QDialog#HelpMessageDialog QScrollBar:vertical, QDialog#HelpMessageDialog QScrollBar:horizontal {
-border:0;
-}
-
-/* About Paccoin Dialog */
-QDialog#AboutDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#AboutDialog QLabel#label, QDialog#AboutDialog QLabel#copyrightLabel, QDialog#AboutDialog QLabel#label_2 { /* About PAC Contents */
-margin-left:10px;
-}
-
-QDialog#AboutDialog QLabel#label_2 { /* Margin for About Paccoin text */
-margin-right:10px;
-}
-
-/* Edit Address Dialog */
-QDialog#EditAddressDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#EditAddressDialog QLabel {
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-height:27px;
-font-weight:normal;
-padding-right:5px;
-}
-
-/* OVERVIEW SCREEN */
-
-QWidget .QFrame#frame { /* Wallet Balance */
-background-color:transparent;
-/*max-width: 451px;*/
-min-width: 451px;
-max-height: 350px;
-}
-
-QWidget .QFrame#frame > .QLabel {
-min-width:190px;
-font-weight:normal;
-min-height:30px;
-}
-
-/*QWidget .QFrame#frame .QHBoxLayout#HorizontalLayout_4 {
-background-color:transparent;
-max-width: 421px;
-min-width: 421px;
-max-height: 350px;	
-}*/
-
-
-QWidget .QFrame#frame .QLabel#label_5 { /* Wallet Label */
-qproperty-alignment: 'AlignVCenter | AlignCenter';
-max-width: 421px;
-min-width: 421px;
-/*background-color:#F8F6F6;*/
-background-color:#CCC7C7;
-color:#000000;
-margin-right: 5px;
-padding-right: 5px;
-font-weight:bold;
-font-size:14px;
-min-height:35px;
-max-height:35px;
-
-}
-
-QWidget .QFrame#frame .QLabel#labelWalletStatus { /* Wallet Sync Status */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-margin-left:2px;
-padding-right:5px;
-
-}
-
-QWidget .QFrame#frame .QLabel#labelSpendable { /* Spendable Header */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:18px;
-}
-
-QWidget .QFrame#frame .QLabel#labelWatchonly { /* Watch-only Header */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:16px;
-}
-
-QWidget .QFrame#frame .QLabel#labelBalanceText { /* Available Balance Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-/*background-color:#F8F6F6;*/
-background-color:transparent;
-color:#000000;
-margin-right:5px;
-padding-right:5px;
-font-size:16px;
-/*font-weight: bold;*/
-min-height:35px;
-}
-
-QWidget .QFrame#frame .QLabel#labelBalance { /* Available Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:16px;
-color:#000000;
-margin-left:0px;
-background-color:transparent;
-/*font-weight: bold;*/
-}
-
-QWidget .QFrame#frame .QLabel#labelWatchAvailable { /* Watch-only Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:16px;
-}
-
-QWidget .QFrame#frame .QLabel#labelPendingText { /* Pending Balance Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-font-size:12px;
-/*background-color:#F8F6F6;*/
-background-color:transparent;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#frame .QLabel#labelUnconfirmed { /* Pending Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:0px;
-}
-
-QWidget .QFrame#frame .QLabel#labelWatchPending { /* Watch-only Pending Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:16px;
-}
-
-QWidget .QFrame#frame .QLabel#labelImmatureText { /* Immature Balance Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-font-size:12px;
-/*background-color:#F8F6F6;*/
-background-color:transparent;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#frame .QLabel#labelImmature { /* Immature Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:0px;
-}
-
-QWidget .QFrame#frame .QLabel#labelWatchImmature { /* Watch-only Immature Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:16px;
-}
-
-QWidget .QFrame#frame .QLabel#labelTotalText { /* Total Balance Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-font-size:12px;
-/*background-color:#F8F6F6;*/
-background-color: transparent;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#frame .QLabel#labelTotal { /* Total Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:0px;
-}
-
-QWidget .QFrame#frame .QLabel#labelWatchTotal { /* Watch-only Total Balance */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-font-size:12px;
-margin-left:16px;
-}
-
-/* PRIVATESEND WIDGET */
-
-QWidget .QFrame#framePrivateSend { /* PrivateSend Widget */
-background-color:transparent;
-max-width: 451px;
-min-width: 451px;
-max-height: 350px;
-}
-
-QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetPrivateSendHeader { /* PrivateSend Header */
-max-width: 421px;
-min-width: 421px;
-}
-
-QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendHeader { /* PrivateSend Header */
-qproperty-alignment: 'AlignVCenter | AlignCenter';
-max-width: 421px;
-min-width: 421px;
-/*background-color:#F8F6F6;*/
-background-color:#CCC7C7;
-color:#000000;
-margin-right: 5px;
-padding-right: 5px;
-font-weight:bold;
-font-size:14px;
-min-height:35px;
-max-height:35px;
-}
-/******************************************************************/
-QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendSyncStatus { /* PrivateSend Sync Status */
-qproperty-alignment: 'AlignVCenter | AlignLeft';
-margin-left:2px;
-padding-right:5px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget {
-max-width: 451px;
-max-height: 175px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget > .QLabel {
-min-width:175px;
-font-weight:normal;
-min-height:25px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabledText { /* PrivateSend Enabled Status Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-background-color:#F8F6F6;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabled { /* PrivateSend Enabled Status */
-
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelCompletitionText { /* PrivateSend Completion Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-background-color:#F8F6F6;
-margin-right:5px;
-padding-right:5px;
-
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress { /* PrivateSend Completion */
-border: 1px solid #818181;
-border-radius: 1px;
-margin-right:43px;
-text-align: right;
-color:#818181;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress::chunk {
-background-color: #F8F6F6;
-width:1px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymizedText { /* PrivateSend Balance Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-background-color:#F8F6F6;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymized { /* PrivateSend Balance */
-
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountAndRoundsText { /* PrivateSend Amount and Rounds Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-background-color:#F8F6F6;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountRounds { /* PrivateSend Amount and Rounds */
-
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenomText { /* PrivateSend Submitted Denom Label */
-qproperty-alignment: 'AlignVCenter | AlignRight';
-min-width:160px;
-background-color:#F8F6F6;
-margin-right:5px;
-padding-right:5px;
-}
-
-QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenom { /* PrivateSend Submitted Denom */
-
-}
-
-QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetLastMessageAndButtons {
-max-width: 451px;
-}
-
-QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendLastMessage { /* PrivateSend Status Notifications */
-qproperty-alignment: 'AlignVCenter | AlignCenter';
-min-width: 288px;
-min-height: 43px;
-font-size:11px;
-color:#818181;
-}
-
-/* PRIVATESEND BUTTONS */
-
-QWidget .QFrame#framePrivateSend .QPushButton { /* PrivateSend Buttons - General Attributes */
-border:0px solid #ffffff;
-}
-
-QWidget .QFrame#framePrivateSend QPushButton:focus {
-border:none;
-outline:none;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend { /* Start PrivateSend Mixing */
-min-height: 40px;
-font-size:15px;
-font-weight:normal;
-color:#ffffff;
-padding-left:10px;
-padding-right:10px;
-padding-top:5px;
-padding-bottom:6px;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend:hover {
-
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto { /* Try Mix Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-min-height:25px;
-font-size:9px;
-padding:0px;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset { /* Reset Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-min-height:25px;
-font-size:9px;
-padding:0px;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo { /* Info Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-min-height:25px;
-font-size:9px;
-padding:0px;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:pressed {
-border:1px solid #9e9e9e;
-}
-
-/* RECENT TRANSACTIONS */
-
-QWidget .QFrame#frame_2 { /* Transactions Widget */
-min-width:410px;
-margin-right:20px;
-margin-left:0;
-margin-top:15px;
-/*background-image: url(':/images/light/paccoin_logo_horizontal');*/
-background-repeat:none;
-}
-
-QWidget .QFrame#frame_2 .QLabel#label_4 { /* Recent Transactions Label */
-min-width:180px;
-color:#000000;
-margin-left:67px;
-margin-top:10px;
-margin-right:5px;
-padding-right:5px;
-font-weight:bold;
-font-size:24;
-min-height:24px;
-}
-
-QWidget .QFrame#frame_2 .QLabel#labelTransactionsStatus { /* Recent Transactions Sync Status */
-qproperty-alignment: 'AlignBottom | AlignRight';
-min-width:93px;
-margin-top:15px;
-margin-left:16px;
-margin-right:5px;
-min-height:16px;
-}
-
-QWidget .QFrame#frame_2 QListView { /* Transaction List */
-font-weight:normal;
-font-size:12px;
-max-width:369px;
-margin-top:12px;
-margin-left:0px; /* CSS Voodoo - set to -66px to hide default transaction icons */
-}
-
-/* MODAL OVERLAY */
-
-QWidget#bgWidget { /* The 'frame' overlaying the overview-page */
-    background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-    color:#616161;
-    padding-left:10px;
-    padding-right:10px;
-}
-
-QWidget#bgWidget .QPushButton#warningIcon {
-width:64px;
-height:64px;
-padding:5px;
-background-color:transparent;
-}
-
-QWidget#contentWidget { /* The actual content with the text/buttons/etc... */
-border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
-border-top:0px solid #000;
-margin:0;
-padding-top:20px;
-padding-bottom: 20px;
-}
-
-QWidget#bgWidget .QPushButton#closeButton {
-
-}
-
-/* SEND DIALOG */
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl { /* Coin Control Section */
-
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl > .QLabel { /* Default Font Color and  Size */
-font-weight:normal;
-color: #999;
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QPushButton#pushButtonCoinControl { /* Coin Control Inputs Button */
-padding-left:10px;
-padding-right:10px;
-min-height:25px;
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlFeatures { /* Coin Control Header */
-color:#999;
-font-weight:normal;
-font-size:14px;
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl { /* Coin Control Inputs */
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .QLabel { /* Coin Control Inputs Labels */
-padding:2px;
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */
-}
-
-QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlChangeLabel { /* Custom Change Address Validation Label */
-font-weight:normal;
-qproperty-margin:-6;
-margin-right:112px;
-}
-
-QDialog#SendCoinsDialog .QScrollArea#scrollArea .QWidget#scrollAreaWidgetContents { /* Send To Widget */
-background:transparent;
-}
-
-QDialog#SendCoinsDialog .QPushButton#sendButton { /* Send Button */
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SendCoinsDialog .QPushButton#clearButton { /* Clear Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SendCoinsDialog .QPushButton#clearButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QDialog#SendCoinsDialog .QPushButton#clearButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-QDialog#SendCoinsDialog .QPushButton#addButton { /* Add Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QDialog#SendCoinsDialog .QPushButton#addButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QDialog#SendCoinsDialog .QPushButton#addButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-QDialog#SendCoinsDialog .QCheckBox#checkUsePrivateSend { /* PrivateSend Checkbox */
-color:#616161;
-font-weight:bold;
-background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop: 1 rgba(0, 0, 0, 0));
-border-radius:5px;
-padding-top:20px;
-padding-bottom:18px;
-}
-
-QDialog#SendCoinsDialog .QCheckBox#checkUseInstantSend { /* InstantSend Checkbox */
-color:#616161;
-font-weight:bold;
-background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop: 1 rgba(0, 0, 0, 0));
-border-radius:5px;
-padding-top:20px;
-padding-bottom:18px;
-margin-left:10px;
-margin-right:20px;
-}
-
-/* This QLabel uses name = "label" which conflicts with Address Book -> New Address */
-/* To maximize backwards compatibility this formatting has been removed */
-
-QDialog#SendCoinsDialog QLabel#label {
-/*margin-left:20px;
-margin-right:-2px;
-padding-right:-2px;
-color:#616161;
-font-size:14px;
-font-weight:bold;
-border-radius:5px;
-padding-top:20px;
-padding-bottom:20px;*/
-min-height:27px;
-}
-
-QDialog#SendCoinsDialog QLabel#labelBalance {
-margin-left:0px;
-padding-left:0px;
-color:#333333;
-/* font-weight:bold;
-border-radius:5px;
-padding-top:20px;
-padding-bottom:20px; */
-min-height:27px;
-}
-
-#checkboxSubtractFeeFromAmount {
-padding-left:10px;
-}
-
-
-/* SEND COINS ENTRY */
-
-QStackedWidget#SendCoinsEntry .QFrame#SendCoins > .QLabel { /* Send Coin Entry Labels */
-/*background-color:#F8F6F6;*/
-background-color:transparent
-min-width:102px;
-font-weight:normal;
-/*font-size:11px;*/
-color:#333;
-min-height:25px;
-margin-right:5px;
-padding-right:5px;
-}
-
-QStackedWidget#SendCoinsEntry .QFrame#SendCoins .QLabel#amountLabel {
-color: #000000;
-/*background-color:#F8F6F6;*/
-background-color: transparent;
-}
-
-QStackedWidget#SendCoinsEntry .QValidatedLineEdit#payTo { /* Pay To Input Field */
-}
-
-QStackedWidget#SendCoinsEntry .QToolButton { /* General Settings for Pay To Icons */
-background-color:transparent;
-padding-left:5px;
-padding-right:5px;
-border: 0;
-outline: 0;
-}
-
-QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { /* Address Book Button */
-padding-left:10px;
-}
-
-QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton {
-}
-
-QStackedWidget#SendCoinsEntry .QToolButton#pasteButton {
-}
-
-QStackedWidget#SendCoinsEntry .QToolButton#deleteButton {
-}
-
-QStackedWidget#SendCoinsEntry .QLineEdit#addAsLabel { /* Pay To Input Field */
-}
-
-/* COIN CONTROL POPUP */
-
-QDialog#CoinControlDialog { /* Coin Control Dialog Window */
-background-color:#F8F6F6;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlQuantityText { /* Coin Control Quantity Label */
-min-height:30px;
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlQuantity { /* Coin Control Quantity */
-min-height:30px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlBytesText { /* Coin Control Bytes Label */
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlBytes { /* Coin Control Bytes */
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlAmountText { /* Coin Control Amount Label */
-min-height:30px;
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlAmount { /* Coin Control Amount */
-min-height:30px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlPriorityText { /* Coin Control Priority Label */
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlPriority { /* Coin Control Priority */
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlFeeText { /* Coin Control Fee Label */
-min-height:30px;
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlFee { /* Coin Control Fee */
-min-height:30px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutputText { /* Coin Control Low Output Label */
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutput { /* Coin Control Low Output */
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFeeText { /* Coin Control After Fee Label */
-min-height:30px;
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFee { /* Coin Control After Fee */
-min-height:30px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlChangeText { /* Coin Control Change Label */
-padding-left:15px;
-}
-
-QDialog#CoinControlDialog .QLabel#labelCoinControlChange { /* Coin Control Change */
-
-}
-
-QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonSelectAll { /* (un)select all button */
-padding-left:10px;
-padding-right:10px;
-min-height:25px;
-}
-
-QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { /* Toggle lock state button */
-padding-left:10px;
-padding-right:10px;
-min-height:25px;
-}
-
-QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */
-}
-
-QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioTreeMode { /* Coin Control Tree Mode Selector */
-color:#818181;
-background-color:transparent;
-}
-
-QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioListMode { /* Coin Control List Mode Selector */
-color:#818181;
-background-color:transparent;
-}
-
-QDialog#CoinControlDialog QHeaderView::section:first { /* Bug Fix: the number "1" displays in this table for some reason... */
-color:transparent;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget { /* Coin Control Widget Container */
-outline:0;
-background-color:#ffffff;
-border:0px solid #818181;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item {
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:selected { /* Coin Control Item (selected) */
-background-color:#f7f7f7;
-color:#333;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:checked { /* Coin Control Item (checked) */
-background-color:#f7f7f7;
-color:#333;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */
-background-image: url(':/images/light/drkblue_qtreeview_selected');
-background-repeat:no-repeat;
-background-position:center;
-background-color:#f7f7f7;
-color:#333;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */
-background-image: url(':/images/light/drkblue_qtreeview_selected');
-background-repeat:no-repeat;
-background-position:center;
-background-color:#f7f7f7;
-color:#333;
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::seperator {
-
-}
-
-QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::indicator { /* Coin Control Widget Checkbox */
-
-}
-
-/* RECEIVE COINS */
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_2 { /* Label Label */
-background-color:transparent;
-border: 0px solid #fff;
-min-width:102px;
-color:#333;
-/*font-weight:bold;
-font-size:11px;*/
-padding-right:5px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label { /* Amount Label */
-background-color:#transparent;
-border: 0px solid #333;
-min-width:102px;
-/*color:#ffffff;*/
-/*font-weight:bold;
-font-size:11px;*/
-padding-right:5px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_3 { /* Message Label */
-background-color:#transparent;
-border: 0px solid #fff;
-min-width:102px;
-color:#333;
-/*font-weight:bold;
-font-size:11px;*/
-padding-right:5px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton { /* Clear Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton { /* Show Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton { /* Remove Button */
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
-border:1px solid #d2d2d2;
-color:#616161;
-padding-left:10px;
-padding-right:10px;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:hover {
-background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
-color:#333;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:pressed {
-border:1px solid #9e9e9e;
-}
-
-QWidget#ReceiveCoinsDialog .QFrame#frame .QLabel#label_6 { /* Requested Payments History Label */
-color:#999;
-font-weight:normal;
-font-size:14px;
-}
-
-/* RECEIVE COINS DIALOG */
-
-QDialog#ReceiveRequestDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#ReceiveRequestDialog QTextEdit { /* Contents of Receive Coin Dialog */
-border:1px solid #d7d7d7;
-}
-
-/* TRANSACTIONS PAGE */
-
-TransactionView QLineEdit { /* Filters */
-margin-bottom:2px;
-margin-right:1px;
-min-width:111px;
-text-align:center;
-}
-
-TransactionView QLineEdit#addressWidget { /* Address Filter */
-margin-bottom:2px;
-margin-right:1px;
-min-width:405px;
-text-align:center;
-}
-
-TransactionView QLineEdit#amountWidget { /* Amount Filter */
-margin-bottom:2px;
-margin-right:1px;
-max-width:100px;
-text-align:center;
-}
-
-TransactionView QComboBox {
-margin-bottom:1px;
-margin-right:1px;
-}
-
-QLabel#transactionSumLabel { /* Example of setObjectName for widgets without name */
-color:#333333;
-font-weight:bold;
-}
- 
-QLabel#transactionSum { /* Example of setObjectName for widgets without name */
-color:#333333;
-}
-
-/* TRANSACTION DETAIL DIALOG */
-
-QDialog#TransactionDescDialog {
-background-color:#F8F6F6;
-}
-
-QDialog#TransactionDescDialog QTextEdit { /* Contents of Receive Coin Dialog */
-border:1px solid #d7d7d7;
-}
-
-

From 4a7cd5def68aa20dd170ecc79fc2d7d580c29e6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 19 Mar 2019 13:15:57 -0600
Subject: [PATCH 199/225] CSS and UI Bug fixed

- Background Image now resize keeping aspect ratio.
- Profile Image button now is capable of restoring original pac logo/changing the current image.
- purging code (removing std::cout debbugers)
- BugFixed: sendcoinsentry address typography was different, now it takes the selected font for the wallet.
- BugFixed: receive coins page, the form was being cropped on small screens, changed the layouts and min height.
-
---
 src/qt/bitcoingui.cpp              | 110 +++++++++++++++++------------
 src/qt/bitcoingui.h                |   7 ++
 src/qt/forms/receivecoinsdialog.ui |  12 +++-
 src/qt/guiutil.cpp                 |   8 ++-
 src/qt/receivecoinsdialog.cpp      |   4 --
 src/qt/res/css/pac.css             |  26 ++-----
 6 files changed, 90 insertions(+), 77 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 384a9eadc24e..f3f3c9485dc2 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -153,7 +153,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
-
     QSettings settings;
     settings.setValue("theme", "pac");
     /* Open CSS when configured */
@@ -168,11 +167,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
 
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
 
-
-    //std::cout << "Bitcoingui height: " << this->height() << std::endl;
-    //settings.setValue("WindowHeight",this->height());//saving the height, we'll use it later for the qrcode
-
-
     this->setStyleSheet(GUIUtil::loadStyleSheet());
     QString fontType = GUIUtil::getFontType();
 
@@ -326,12 +320,17 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    //std::cout << "fontType: " << fontType.toStdString();
     QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
     defaultFont.setStyleHint(QFont::SansSerif);
     QApplication::setFont(defaultFont);
+
+    // set Background Image of window so it can keep aspect ratio >
+    backgroundImage = QPixmap(":/images/pac/drkblue_walletFrame_bg");
+    backgroundImage = backgroundImage.scaled(this->size(), Qt::KeepAspectRatioByExpanding);
+    palette.setBrush(QPalette::Window, backgroundImage);
+    this->setPalette(palette);
 }
 
 BitcoinGUI::~BitcoinGUI()
@@ -593,6 +592,17 @@ void BitcoinGUI::createActions()
     new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_P), this, SLOT(showPeers()));
     new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_R), this, SLOT(showRepair()));
 }
+// We override the virtual resizeEvent of the QWidget to adjust background image to the new window size
+void BitcoinGUI::resizeEvent(QResizeEvent *event)
+{
+    QWidget::resizeEvent(event);
+
+    // set Background Image of window so it can keep aspect ratio >
+    backgroundImage = QPixmap(":/images/pac/drkblue_walletFrame_bg");
+    backgroundImage = backgroundImage.scaled(event->size(), Qt::KeepAspectRatioByExpanding);
+    palette.setBrush(QPalette::Window, backgroundImage);
+    this->setPalette(palette);
+}
 
 void BitcoinGUI::createMenuBar()
 {
@@ -749,7 +759,8 @@ void BitcoinGUI::createHeaderBar()
 
     frameImg->setFrameStyle(QFrame::StyledPanel);
     frameImg->setFrameShadow(QFrame::Raised);
-    frameImg->setStyleSheet("QFrame { border-image: url(:/images/pac/profile_bkg) 0 0 0 0 stretch stretch; margin-right:-1px !important }");
+    frameImg->setStyleSheet("QFrame { border-image: url(:/images/pac/profile_bkg) 0 0 0 0 stretch stretch;"
+                            " margin-right:-1px !important }");
     frameImg->setFixedWidth(115);
     frameImg->setFixedHeight(95);
 
@@ -757,6 +768,8 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnImg->setFixedHeight(80);
     btnImg->setFixedWidth(80);
+    btnImg->setToolTip("Press to change or remove the image.");
+    setProfileImage();
 
     btnRefresh->setProperty("class","QuickButton");
     btnRefresh->setToolTip("Refresh news and PAC-USD value.");
@@ -788,7 +801,6 @@ void BitcoinGUI::createHeaderBar()
     headerFrameLayout->addWidget(frameImg);
     headerFrame->setLayout(headerFrameLayout);
 
-    /** initializing profile image */
     QSettings settings;
     QString strImgValue = settings.value("profilePicture").toString();
 
@@ -796,6 +808,16 @@ void BitcoinGUI::createHeaderBar()
         strImgValue = ":/icons/bitcoin";
     }
 
+    // Adding the connections for the buttons of the image, copy the news and refresh news/pacValue
+    connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
+    connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyNews()));
+    connect(btnRefresh,  SIGNAL(clicked()), this, SLOT(refreshNewsPacValue()));
+}
+void BitcoinGUI::setProfileImage(){
+    /** initializing profile image */
+    QSettings settings;
+    QString strImgValue = settings.value("profilePicture").toString();
+
     QPixmap target(80, 80);
     target.fill(Qt::transparent);
     QPixmap pixmap = QPixmap::fromImage( QImage(strImgValue).scaled(80,80,Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
@@ -810,12 +832,7 @@ void BitcoinGUI::createHeaderBar()
     btnImg->setIcon(ButtonIcon);
     btnImg->setIconSize(QSize(78,78));
 
-    // Adding the connections for the buttons of the image, copy the news and refresh news/pacValue
-    connect(btnImg, SIGNAL (released()),this, SLOT (selectProfileImageFile()));
-    connect(btnCopyNews,  SIGNAL(clicked()), this, SLOT(copyNews()));
-    connect(btnRefresh,  SIGNAL(clicked()), this, SLOT(refreshNewsPacValue()));
 }
-
 void BitcoinGUI::setClientModel(ClientModel *clientModel)
 {
     this->clientModel = clientModel;
@@ -1586,39 +1603,42 @@ void BitcoinGUI::setEncryptionStatus(int status)
 
 /** Select a new image for the top bar */
 void BitcoinGUI::selectProfileImageFile(){
-    //there is a bug with qt which won't let load .png files: output error will be:  libpng error: Read Error
-    QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.xpm *.jpg)"));
-
-    if(!imgPath.isEmpty() && !imgPath.isNull()){/** when the user click on ok button inside the file picker */
-        /** Copy the image to the Pac Folder: */
-        boost::filesystem::path directoryToCopy = GetDefaultDataDir();
-        std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
-
-        std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
-        std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
-        ofs << ifs.rdbuf();
-        imgPath = QString::fromUtf8(imgFinalPath.c_str());//parse from std string to QString
-
-        // saves the path as setting
-        QSettings settings;
-        settings.setValue("profilePicture", imgPath);
-        settings.sync();
+    QMessageBox msgBox;
+    msgBox.setText("Would you like to change the current profile image or remove it and restore the original Pac logo?");
+    QPushButton *changeImage = msgBox.addButton(tr("Change Profile Image"), QMessageBox::ActionRole);
+    QPushButton *removeRestoreImage = msgBox.addButton(tr("Remove and Restore"), QMessageBox::ActionRole);
+    QPushButton *abortButton = msgBox.addButton(QMessageBox::Cancel);
+    msgBox.exec();
 
-        //load the image from that path as the icon of the button
-        QPixmap target(80, 80);
-        target.fill(Qt::transparent);
-        QPixmap pixmap = QPixmap::fromImage( QImage(imgPath).scaled(80,80,Qt::IgnoreAspectRatio,Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
-        QPainter painter(&target);
-        painter.setRenderHint(QPainter::Antialiasing);
-        painter.setRenderHint(QPainter::Antialiasing, true);
-        QPainterPath p;
-        p.addEllipse(QRect(0,0,80,80));
-        painter.setClipPath(p);
-        painter.drawPixmap(0, 0,pixmap);
-        QIcon ButtonIcon(target);
-        btnImg->setIcon(ButtonIcon);
-        btnImg->setIconSize(QSize(78,78));
+    QSettings settings;
+    if (msgBox.clickedButton() == changeImage)// change image
+    {
+        //there is a bug with qt which won't let load .png files: output error will be:  libpng error: Read Error
+        QString imgPath = QFileDialog::getOpenFileName(this, QObject::tr("Choose Profile Picture"),"/",QObject::tr("Images (*.xpm *.jpg)"));
+        if(!imgPath.isEmpty() && !imgPath.isNull()){
+            // when the user click on ok button inside the file picker
+            // Copy the image to the Pac Folder:
+            boost::filesystem::path directoryToCopy = GetDefaultDataDir();
+            std::string imgFinalPath = directoryToCopy.string() + "/profileImg";//concatenate every substring to create the final path std string
+
+            std::ifstream ifs(imgPath.toStdString(), std::ios::binary);//copy img file
+            std::ofstream ofs(imgFinalPath, std::ios::binary);//paste img file
+            ofs << ifs.rdbuf();
+            imgPath = QString::fromUtf8(imgFinalPath.c_str());//parse from std string to QString
+
+            // saves the path as setting and then refresh the profile image button
+            settings.setValue("profilePicture", imgPath);
+        }
     }
+    else if (msgBox.clickedButton() == removeRestoreImage)// remove and restore pac logo
+    {
+        settings.setValue("profilePicture", ":/icons/bitcoin");
+    }
+    else{
+        return;
+    }
+    settings.sync();
+    setProfileImage();
 }
 
 void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index cdc93be9e098..01361415bea2 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -154,12 +154,19 @@ class BitcoinGUI : public QMainWindow
     QNetworkAccessManager *managerNews;
     QNetworkRequest requestNews;
 
+    QPixmap backgroundImage;
+    QPalette palette;
+
+    /** override events */
+    virtual void resizeEvent(QResizeEvent *event);
+
     /** Keep track of previous number of blocks, to detect progress */
     int prevBlocks;
     int spinnerFrame;
 
     const PlatformStyle *platformStyle;
 
+    void setProfileImage();
     /** Create the main UI actions. */
     void createActions();
     /** Create the menu bar and sub-menus. */
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 9f8cf5993947..c97e6580c1d5 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>982</width>
-    <height>471</height>
+    <height>553</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -63,6 +63,12 @@
          </property>
          <item row="1" column="0">
           <widget class="QFrame" name="verticalFrame">
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>250</height>
+            </size>
+           </property>
            <property name="maximumSize">
             <size>
              <width>16777215</width>
@@ -97,7 +103,7 @@
               <item>
                <widget class="QLabel" name="label">
                 <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
                   <horstretch>0</horstretch>
                   <verstretch>0</verstretch>
                  </sizepolicy>
@@ -412,7 +418,7 @@
          <item row="4" column="0">
           <widget class="QTableView" name="recentRequestsView">
            <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+            <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
              <horstretch>0</horstretch>
              <verstretch>0</verstretch>
             </sizepolicy>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 5aed7883dbc6..affed860503c 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -124,7 +124,9 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
 {
     parent->setFocusProxy(widget);
 
-    widget->setFont(fixedPitchFont());
+    QString fontType = GUIUtil::getFontType();
+    widget->setFont(QFont(fontType,13, 1, false));
+    //widget->setFont(fixedPitchFont());
 #if QT_VERSION >= 0x040700
     // We don't want translators to use own addresses in translations
     // and this is the only place, where this address is supplied.
@@ -946,10 +948,10 @@ QString loadStyleSheet()
     QString styleSheet;
     QSettings settings;
     QString cssName;
-    QString theme = QString("pac");//settings.value("theme", "").toString();
+    QString theme = settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        cssName = QString(":/css/pac");
+        cssName = QString(":/css/" + theme);
     }
     else {
         cssName = QString(":/css/pac");
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 02853fc89c8f..4daee7c3aa71 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -207,7 +207,6 @@ void ReceiveCoinsDialog::generateRequestCoins()
 #ifdef USE_QRCODE
     QSettings settings;
     int height = settings.value("WindowHeight").toInt();
-    std::cout << "on button clicked height: " << height << std::endl;
     createQRCodeImage(height);
 #endif
 }
@@ -338,7 +337,6 @@ void ReceiveCoinsDialog::createQRCodeImage(int height)
                     p++;
                 }
             }
-            std::cout<<"height of window Inside function: " << height << std::endl;
             // Small QRCode
             if(height < 500)
             {
@@ -384,10 +382,8 @@ void ReceiveCoinsDialog::resizeEvent(QResizeEvent *event)
 {
     QWidget::resizeEvent(event);
     columnResizingFixer->stretchColumnWidth(RecentRequestsTableModel::Message);
-    std::cout << "on resize height: " << event->size().height() << std::endl;
     QSettings settings;
     settings.setValue("WindowHeight",event->size().height());
-
     // It will only resize after the first creation of the qrcode.
     if(wasQRCodeGeneratedAlready)
     {
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 39892255bdf4..ef10b9b1eeec 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -42,9 +42,8 @@ QLabel, QGroupBox::title{
     font-weight:normal;
 }
 /* General window */
-QMainWindow{
-    border-image: url(:/images/pac/drkblue_walletFrame_bg) 0 0 0 0 stretch stretch;
-}
+/*QMainWindow{
+}*/
 /* Global message box */
 QMessageBox {
     background-color:rgb(26,26,26);
@@ -556,20 +555,18 @@ BitcoinAmountField QComboBox::indicator {
     height:80px;
     width:80px;
     border-radius: 40px;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:hover {
     height:80px;
     width:80px;
     border-radius: 40px;
     border: 1px solid rgb(255,255,255) !important;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:pressed {
     height:80px;
     width:80px;
     border-radius: 40px;
-    background: red !important;
+    background: white !important;
 }
 
 /*
@@ -582,22 +579,7 @@ BitcoinAmountField QComboBox::indicator {
 /*
  * SendCoins Page
 */
- QSlider::groove:vertical {
-     background: red;
-     position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
-     left: 4px; right: 4px;
- }
- QSlider::handle:vertical {
-     height: 10px;
-     background: green;
-     margin: 0 -4px; /* expand outside the groove */
- }
- QSlider::add-page:vertical {
-     background: white;
- }
- QSlider::sub-page:vertical {
-     background: pink;
- }
+
 #SendCoinsDialog{
     background:transparent;
 }

From af9b54280941193bfab5e2a5f2fcefec1f469be8 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 20 Mar 2019 10:03:58 -0600
Subject: [PATCH 200/225] Test

---
 src/qt/res/css/light.css | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index d81c6ee8b03c..cae6a9c12e5c 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -102,7 +102,7 @@ QTabBar{
     margin-left: 20px;
 }
 QTabBar::tab {
-    background:#5e5e5e;
+    background:red;
     border: 0px solid transparent;
     border-bottom-color: transparent; /* same as the pane color */
     padding: 1px;
@@ -143,7 +143,7 @@ QStatusBar{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(25,25,25);
+    background-color: rgb(96, 96, 96);
     color: #000;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
@@ -386,7 +386,7 @@ QToolBar > QToolButton:checked {
 }
 /* Global Button styles*/
 QPushButton {
-    background: transparent;
+    background: rgba(0,0,0,0.5);
     border: 1px solid #F4EA13;
     color: #F4EA13;
     border-radius: 18px;

From b7c58c3ae1ef514302b9957644c20bbaffe625b3 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Wed, 20 Mar 2019 11:11:39 -0600
Subject: [PATCH 201/225] Private Page message corrupting the view on small
 devices.

---
 src/qt/forms/privatepage.ui | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 7dc6a80ce25f..d673bd0e45b9 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -99,6 +99,19 @@
            <layout class="QVBoxLayout" name="verticalLayout_3">
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_5">
+              <item>
+               <widget class="QLabel" name="labelPrivateSendLastMessage">
+                <property name="text">
+                 <string>(Last Message)</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+                </property>
+                <property name="wordWrap">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
               <item>
                <widget class="QLabel" name="labelPrivateSendSyncStatus">
                 <property name="toolTip">
@@ -402,19 +415,6 @@
             </item>
             <item>
              <layout class="QVBoxLayout" name="VerticalLayout_PS">
-              <item>
-               <widget class="QLabel" name="labelPrivateSendLastMessage">
-                <property name="text">
-                 <string>(Last Message)</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-                </property>
-                <property name="wordWrap">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
               <item>
                <widget class="QPushButton" name="togglePrivateSend">
                 <property name="sizePolicy">

From 93485993057c15735bbd735651441f8e2a754992 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 20 Mar 2019 11:25:55 -0600
Subject: [PATCH 202/225] Modal Overlay UI modification

---
 src/qt/forms/modaloverlay.ui |  10 ++++++++--
 src/qt/res/css/pac.css       |   7 ++++++-
 src/qt/res/icons/warning.png | Bin 2368 -> 1826 bytes
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui
index 57820423c0c2..16a62ddffb7c 100644
--- a/src/qt/forms/modaloverlay.ui
+++ b/src/qt/forms/modaloverlay.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>640</width>
-    <height>397</height>
+    <height>398</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -32,7 +32,7 @@
    <item>
     <widget class="QWidget" name="bgWidget" native="true">
      <property name="styleSheet">
-      <string notr="true">background:#171717;</string>
+      <string notr="true"/>
      </property>
      <layout class="QVBoxLayout" name="verticalLayoutMain" stretch="0">
       <property name="leftMargin">
@@ -371,6 +371,12 @@
              <property name="text">
               <string>Hide</string>
              </property>
+             <property name="default">
+              <bool>false</bool>
+             </property>
+             <property name="flat">
+              <bool>false</bool>
+             </property>
             </widget>
            </item>
           </layout>
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index ef10b9b1eeec..bba8056717be 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -394,7 +394,7 @@ QPushButton {
     font-weight: medium;
     font-size: 16px;
 }
-QPushButton:hover, QPushButton:focus {
+QPushButton:hover, QPushButton:focus{
     background: rgb(243,232,56) !important;
     border: 1px solid rgb(243,232,56);
     color: rgb(5,5,5);
@@ -410,6 +410,7 @@ QPushButton:pressed {
     color: rgb(243,232,56) !important;
 }
 /* Style of buttons with classes */
+
 [class="SmallButton"]{
     border-radius: 8px;
     height: 20px;
@@ -547,6 +548,10 @@ BitcoinAmountField QComboBox::indicator {
  * Styles by section
  */
 
+/* Modal Overlay */
+#bgWidget{
+    background:#171717;
+}
 
 /*
  * News/profile bar style
diff --git a/src/qt/res/icons/warning.png b/src/qt/res/icons/warning.png
index a4f95d56cdf8bade044fbc1ce914083c69e20cde..94d63cf172297ec0325b1df747eaf2c5a2a3899d 100644
GIT binary patch

From 1db20639d81dcabc07d429ab00d87200b88cf0d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 20 Mar 2019 11:34:50 -0600
Subject: [PATCH 203/225] margin on private page label

---
 src/qt/forms/privatepage.ui | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index d673bd0e45b9..22f571568465 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -99,8 +99,30 @@
            <layout class="QVBoxLayout" name="verticalLayout_3">
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_5">
+              <item>
+               <spacer name="horizontalSpacer_7">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Fixed</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>20</width>
+                  <height>0</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
               <item>
                <widget class="QLabel" name="labelPrivateSendLastMessage">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
                 <property name="text">
                  <string>(Last Message)</string>
                 </property>

From 749e3d24f8317c40f95c7e7891ea671094c1cfce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 21 Mar 2019 10:04:28 -0600
Subject: [PATCH 204/225] profile img button

bug fixed it was starting blank (attempting)
---
 src/qt/bitcoingui.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index f3f3c9485dc2..184e20b519d2 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -153,6 +153,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
+
     QSettings settings;
     settings.setValue("theme", "pac");
     /* Open CSS when configured */
@@ -803,8 +804,7 @@ void BitcoinGUI::createHeaderBar()
 
     QSettings settings;
     QString strImgValue = settings.value("profilePicture").toString();
-
-    if(strImgValue == "" && strImgValue == NULL){
+    if(strImgValue == "" || strImgValue == NULL){
         strImgValue = ":/icons/bitcoin";
     }
 
@@ -818,6 +818,10 @@ void BitcoinGUI::setProfileImage(){
     QSettings settings;
     QString strImgValue = settings.value("profilePicture").toString();
 
+    if(strImgValue == "" || strImgValue == NULL){
+        strImgValue = ":/icons/bitcoin";
+    }
+
     QPixmap target(80, 80);
     target.fill(Qt::transparent);
     QPixmap pixmap = QPixmap::fromImage( QImage(strImgValue).scaled(80,80,Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation).convertToFormat(QImage::Format_ARGB32));
@@ -1634,7 +1638,8 @@ void BitcoinGUI::selectProfileImageFile(){
     {
         settings.setValue("profilePicture", ":/icons/bitcoin");
     }
-    else{
+    else if (msgBox.clickedButton() == abortButton){
+        settings.sync();
         return;
     }
     settings.sync();

From a0e347929988a3a9de79402316921bd92a4d296a Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 22 Mar 2019 10:25:31 -0600
Subject: [PATCH 205/225] Tab bar and color palette changed

---
 src/qt/res/css/light.css                      |  73 +++++++++---------
 src/qt/res/icons/light/address-book.png       | Bin 125 -> 559 bytes
 src/qt/res/icons/light/clock1.png             | Bin 911 -> 673 bytes
 src/qt/res/icons/light/clock2.png             | Bin 911 -> 1218 bytes
 src/qt/res/icons/light/clock3.png             | Bin 921 -> 799 bytes
 src/qt/res/icons/light/clock4.png             | Bin 917 -> 837 bytes
 src/qt/res/icons/light/clock5.png             | Bin 929 -> 859 bytes
 src/qt/res/icons/light/connect1_16.png        | Bin 810 -> 694 bytes
 src/qt/res/icons/light/connect2_16.png        | Bin 833 -> 717 bytes
 src/qt/res/icons/light/connect3_16.png        | Bin 823 -> 740 bytes
 src/qt/res/icons/light/connect4_16.png        | Bin 794 -> 704 bytes
 src/qt/res/icons/light/editcopy.png           | Bin 617 -> 478 bytes
 src/qt/res/icons/light/editpaste.png          | Bin 1222 -> 2433 bytes
 src/qt/res/icons/light/eye.png                | Bin 439 -> 4315 bytes
 src/qt/res/icons/light/eye_minus.png          | Bin 500 -> 4456 bytes
 src/qt/res/icons/light/eye_plus.png           | Bin 548 -> 4582 bytes
 src/qt/res/icons/light/history.png            | Bin 1356 -> 487 bytes
 src/qt/res/icons/light/info.png               | Bin 0 -> 338 bytes
 src/qt/res/icons/light/lock_closed.png        | Bin 1681 -> 528 bytes
 src/qt/res/icons/light/masternodes.png        | Bin 608 -> 607 bytes
 src/qt/res/icons/light/overview.png           | Bin 6490 -> 458 bytes
 src/qt/res/icons/light/private.png            | Bin 0 -> 1386 bytes
 src/qt/res/icons/light/proposal.png           | Bin 1103 -> 776 bytes
 src/qt/res/icons/light/receive.png            | Bin 1250 -> 466 bytes
 src/qt/res/icons/light/remove.png             | Bin 1153 -> 228 bytes
 src/qt/res/icons/light/send.png               | Bin 1259 -> 471 bytes
 src/qt/res/icons/light/synced.png             | Bin 826 -> 429 bytes
 .../res/icons/light/transaction_abandoned.png | Bin 1219 -> 423 bytes
 src/qt/res/icons/light/tx_inout.png           | Bin 1082 -> 412 bytes
 src/qt/res/icons/light/tx_input.png           | Bin 896 -> 238 bytes
 src/qt/res/icons/light/tx_mined.png           | Bin 1389 -> 16223 bytes
 src/qt/res/icons/light/tx_output.png          | Bin 1051 -> 233 bytes
 src/qt/res/images/light/checked.png           | Bin 779 -> 505 bytes
 src/qt/res/images/light/checked_b.png         | Bin 0 -> 432 bytes
 src/qt/res/images/light/checked_b_dis.png     | Bin 0 -> 832 bytes
 src/qt/res/images/light/checked_dis.png       | Bin 0 -> 918 bytes
 src/qt/res/images/light/drkblue_downArrow.png | Bin 560 -> 207 bytes
 .../images/light/drkblue_downArrow_small.png  | Bin 429 -> 4487 bytes
 .../images/light/drkblue_leftArrow_small.png  | Bin 437 -> 5304 bytes
 .../images/light/drkblue_rightArrow_small.png | Bin 435 -> 5287 bytes
 .../images/light/drkblue_upArrow_small.png    | Bin 428 -> 4480 bytes
 src/qt/res/images/light/header_bkg.png        | Bin 0 -> 4335 bytes
 src/qt/res/images/light/hover_profile.png     | Bin 0 -> 2548 bytes
 src/qt/res/images/light/profile_bkg.png       | Bin 0 -> 1330 bytes
 src/qt/res/images/light/unchecked.png         | Bin 334 -> 320 bytes
 src/qt/res/images/light/unchecked_b.png       | Bin 0 -> 151 bytes
 src/qt/res/images/light/unchecked_b_dis.png   | Bin 0 -> 546 bytes
 src/qt/res/images/light/unchecked_dis.png     | Bin 0 -> 708 bytes
 48 files changed, 36 insertions(+), 37 deletions(-)
 mode change 100644 => 100755 src/qt/res/icons/light/address-book.png
 mode change 100644 => 100755 src/qt/res/icons/light/connect1_16.png
 mode change 100644 => 100755 src/qt/res/icons/light/connect2_16.png
 mode change 100644 => 100755 src/qt/res/icons/light/connect3_16.png
 mode change 100644 => 100755 src/qt/res/icons/light/connect4_16.png
 mode change 100644 => 100755 src/qt/res/icons/light/editcopy.png
 mode change 100644 => 100755 src/qt/res/icons/light/history.png
 create mode 100755 src/qt/res/icons/light/info.png
 mode change 100644 => 100755 src/qt/res/icons/light/lock_closed.png
 mode change 100644 => 100755 src/qt/res/icons/light/masternodes.png
 create mode 100755 src/qt/res/icons/light/private.png
 mode change 100644 => 100755 src/qt/res/icons/light/proposal.png
 mode change 100644 => 100755 src/qt/res/icons/light/receive.png
 mode change 100644 => 100755 src/qt/res/icons/light/send.png
 mode change 100644 => 100755 src/qt/res/icons/light/synced.png
 mode change 100644 => 100755 src/qt/res/icons/light/transaction_abandoned.png
 mode change 100644 => 100755 src/qt/res/icons/light/tx_input.png
 mode change 100644 => 100755 src/qt/res/icons/light/tx_output.png
 create mode 100644 src/qt/res/images/light/checked_b.png
 create mode 100644 src/qt/res/images/light/checked_b_dis.png
 create mode 100644 src/qt/res/images/light/checked_dis.png
 create mode 100644 src/qt/res/images/light/header_bkg.png
 create mode 100755 src/qt/res/images/light/hover_profile.png
 create mode 100644 src/qt/res/images/light/profile_bkg.png
 create mode 100644 src/qt/res/images/light/unchecked_b.png
 create mode 100644 src/qt/res/images/light/unchecked_b_dis.png
 create mode 100644 src/qt/res/images/light/unchecked_dis.png

diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index cae6a9c12e5c..b37db676d879 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -62,7 +62,7 @@ QDialog{
 }
 /* Global ComboBox */
 QComboBox{
-    background-color: rgb(96, 96, 96);
+    background-color: rgb(168, 168, 168);
     border:0px;
     height: 26px;
     padding: 3px 5px 3px 5px;
@@ -70,15 +70,14 @@ QComboBox{
     min-height: 24px !important;
 }
 QComboBox::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
 QComboBox::drop-down {
     width:25px;
-    border:3px red;
 }
 QComboBox QListView {
-    color: #FFF;
-    background-color:  rgb(20, 20, 20);
+    color: #000;
+    background-color:  rgb(168, 168, 168);
     border:0px;
     height:100px;
     border-radius: 5px;
@@ -86,7 +85,7 @@ QComboBox QListView {
     padding-left:1px;
 }
 QComboBox QAbstractItemView::item {
-    color: rgb(255, 255, 255) !important;
+    color: #000;
     selection-background-color: #494949;
     height: 35px !important;
     min-width: 100px !important;
@@ -102,7 +101,7 @@ QTabBar{
     margin-left: 20px;
 }
 QTabBar::tab {
-    background:red;
+    /*background:red;*/
     border: 0px solid transparent;
     border-bottom-color: transparent; /* same as the pane color */
     padding: 1px;
@@ -132,18 +131,18 @@ QProgressBar::chunk {
     max-height: 16px !important;
 }
 QStatusBar{
-    background-color: rgb(132, 132, 132) !important;
+    background-color: #bfbfbf;
 }
 /* Global with classes */
 [class="container"]{
-    background-color: rgba(0,0,0,0.5); 
+    background-color: rgba(204,204,204,0.5); 
     border: 0px !important;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(96, 96, 96);
+    background-color: rgb(168, 168, 168);
     color: #000;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
@@ -235,7 +234,7 @@ QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
 }
 QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
     margin: 3px 0px 3px 0px;
-    border-image: url(:/images/pac/drkblue_upArrow_small);
+    border-image: url(:/images/light/drkblue_upArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: top;
@@ -243,21 +242,21 @@ QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
 }
 QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
     margin: 3px 0px 3px 0px;
-    border-image: url(:/images/pac/drkblue_downArrow_small);
+    border-image: url(:/images/light/drkblue_downArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: bottom;
     subcontrol-origin: margin;
 }
 QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on , QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on{
-    border-image: url(:/images/pac/drkblue_upArrow_small);
+    border-image: url(:/images/light/drkblue_upArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: top;
     subcontrol-origin: margin;
 }
 QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on, QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on{
-    border-image: url(:/images/pac/drkblue_downArrow_small);
+    border-image: url(:/images/light/drkblue_downArrow_small);
     height: 10px;
     width: 10px;
     subcontrol-position: bottom;
@@ -274,7 +273,7 @@ QAbstractSpinBox {
     border-radius: 20px;
     font-size: 15px;
     min-height:40px;
-    background-color: rgb(96, 96, 96);
+    background-color: rgb(168, 168, 168);
     text-align: center;
     border:0px;
     color:#000;
@@ -295,7 +294,7 @@ QAbstractSpinBox::up-button {
     padding-top:2px;
 }
 QAbstractSpinBox::up-arrow {
-    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    image: url(':/images/light/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
 }
 QAbstractSpinBox::down-button {
     subcontrol-origin: border;
@@ -308,7 +307,7 @@ QAbstractSpinBox::down-button {
     padding-bottom:2px;
 }
 QAbstractSpinBox::down-arrow {
-    image: url(':/images/pac/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
+    image: url(':/images/light/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
 }
 /* Global tables */
 QHeaderView { /* Top of the table Header */
@@ -330,13 +329,13 @@ QHeaderView::section { /* Top of the table Header Sections */
     padding-bottom:2px;
 }
 QHeaderView::down-arrow{
-    image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
     width: 13px;
     height: 13px;
     margin-right: 5px;
 }
 QHeaderView::up-arrow{
-    image: url(':/images/pac/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    image: url(':/images/light/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
     width: 13px;
     height: 13px;
     margin-right: 5px;
@@ -364,7 +363,7 @@ QTableWidget{
 }
 /* ToolBar Menu */
 QToolBar {
-    background-color: #000000;
+    background-color: #bfbfbf;
     border: 0px;
     padding: 0px;
     margin: 0px;
@@ -374,10 +373,10 @@ QToolBar > QToolButton {
     border: 0px;
     height: 63px !important;
     width: 120px;
-    color: #000;
+    color: #fff;
 }
 QToolBar > QToolButton:checked {
-    background-color: rgba(57,57,57,0.3);
+    background-color: #7a7a7a;
 }
 #toolbarIcon{
     background: none;
@@ -461,34 +460,34 @@ QCheckBox, QRadioButton {
 }
 /* Global checbox */
 QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
-    image:url(':/images/pac/unchecked_b');
+    image:url(':/images/light/unchecked_b');
 }
 QCheckBox::indicator:checked, QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed, QCheckBox::indicator:indeterminate:pressed {
-    image:url(':/images/pac/checked_b');
+    image:url(':/images/light/checked_b');
 }
 QCheckBox::indicator:checked:disabled{
-    image:url(':/images/pac/checked_b_dis');
+    image:url(':/images/light/checked_b_dis');
 }
 QCheckBox::indicator:unchecked:disabled{
-    image:url(':/images/pac/unchecked_b_dis');
+    image:url(':/images/light/unchecked_b_dis');
 }
 /* Global radio button */
 QRadioButton::indicator:unchecked, QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:checked:pressed, QRadioButton::indicator:indeterminate:hover {
-    image:url(':/images/pac/unchecked');
+    image:url(':/images/light/unchecked');
 }
 QRadioButton::indicator:unchecked:pressed, QRadioButton::indicator:checked, QRadioButton::indicator:checked:hover , QRadioButton::indicator:indeterminate:pressed {
-    image:url(':/images/pac/checked');
+    image:url(':/images/light/checked');
 }
 QRadioButton::indicator:checked:disabled{
-    image:url(':/images/pac/checked_dis');
+    image:url(':/images/light/checked_dis');
 }
 QRadioButton::indicator:unchecked:disabled{
-    image:url(':/images/pac/unchecked_dis');
+    image:url(':/images/light/unchecked_dis');
 }
 /* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
 BitcoinAmountField QComboBox {
     border-radius: 20px;
-    background-color: rgb(96, 96, 96);
+    background-color: rgb(168, 168, 168);
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -513,11 +512,11 @@ BitcoinAmountField QComboBox::drop-down {
     border:0px;
 }
 BitcoinAmountField QComboBox::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
 BitcoinAmountField QComboBox QListView{
-    color: #FFF;
-    background-color:  rgb(20, 20, 20);
+    color: #000;
+    background-color:  rgb(168, 168, 168);
     border:1px solid transparent;
     border-radius: 5px;
     padding-right:1px;
@@ -556,14 +555,14 @@ BitcoinAmountField QComboBox::indicator {
     height:80px;
     width:80px;
     border-radius: 40px;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+    /*border-image: url(:/images/light/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:hover {
     height:80px;
     width:80px;
     border-radius: 40px;
     border: 1px solid rgb(255,255,255) !important;
-    /*border-image: url(:/images/pac/hover_profile) 0 0 0 0 stretch stretch;*/
+    /*border-image: url(:/images/light/hover_profile) 0 0 0 0 stretch stretch;*/
 }
 #btnChangeImage:pressed {
     height:80px;
@@ -698,7 +697,7 @@ QComboBox#startDateWidget, QComboBox#endDateWidget{
     min-height: 24px !important;
 }
 #startDateWidget::down-arrow, #endDateWidget::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
 #startDateWidget::drop-down, #endDateWidget::drop-down {
     width:25px;
diff --git a/src/qt/res/icons/light/address-book.png b/src/qt/res/icons/light/address-book.png
old mode 100644
new mode 100755
index 65d3df6d61f99bc5b0325b104af4ec964a55a4de..c593b5e1480668acf6a5b32b0c0b803b0d7aa3cf
GIT binary patch
diff --git a/src/qt/res/icons/light/clock1.png b/src/qt/res/icons/light/clock1.png
index 214ac9b9f04a53db77ed850a72450218d5a029b6..3e93425823330272d0b46be9a7ec7e8c1acebfe5 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock2.png b/src/qt/res/icons/light/clock2.png
index 5b0dd7afe391bc047026771cc555ac887839dd6e..3ea9ca856ebcd7e052ed340d82a44cda987284d6 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock3.png b/src/qt/res/icons/light/clock3.png
index 523139f8fc11e5d6f93c2885d054bc6068d6d730..7ba498769403e00aa884c4acb4d29b881d187081 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock4.png b/src/qt/res/icons/light/clock4.png
index c007f501fdd21f3c1f3b348dc51ece8ccd7546a2..0efd3ef12f915755c26cb90e12e6bac90373bb95 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock5.png b/src/qt/res/icons/light/clock5.png
index 2d40197a0078d53c6c0cc77cdd803d5003dfbc46..31218dd51bd96704a0625ec6c533dccdc40eacd1 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/connect1_16.png b/src/qt/res/icons/light/connect1_16.png
old mode 100644
new mode 100755
index daeedd51f6217a9ab2b569ffbc6dc783b12a3286..c5fc690f395e1e1f12e1e225a1bd6e2dd0afe395
GIT binary patch
diff --git a/src/qt/res/icons/light/connect2_16.png b/src/qt/res/icons/light/connect2_16.png
old mode 100644
new mode 100755
index bd24b1c37e9a44026c8a884c22dbabc93e136022..97362201f4b4a98b0b8b4e39de79603168138dd2
GIT binary patch
diff --git a/src/qt/res/icons/light/connect3_16.png b/src/qt/res/icons/light/connect3_16.png
old mode 100644
new mode 100755
index 1c15e12f9ed6f8ab9c5983ec646aa08156b1f548..99dcd17b3a88d5b261abedfaf09c9af35aa31138
GIT binary patch
diff --git a/src/qt/res/icons/light/connect4_16.png b/src/qt/res/icons/light/connect4_16.png
old mode 100644
new mode 100755
index 0eb2b848c90c02449489742fdc5f205b565d87bd..07a0f82cb561b138df6d42bd73b870c9b7e2620c
GIT binary patch
diff --git a/src/qt/res/icons/light/editcopy.png b/src/qt/res/icons/light/editcopy.png
old mode 100644
new mode 100755
index 1dd4bf8f30e659f6578d495d8f13da6511295e73..c9c1b5ea7bd1a361ad03cad4ab52c6655f09bc20
GIT binary patch
diff --git a/src/qt/res/icons/light/editpaste.png b/src/qt/res/icons/light/editpaste.png
index 55aa8583518279844d5a91e285066ddf91af03e2..17d9036954ef14edf1d3b98d935f83a06f3bd012 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye.png b/src/qt/res/icons/light/eye.png
index 4ffaaee8b9c1b54a8abe71a3976f2705c690afc7..b833c638a5cfe2c8a1025db37081041235ef445b 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_minus.png b/src/qt/res/icons/light/eye_minus.png
index 96ebe8470f490135f7ae37c81d30de8c3dff28ea..649d9e411596422b99b67be26ae13bf12813d0e1 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_plus.png b/src/qt/res/icons/light/eye_plus.png
index 5d81923483d929cff2e198d74874d99193b16f30..7e7ca0e2db96d3c00f4badd27ff9166b43c18302 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/history.png b/src/qt/res/icons/light/history.png
old mode 100644
new mode 100755
index a1b2c7b0ffd4ad0d8384394b8464f610c62f4423..007cdc34ff5e410554a04006d979057f309bbcd2
GIT binary patch
diff --git a/src/qt/res/icons/light/info.png b/src/qt/res/icons/light/info.png
new file mode 100755
index 0000000000000000000000000000000000000000..e2288885cf054cf8e6c236e26b1b43e638690f19
GIT binary patch
diff --git a/src/qt/res/icons/light/lock_closed.png b/src/qt/res/icons/light/lock_closed.png
old mode 100644
new mode 100755
index 0677384a2b23e16bf1bea08b46b3cd37c01733dd..d3abf86c002b3752959f8a1c48d4b4bdcf6180f0
GIT binary patch
diff --git a/src/qt/res/icons/light/masternodes.png b/src/qt/res/icons/light/masternodes.png
old mode 100644
new mode 100755
index 0f2f101557eecd03f9424e80df426bfe181fe3f0..3fbb59753d5c531f793a8462966ea0a807e24d3b
GIT binary patch
diff --git a/src/qt/res/icons/light/overview.png b/src/qt/res/icons/light/overview.png
index 90e510918c7e733b8e82a4d61d90d39629319ebc..612179789d9dea46c0de0be0e07e262486888979 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/private.png b/src/qt/res/icons/light/private.png
new file mode 100755
index 0000000000000000000000000000000000000000..e99afddbeee475487f40efb809e87a6ade9780d8
GIT binary patch
diff --git a/src/qt/res/icons/light/proposal.png b/src/qt/res/icons/light/proposal.png
old mode 100644
new mode 100755
index 73475989c45b0b27323bad7dbcf9268d3e67e47f..3cfce8b12c8b12181bfcae174c3a82478914e462
GIT binary patch
diff --git a/src/qt/res/icons/light/receive.png b/src/qt/res/icons/light/receive.png
old mode 100644
new mode 100755
index 04ae20f30a9a815b9b335be9fe610d76ca995532..4208201774751ddd861afede3cf956113185aa1f
GIT binary patch
diff --git a/src/qt/res/icons/light/remove.png b/src/qt/res/icons/light/remove.png
index 99fd9660e5292dd7146d66b60f1539cc2dd18a78..57528e9a9864d4601c1aa2710c7cbd7f3e17647d 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/send.png b/src/qt/res/icons/light/send.png
old mode 100644
new mode 100755
index 2cbb38527915dc2cb82b7f1044ecf5dbecb5449c..8db3aee7494ffd63bca230190f8f63fa06e500b3
GIT binary patch
diff --git a/src/qt/res/icons/light/synced.png b/src/qt/res/icons/light/synced.png
old mode 100644
new mode 100755
index 6a64c373b585de7e871c2e2002e2c353ad9c6de9..d6d05f961a9265db2df9ee4fc44ab9076e61cf71
GIT binary patch
diff --git a/src/qt/res/icons/light/transaction_abandoned.png b/src/qt/res/icons/light/transaction_abandoned.png
old mode 100644
new mode 100755
index 0a44de47c52d290dd9dc3034b6eb00ecfde9aed8..07d561ac4cda8f98617819c6d050701d71c1068e
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_inout.png b/src/qt/res/icons/light/tx_inout.png
index 94ea75e1cd9c03c84dab2397140676182c0c3ea0..c93f8ac55ab46fd691bcd86ddbb1197164cd1467 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_input.png b/src/qt/res/icons/light/tx_input.png
old mode 100644
new mode 100755
index 31baf303ef7f02a308b307da1d518a4102674123..87c27a3d5c17efe6b477fc2cc88bae22c28608ae
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_mined.png b/src/qt/res/icons/light/tx_mined.png
index 597dfeae286dec6da982f099ae9ca0410865c998..eb69891486b8d3c358a56181f972622841d2ed76 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_output.png b/src/qt/res/icons/light/tx_output.png
old mode 100644
new mode 100755
index aada2d806e981e30adfbfe56658fe44f4fc05ce1..54fb9fcc8b9b3b3dcd69be0a30d35b1bc610e04d
GIT binary patch
diff --git a/src/qt/res/images/light/checked.png b/src/qt/res/images/light/checked.png
index 66964222f78febd83aa748e0440b69a14d9740a3..2fbe8b6260b852f87866871056e39ffe77f3cb00 100644
GIT binary patch
diff --git a/src/qt/res/images/light/checked_b.png b/src/qt/res/images/light/checked_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea00a7a95809b344a3eab18ef9a441ec7886203e
GIT binary patch
diff --git a/src/qt/res/images/light/checked_b_dis.png b/src/qt/res/images/light/checked_b_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffef8637bc45ddfd1bb098942e45f02278660299
GIT binary patch
diff --git a/src/qt/res/images/light/checked_dis.png b/src/qt/res/images/light/checked_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..09957dd4ea4bebccb8784501a8a6801dfbe29be5
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow.png b/src/qt/res/images/light/drkblue_downArrow.png
index 0ae14b441cec0df915bfecdefea47d7254e961d3..3135d585792fa6f196e0c87dbacf8944d5d78df2 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_small.png b/src/qt/res/images/light/drkblue_downArrow_small.png
index 5552a8dc9484ad72881bba9e5d88c728cc9c7dcf..ff9e17b19722e1f4824949eb8d4ca9a64e500779 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_leftArrow_small.png b/src/qt/res/images/light/drkblue_leftArrow_small.png
index 25cbc03b33bcdc2988540315e3ac21bb7bc79ddf..10d6ed5a7ec3a10f53bf4c6da712d703918a6a0c 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_rightArrow_small.png b/src/qt/res/images/light/drkblue_rightArrow_small.png
index 177c16a53e73f67cd5d47f1d61b03a29b31f350e..a22e5de911480688db769516984b789cb0a01730 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_upArrow_small.png b/src/qt/res/images/light/drkblue_upArrow_small.png
index b28c7f3284274ae74323539ab0c14aa6075a273b..1fa99310358e3c993948dd2771c14691090d5171 100644
GIT binary patch
diff --git a/src/qt/res/images/light/header_bkg.png b/src/qt/res/images/light/header_bkg.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc6bf9e9a0b9ac9a4f46e0bb1386f3a9f2584c41
GIT binary patch
diff --git a/src/qt/res/images/light/hover_profile.png b/src/qt/res/images/light/hover_profile.png
new file mode 100755
index 0000000000000000000000000000000000000000..5181dc29d26db8a4fe5575f4325d052e170a142b
GIT binary patch
diff --git a/src/qt/res/images/light/profile_bkg.png b/src/qt/res/images/light/profile_bkg.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d35d986fc833e083e7c48ca550945a66fce489a
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked.png b/src/qt/res/images/light/unchecked.png
index d48670c0c8b66f35fe047552038211f4c061e1e5..7e367cef01463cc452117cae24e2a67c78c134f2 100644
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_b.png b/src/qt/res/images/light/unchecked_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..24f6678c9f782cb64ddba23e1b370d0a5d99c327
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_b_dis.png b/src/qt/res/images/light/unchecked_b_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..20f5fdc3ad97d11e6f163421480e885a2cd796ef
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_dis.png b/src/qt/res/images/light/unchecked_dis.png
new file mode 100644
index 0000000000000000000000000000000000000000..76c8904893ef6d7c75cfd0bf9f08dabfce20190b
GIT binary patch

From 674afa83afc0033e508d64f9ba70ad3e142bf594 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Mar 2019 11:08:12 -0600
Subject: [PATCH 206/225] Trying to fix Font problems

default pac font to be selected automatically
---
 src/qt/forms/sendcoinsdialog.ui | 69 +++++++--------------------------
 src/qt/optionsdialog.cpp        |  1 +
 2 files changed, 14 insertions(+), 56 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index d6eca4c7a9ec..576837e990b6 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1213</width>
-    <height>623</height>
+    <width>1028</width>
+    <height>584</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -389,7 +389,7 @@
                  <rect>
                   <x>0</x>
                   <y>0</y>
-                  <width>604</width>
+                  <width>419</width>
                   <height>126</height>
                  </rect>
                 </property>
@@ -951,8 +951,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>631</width>
-             <height>219</height>
+             <width>446</width>
+             <height>180</height>
             </rect>
            </property>
            <property name="styleSheet">
@@ -1009,22 +1009,6 @@
         </item>
         <item>
          <layout class="QHBoxLayout" name="horizontalLayout">
-          <item>
-           <spacer name="horizontalSpacer">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>15</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_2">
             <property name="spacing">
@@ -1040,7 +1024,7 @@
               </property>
               <property name="minimumSize">
                <size>
-                <width>100</width>
+                <width>150</width>
                 <height>0</height>
                </size>
               </property>
@@ -1058,22 +1042,6 @@
               </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_5">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>15</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
             <item>
              <widget class="QCheckBox" name="checkUseInstantSend">
               <property name="enabled">
@@ -1087,31 +1055,20 @@
               </property>
               <property name="minimumSize">
                <size>
-                <width>100</width>
+                <width>130</width>
                 <height>0</height>
                </size>
               </property>
+              <property name="font">
+               <font>
+                <pointsize>13</pointsize>
+               </font>
+              </property>
               <property name="text">
                <string>InstantPAC</string>
               </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_17">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Expanding</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>10</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
            </layout>
           </item>
          </layout>
@@ -2421,7 +2378,7 @@
  <resources/>
  <connections/>
  <buttongroups>
-  <buttongroup name="groupFee"/>
   <buttongroup name="groupCustomFee"/>
+  <buttongroup name="groupFee"/>
  </buttongroups>
 </ui>
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 347a2d9e2e83..ac5d182c5cd3 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -108,6 +108,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     ui->cboFontType->addItem(QString("Volte Rounded Semibold"), QVariant("Volte Rounded Semibold"));
     ui->cboFontType->addItem(QString("Gotham Medium"), QVariant("Gotham Medium"));
     ui->cboFontType->addItem(QString("Gotham Bold"), QVariant("Gotham Bold"));
+    ui->cboFontType->setCurrentIndex(1);
     QFontDatabase database;
     for(int i = 0; i < database.families().count(); i++)
     {

From 09ffc31cc2c2d2236319e87e0c5f3da772a649f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Mar 2019 11:45:57 -0600
Subject: [PATCH 207/225] Font size now medium

in order to make it more readable
---
 src/qt/addressbookpage.cpp     | 5 +++--
 src/qt/askpassphrasedialog.cpp | 4 +++-
 src/qt/bitcoingui.cpp          | 2 +-
 src/qt/coincontroldialog.cpp   | 4 +++-
 src/qt/darksendconfig.cpp      | 4 +++-
 src/qt/guiutil.cpp             | 4 ++--
 src/qt/masternodelist.cpp      | 4 +++-
 src/qt/overviewpage.cpp        | 6 ++++--
 src/qt/privatepage.cpp         | 4 +++-
 src/qt/proposallist.cpp        | 4 +++-
 src/qt/receivecoinsdialog.cpp  | 4 +++-
 src/qt/sendcoinsdialog.cpp     | 4 +++-
 src/qt/sendcoinsentry.cpp      | 4 +++-
 src/qt/transactionview.cpp     | 4 +++-
 14 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index 519c9067c09d..eaf549db27f1 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -35,10 +35,11 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode mode,
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
-
     if (!platformStyle->getImagesOnButtons()) {
         ui->newAddress->setIcon(QIcon());
         ui->copyAddress->setIcon(QIcon());
diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
index 2ce0f88c5333..bab7558fb697 100644
--- a/src/qt/askpassphrasedialog.cpp
+++ b/src/qt/askpassphrasedialog.cpp
@@ -28,8 +28,10 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     ui->passEdit1->setMinimumSize(ui->passEdit1->sizeHint());
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 184e20b519d2..6b3ef9490e52 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -321,7 +321,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
+    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Medium, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
     defaultFont.setStyleHint(QFont::SansSerif);
diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
index e035f3ce76da..c0f4c2e3f29d 100644
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -52,8 +52,10 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *platformStyle, QWidget
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     // context menu actions
diff --git a/src/qt/darksendconfig.cpp b/src/qt/darksendconfig.cpp
index b74f4aebf31f..cc88259d7f27 100644
--- a/src/qt/darksendconfig.cpp
+++ b/src/qt/darksendconfig.cpp
@@ -23,8 +23,10 @@ DarksendConfig::DarksendConfig(QWidget *parent) :
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     connect(ui->buttonBasic, SIGNAL(clicked()), this, SLOT(clickBasic()));
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index affed860503c..3b9445105092 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -125,12 +125,12 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
     parent->setFocusProxy(widget);
 
     QString fontType = GUIUtil::getFontType();
-    widget->setFont(QFont(fontType,13, 1, false));
+    widget->setFont(QFont(fontType,13, QFont::Medium, false));
     //widget->setFont(fixedPitchFont());
 #if QT_VERSION >= 0x040700
     // We don't want translators to use own addresses in translations
     // and this is the only place, where this address is supplied.
-    widget->setPlaceholderText(QObject::tr("Enter a $PAC address (e.g. %1)").arg("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg"));
+    widget->setPlaceholderText(QObject::tr("Enter a $PAC address (e.g. %1)").arg("P96Vyav6w6rRJCwsDG49R3WgN2pTuie4dv"));
 #endif
     widget->setValidator(new BitcoinAddressEntryValidator(parent));
     widget->setCheckValidator(new BitcoinAddressCheckValidator(parent));
diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index a4a63e06e3cb..4df7f0cbd591 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -40,8 +40,10 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     int columnAliasWidth = 100;
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index fe1139f00352..7c611d487560 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -60,7 +60,7 @@ class TxViewDelegate : public QAbstractItemDelegate
         // set the typography correctly
         QString fontType = GUIUtil::getFontType();
         QFont font;
-        font = QFont(fontType,13, 1, false);
+        font = QFont(fontType,13,QFont::Medium, false);
         font.setBold(false);
 
         QList<QWidget*> widgets = this->findChildren<QWidget*>();
@@ -164,8 +164,10 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     // Recent transactions
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 5394df9eaa6e..8ab08164d91d 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -56,8 +56,10 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     // init "out of sync" warning labels
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index 7278202ac356..83cd2d1ee6e6 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -250,8 +250,10 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 }
 
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 4daee7c3aa71..5f56bf7b703b 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -67,8 +67,10 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     ui->lineEditCurrentAddress->hide();
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 4a6e44632f5f..3432ac175f98 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -47,8 +47,10 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     if (!platformStyle->getImagesOnButtons()) {
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 36c8f4752ff7..ff79c611dc61 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -37,8 +37,10 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     // These icons are needed on Mac also!
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 6bf21ab390d4..157eccc13225 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -183,8 +183,10 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
     // set the typography correctly
     QString fontType = GUIUtil::getFontType();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
+    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
+    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
-        widgets.at(i)->setFont(QFont(fontType,13, 1, false));
+        widgets.at(i)->setFont(selectedFont);
     }
 
     // Connect actions

From e9291db44cba483d0e89a2d74d9bced0a9632fce Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 22 Mar 2019 11:58:14 -0600
Subject: [PATCH 208/225] Fix of my failed merge

---
 src/qt/forms/sendcoinsdialog.ui | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 9a6eaca7f28d..c44528297bf5 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -388,13 +388,8 @@
                 <property name="geometry">
                  <rect>
                   <x>0</x>
-<<<<<<< HEAD
-                  <y>-78</y>
-                  <width>604</width>
-=======
                   <y>0</y>
                   <width>419</width>
->>>>>>> new-ui_v1.4
                   <height>126</height>
                  </rect>
                 </property>
@@ -1067,15 +1062,8 @@
                 <height>0</height>
                </size>
               </property>
-<<<<<<< HEAD
               <property name="toolTip">
                <string>Instant PAC</string>
-=======
-              <property name="font">
-               <font>
-                <pointsize>13</pointsize>
-               </font>
->>>>>>> new-ui_v1.4
               </property>
               <property name="text">
                <string>InstantPAC</string>

From 53dfa840dc864da4d24b74aee021d5284117dec7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 22 Mar 2019 13:09:24 -0600
Subject: [PATCH 209/225] trying to fix font default

---
 src/qt/guiutil.cpp       | 6 +++---
 src/qt/optionsdialog.cpp | 2 +-
 src/qt/optionsmodel.cpp  | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 3b9445105092..4cd1d3e4edec 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -920,11 +920,11 @@ QString getThemeName()
     if(!theme.isEmpty()){
         return theme;
     }
-    return QString("pac");
+    return QString("pac theme");
 }
 void setGUITextColor(){
     QString theme = getThemeName();
-    if( theme.toStdString().compare("pac") == 0 )
+    if( theme.toStdString().compare("pac theme") == 0 )
         COLOR_TEXT = QColor(255,255,255);
     else
         COLOR_TEXT = QColor(20,20,20);
@@ -939,7 +939,7 @@ QString getFontType()
     if(!FontType.isEmpty()){
         return FontType;
     }
-    return QString("default");
+    return QString("PAC Default Font");
 }
 
 // Open CSS when configured
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index ac5d182c5cd3..d6112ed2e665 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -108,12 +108,12 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     ui->cboFontType->addItem(QString("Volte Rounded Semibold"), QVariant("Volte Rounded Semibold"));
     ui->cboFontType->addItem(QString("Gotham Medium"), QVariant("Gotham Medium"));
     ui->cboFontType->addItem(QString("Gotham Bold"), QVariant("Gotham Bold"));
-    ui->cboFontType->setCurrentIndex(1);
     QFontDatabase database;
     for(int i = 0; i < database.families().count(); i++)
     {
         ui->cboFontType->addItem(QString(database.families().at(i)), QVariant(database.families().at(i)));
     }
+    ui->cboFontType->setCurrentIndex(1);
 
     /* Language selector */
     QDir translations(":translations");
diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
index 0cc241227dae..701fef686167 100644
--- a/src/qt/optionsmodel.cpp
+++ b/src/qt/optionsmodel.cpp
@@ -84,7 +84,7 @@ void OptionsModel::Init(bool resetSettings)
         settings.setValue("theme", "");
 
     if (!settings.contains("FontType"))
-        settings.setValue("FontType", "");
+        settings.setValue("FontType", "PAC Default Font");
 
 #ifdef ENABLE_WALLET
     if (!settings.contains("fCoinControlFeatures"))

From 7deb80adb3410a7faabc0f6f6bcea9dae49f50dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Mon, 25 Mar 2019 12:21:38 -0600
Subject: [PATCH 210/225] Custom Font Bug Fixed

Now the font will be medium. Code optimized.
---
 src/qt/addressbookpage.cpp     |  5 ++---
 src/qt/askpassphrasedialog.cpp |  4 +---
 src/qt/bitcoingui.cpp          | 16 ++++++----------
 src/qt/coincontroldialog.cpp   |  4 +---
 src/qt/darksendconfig.cpp      |  4 +---
 src/qt/guiutil.cpp             | 14 ++++++++++++--
 src/qt/guiutil.h               |  3 +++
 src/qt/masternodelist.cpp      |  4 +---
 src/qt/optionsdialog.cpp       | 13 ++++---------
 src/qt/overviewpage.cpp        |  6 ++----
 src/qt/privatepage.cpp         |  4 +---
 src/qt/proposallist.cpp        |  4 +---
 src/qt/receivecoinsdialog.cpp  |  4 +---
 src/qt/sendcoinsdialog.cpp     |  4 +---
 src/qt/sendcoinsentry.cpp      |  4 +---
 src/qt/transactionview.cpp     |  4 +---
 16 files changed, 39 insertions(+), 58 deletions(-)

diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index eaf549db27f1..4a4768ec992b 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -33,13 +33,12 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode mode,
     ui->setupUi(this);
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
+
     if (!platformStyle->getImagesOnButtons()) {
         ui->newAddress->setIcon(QIcon());
         ui->copyAddress->setIcon(QIcon());
diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
index bab7558fb697..6bc858022460 100644
--- a/src/qt/askpassphrasedialog.cpp
+++ b/src/qt/askpassphrasedialog.cpp
@@ -26,10 +26,8 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
     ui->setupUi(this);
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 6b3ef9490e52..f0376b2775d3 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -153,23 +153,20 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     spinnerFrame(0),
     platformStyle(platformStyle)
 {
-
+    /* Setting the default Pac Theme */
     QSettings settings;
     settings.setValue("theme", "pac");
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
-    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
-    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Light");
-    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
-    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Semibold");
-    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Bold");
+    /* Add the custom Fonts to the wallet */
+    // QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
+    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
     QString family = QFontDatabase::applicationFontFamilies(id).at(0);
-
+    std::cout << family.toStdString();
     this->setStyleSheet(GUIUtil::loadStyleSheet());
-    QString fontType = GUIUtil::getFontType();
 
     GUIUtil::restoreWindowGeometry("nWindow", QSize(800, 550), this);
     QString windowTitle = tr("$PAC Core") + " - ";
@@ -321,10 +318,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Medium, false);
+    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
     defaultFont.setBold(false);
     defaultFont.setPixelSize(13);
-    defaultFont.setStyleHint(QFont::SansSerif);
     QApplication::setFont(defaultFont);
 
     // set Background Image of window so it can keep aspect ratio >
diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
index c0f4c2e3f29d..34dea5de7964 100644
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -50,10 +50,8 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *platformStyle, QWidget
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/darksendconfig.cpp b/src/qt/darksendconfig.cpp
index cc88259d7f27..65755da7cda2 100644
--- a/src/qt/darksendconfig.cpp
+++ b/src/qt/darksendconfig.cpp
@@ -21,10 +21,8 @@ DarksendConfig::DarksendConfig(QWidget *parent) :
     ui->setupUi(this);
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 4cd1d3e4edec..3bd08e90f9c1 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -911,6 +911,16 @@ void restoreWindowGeometry(const QString& strSetting, const QSize& defaultSize,
     }
 }
 
+QFont getCustomSelectedFont()
+{
+    QString fontType = getFontType();
+    QFont font = QFont(fontType,14, QFont::Normal, false);
+    font.setPixelSize(14);
+    return font;
+}
+
+
+
 // Return name of current UI-theme or default theme if no theme was found
 QString getThemeName()
 {
@@ -920,11 +930,11 @@ QString getThemeName()
     if(!theme.isEmpty()){
         return theme;
     }
-    return QString("pac theme");
+    return QString("pac");
 }
 void setGUITextColor(){
     QString theme = getThemeName();
-    if( theme.toStdString().compare("pac theme") == 0 )
+    if( theme.toStdString().compare("pac") == 0 )
         COLOR_TEXT = QColor(255,255,255);
     else
         COLOR_TEXT = QColor(20,20,20);
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index 45f5f4bb070b..5dc8e93eca4e 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -203,6 +203,9 @@ namespace GUIUtil
     /** Load global CSS theme */
     QString loadStyleSheet();
 
+    /** returns the QFont previously selected by the user in settings */
+    QFont getCustomSelectedFont();
+
     /** Return name of current CSS theme */
     QString getThemeName();
 
diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp
index 4df7f0cbd591..a68af0a22b3d 100644
--- a/src/qt/masternodelist.cpp
+++ b/src/qt/masternodelist.cpp
@@ -38,10 +38,8 @@ MasternodeList::MasternodeList(const PlatformStyle *platformStyle, QWidget *pare
 
     ui->startButton->setEnabled(false);
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index d6112ed2e665..44a90c429dac 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -96,21 +96,16 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
     /* Theme selector */
     ui->theme->addItem(QString("pac theme"), QVariant("pac"));
     ui->theme->setCurrentIndex(1);
-    //ui->theme->addItem(QString("light"), QVariant("light"));
-    //ui->theme->addItem(QString("PAC-light"), QVariant("light"));
-    //ui->theme->addItem(QString("PAC-light-hires"), QVariant("light-hires"));
-    //ui->theme->addItem(QString("PAC-blue"), QVariant("drkblue"));
-    //ui->theme->addItem(QString("PAC-Crownium"), QVariant("crownium"));
-    //ui->theme->addItem(QString("PAC-traditional"), QVariant("trad"));
 
     /* typography selector */
+    //ui->cboFontType->addItem(QString("PAC Default Font"), QVariant("Volte Rounded"));
     ui->cboFontType->addItem(QString("PAC Default Font"), QVariant("Volte Rounded"));
-    ui->cboFontType->addItem(QString("Volte Rounded Semibold"), QVariant("Volte Rounded Semibold"));
     ui->cboFontType->addItem(QString("Gotham Medium"), QVariant("Gotham Medium"));
     ui->cboFontType->addItem(QString("Gotham Bold"), QVariant("Gotham Bold"));
+
+    /* Gets and loads in the combo box the whole list of fonts available on your OS */
     QFontDatabase database;
-    for(int i = 0; i < database.families().count(); i++)
-    {
+    for(int i = 0; i < database.families().count(); i++){
         ui->cboFontType->addItem(QString(database.families().at(i)), QVariant(database.families().at(i)));
     }
     ui->cboFontType->setCurrentIndex(1);
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 7c611d487560..3d846f2a36dc 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -162,10 +162,8 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
     QString theme = GUIUtil::getThemeName();
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
@@ -184,7 +182,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
 
     // start with displaying the "out of sync" warnings
     showOutOfSyncWarning(true);
-
+    ui->listTransactions->setFont(selectedFont);
 }
 
 void OverviewPage::handleTransactionClicked(const QModelIndex &index)
diff --git a/src/qt/privatepage.cpp b/src/qt/privatepage.cpp
index 8ab08164d91d..d2319ccd0d3a 100644
--- a/src/qt/privatepage.cpp
+++ b/src/qt/privatepage.cpp
@@ -54,10 +54,8 @@ PrivatePage::PrivatePage(const PlatformStyle *platformStyle, QWidget *parent) :
     ui->setupUi(this);
     QString theme = GUIUtil::getThemeName();
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/proposallist.cpp b/src/qt/proposallist.cpp
index 83cd2d1ee6e6..07bb80e75c11 100644
--- a/src/qt/proposallist.cpp
+++ b/src/qt/proposallist.cpp
@@ -248,10 +248,8 @@ ProposalList::ProposalList(const PlatformStyle *platformStyle, QWidget *parent)
     setLayout(vlayout);
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp
index 5f56bf7b703b..0c901b5e577f 100644
--- a/src/qt/receivecoinsdialog.cpp
+++ b/src/qt/receivecoinsdialog.cpp
@@ -65,10 +65,8 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidg
     wasQRCodeGeneratedAlready = false;
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 3432ac175f98..2bbce2be9352 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -45,10 +45,8 @@ SendCoinsDialog::SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *pa
     QString theme = GUIUtil::getThemeName();
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index ff79c611dc61..31dcd8602d5f 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -35,10 +35,8 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare
     QString theme = GUIUtil::getThemeName();
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 157eccc13225..036297f7a711 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -181,10 +181,8 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
 
 
     // set the typography correctly
-    QString fontType = GUIUtil::getFontType();
+    QFont selectedFont = GUIUtil::getCustomSelectedFont();
     QList<QWidget*> widgets = this->findChildren<QWidget*>();
-    QFont selectedFont = QFont(fontType,13, QFont::Medium, false);
-    selectedFont.setPixelSize(13);
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }

From 625dfbd20ff4df575506536420f5e0d18b66852d Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Mon, 25 Mar 2019 12:52:19 -0600
Subject: [PATCH 211/225] Using alias and CSS Black and grey

---
 src/qt/forms/overviewpage.ui                  |  73 ++++++++++++++++++
 src/qt/forms/privatepage.ui                   |   3 +
 src/qt/paccoin.qrc                            |   8 +-
 src/qt/res/css/light.css                      |  31 +++++---
 .../images/light/drkblue_walletFrame_bg.png   | Bin 63507 -> 1595000 bytes
 5 files changed, 103 insertions(+), 12 deletions(-)

diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 56d3715b7401..1ac60110d448 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -132,6 +132,22 @@
           </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_3">
+            <item>
+             <spacer name="horizontalSpacer_12">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
             <item>
              <widget class="QLabel" name="labelBalanceText">
               <property name="sizePolicy">
@@ -156,8 +172,27 @@
               <property name="class" stdset="0">
                <string>titleLabel</string>
               </property>
+              <property name="class2" stdset="0">
+               <string>yellowUnderline</string>
+              </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_13">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
           <item>
@@ -859,6 +894,22 @@
           </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_2">
+            <item>
+             <spacer name="horizontalSpacer_11">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
             <item>
              <widget class="QLabel" name="label_4">
               <property name="font">
@@ -868,6 +919,9 @@
                 <bold>false</bold>
                </font>
               </property>
+              <property name="styleSheet">
+               <string notr="true"/>
+              </property>
               <property name="text">
                <string>RECENT TRANSACTIONS</string>
               </property>
@@ -877,8 +931,27 @@
               <property name="class" stdset="0">
                <string>titleLabel</string>
               </property>
+              <property name="class2" stdset="0">
+               <string>yellowUnderline</string>
+              </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_10">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
           <item>
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index 7dc6a80ce25f..d96d965190fb 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -94,6 +94,9 @@
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
+         <property name="class" stdset="0">
+          <string>container</string>
+         </property>
          <layout class="QVBoxLayout" name="VerticalLayout_PS1">
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_3">
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index ec18bdcc6ea5..a19439554bb6 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -350,9 +350,15 @@
         <file alias="drkblue_leftArrow_small">res/images/light/drkblue_leftArrow_small.png</file>
         <file alias="drkblue_rightArrow_small">res/images/light/drkblue_rightArrow_small.png</file>
         <file alias="drkblue_qtreeview_selected">res/images/light/drkblue_qtreeview_selected.png</file>
-        <file alias="drkblue_walletFrame_bg">res/images/light/drkblue_walletFrame_bg.png</file>
         <file alias="splash">res/images/light/splash.png</file>
         <file alias="splash_testnet">res/images/light/splash_testnet.png</file>
+        <file alias="checked_b_dis">res/images/light/checked_b_dis.png</file>
+        <file alias="checked_b">res/images/light/checked_b.png</file>
+        <file alias="checked_dis">res/images/light/checked_dis.png</file>
+        <file alias="unchecked_b_dis">res/images/light/unchecked_b_dis.png</file>
+        <file alias="unchecked_b">res/images/light/unchecked_b.png</file>
+        <file alias="unchecked_dis">res/images/light/unchecked_dis.png</file>
+        <file alias="drkblue_walletFrame_bg">res/images/light/drkblue_walletFrame_bg.png</file>
     </qresource>
     <qresource prefix="/images/pac">
         <file alias="about">res/images/pac/about.png</file>
diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index b37db676d879..ccd5c5eddd15 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -43,7 +43,8 @@ QLabel, QGroupBox::title{
 }
 /* General window */
 QMainWindow{
-    border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
+    /*border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;*/
+    background: #d1d1d1;
 }
 /* Global message box */
 QMessageBox {
@@ -52,7 +53,7 @@ QMessageBox {
 /* Global tooltip */
 QToolTip {
     color: #000;
-    background-color: #0A0A0A;
+    background-color: #e0e0e0;
     border: none;
 }
 /* Global dialogs*/
@@ -131,12 +132,14 @@ QProgressBar::chunk {
     max-height: 16px !important;
 }
 QStatusBar{
-    background-color: #bfbfbf;
+    background-color: #212121;
 }
 /* Global with classes */
 [class="container"]{
-    background-color: rgba(204,204,204,0.5); 
-    border: 0px !important;
+    background-color: #e5e5e5;
+    border: 0px;
+    border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
+    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
@@ -194,7 +197,7 @@ QLabel[class="titleLabel"]{
 }
 QLabel[class="pacCoinsLabel"]{
     margin: 0px;
-    color: #F4EA13;
+    color: #000;
     font-size: 32px;
     font-weight: medium;
 }
@@ -206,6 +209,12 @@ QLabel[class="usdLabel"]{
 QLabel[class="labelPacIcon"]{
     margin: 0px;
 }
+QLabel[class2="yellowUnderline"]{
+    border: 2px solid yellow;
+    border-left:transparent;
+    border-right:transparent;
+    border-top:transparent;
+}
 /*textarea*/
 QPlainTextEdit {
     background: rgb(255, 0, 0);
@@ -363,7 +372,7 @@ QTableWidget{
 }
 /* ToolBar Menu */
 QToolBar {
-    background-color: #bfbfbf;
+    background-color: #212121;
     border: 0px;
     padding: 0px;
     margin: 0px;
@@ -376,7 +385,7 @@ QToolBar > QToolButton {
     color: #fff;
 }
 QToolBar > QToolButton:checked {
-    background-color: #7a7a7a;
+    background-color: #444444;
 }
 #toolbarIcon{
     background: none;
@@ -453,7 +462,7 @@ QPushButton:pressed {
     font-weight:medium;
 }
 QCheckBox, QRadioButton {
-    color: #FFF;
+    color: #000;
     width: 9px;
     height: 9px;
     spacing: 10px;
@@ -648,10 +657,10 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
 /*
  * Private Page
  */
-#framePrivateSend{
+/*#framePrivateSend{
     background-color: rgba(0,0,0,0.5); 
     border: 0px !important;
-}
+}*/
 #labelPrivateSendHeader{
     font-size: 27px;
     font-family:"Gotham", sans-serif;
diff --git a/src/qt/res/images/light/drkblue_walletFrame_bg.png b/src/qt/res/images/light/drkblue_walletFrame_bg.png
index dceb6d56a20958246350627c0d0a7d6f4c5bd678..6892cb164f487055d5157b99b1637f355538a001 100644
GIT binary patch

From 0102e2186316e91ca611c49ee4c88c9931051993 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 26 Mar 2019 10:23:38 -0600
Subject: [PATCH 212/225] Bug Fixed> The checkboxes on receive coins page were
 squeezing

---
 src/qt/forms/receivecoinsdialog.ui | 128 ++++++++++++-----------------
 1 file changed, 52 insertions(+), 76 deletions(-)

diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index c97e6580c1d5..ee3f561fbdb0 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -251,82 +251,58 @@
              </layout>
             </item>
             <item>
-             <widget class="QFrame" name="frameLabels">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <layout class="QHBoxLayout" name="horizontalLayout_4">
-               <item>
-                <widget class="QCheckBox" name="reuseAddress">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="minimumSize">
-                  <size>
-                   <width>0</width>
-                   <height>0</height>
-                  </size>
-                 </property>
-                 <property name="toolTip">
-                  <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
-                 </property>
-                 <property name="text">
-                  <string>R&amp;euse an existing receiving address (not recommended)</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="checkUseInstantSend">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="minimumSize">
-                  <size>
-                   <width>150</width>
-                   <height>0</height>
-                  </size>
-                 </property>
-                 <property name="maximumSize">
-                  <size>
-                   <width>16777215</width>
-                   <height>16777215</height>
-                  </size>
-                 </property>
-                 <property name="text">
-                  <string>Request InstantPAC</string>
-                 </property>
-                 <property name="checked">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_4">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeType">
-                  <enum>QSizePolicy::Preferred</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>20</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </widget>
+             <layout class="QVBoxLayout" name="verticalLayout_2">
+              <item>
+               <widget class="QCheckBox" name="reuseAddress">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>0</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="toolTip">
+                 <string>Reuse one of the previously used receiving addresses.&lt;br&gt;Reusing addresses has security and privacy issues.&lt;br&gt;Do not use this unless re-generating a payment request made before.</string>
+                </property>
+                <property name="text">
+                 <string>R&amp;euse an existing receiving address (not recommended)</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="checkUseInstantSend">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="minimumSize">
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>16777215</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string>Request InstantPAC</string>
+                </property>
+                <property name="checked">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+             </layout>
             </item>
            </layout>
           </widget>

From f2f192f434ae4e54eefe7c9da25ab47395216f34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Tue, 26 Mar 2019 11:31:43 -0600
Subject: [PATCH 213/225] Fixing contrast of ui elements

including the toolbar selected button and the inputs
---
 src/qt/res/css/pac.css | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index bba8056717be..bc8237512a84 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -142,7 +142,7 @@ QStatusBar{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(25,25,25);
+    background-color: rgba(67,67,67,0.5);
     color: #fff;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
@@ -273,7 +273,7 @@ QAbstractSpinBox {
     border-radius: 20px;
     font-size: 15px;
     min-height:40px;
-    background-color: rgb(17,17,17);
+    background-color: rgba(67,67,67,0.5);
     text-align: center;
     border:0px;
     color:#fff;
@@ -376,7 +376,7 @@ QToolBar > QToolButton {
     color: #fff;
 }
 QToolBar > QToolButton:checked {
-    background-color: rgba(57,57,57,0.3);
+    background-color: rgba(67,67,67,0.5);
 }
 #toolbarIcon{
     background: none;
@@ -488,7 +488,7 @@ QRadioButton::indicator:unchecked:disabled{
 /* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
 BitcoinAmountField QComboBox {
     border-radius: 20px;
-    background-color: rgb(17,17,17);
+    background-color: rgba(67,67,67,0.5);
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -530,7 +530,7 @@ BitcoinAmountField QComboBox::item {
     color:#fff !important;
 }
 BitcoinAmountField QComboBox::item:alternate{
-    background:rgb(20, 20, 20);
+    background: rgb(20,20,20);
 }
 BitcoinAmountField QComboBox::item:selected{
     border:0px solid transparent;

From 53c65c3ae93831f7220970e427956976676a1ade Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 26 Mar 2019 12:36:32 -0600
Subject: [PATCH 214/225] SendCoins page "Fee" fix decimals

---
 src/qt/bitcoinunits.cpp    |  3 +++
 src/qt/sendcoinsdialog.cpp | 24 +++++++++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp
index f8000b1210a2..e2db420403a2 100644
--- a/src/qt/bitcoinunits.cpp
+++ b/src/qt/bitcoinunits.cpp
@@ -156,6 +156,9 @@ QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, Separator
         return _str;
 
     //then it adds the dot and the cents:
+    /*if(remainder_str.toInt()==0){
+        return _str + QString(".00");
+    }*/
     return _str + QString(".") + remainder_str;
 }
 
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 2bbce2be9352..c7ef95297826 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -750,11 +750,25 @@ void SendCoinsDialog::updateFeeMinimizedLabel()
     if(!model || !model->getOptionsModel())
         return;
 
-    if (ui->radioSmartFee->isChecked())
-        ui->labelFeeMinimized->setText(ui->labelSmartFee->text());
-    else {
-        ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) +
-            ((ui->radioCustomPerKilobyte->isChecked()) ? "/kB" : ""));
+    if (ui->radioSmartFee->isChecked()){
+        QString feeMinimized = ui->labelSmartFee->text();
+        QStringList list1 = feeMinimized.split('.');
+        QStringList list2 = list1[1].split(' ');
+        if(list2[0].toInt()==0){
+            ui->labelFeeMinimized->setText(list1[0] + ".00" + list2[1]);
+        }else{
+            ui->labelFeeMinimized->setText(feeMinimized);
+        }
+    }else {
+        QString feeMinimized = BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + ((ui->radioCustomPerKilobyte->isChecked()) ? "/kB" : "");
+        QStringList list1 = feeMinimized.split('.');
+        QStringList list2 = list1[1].split(' ');
+        if(list2[0].toInt()==0){
+            ui->labelFeeMinimized->setText(list1[0] + ".00" + list2[1]);
+        }else{
+            ui->labelFeeMinimized->setText(feeMinimized);
+        }
+        
     }
 }
 

From 011f8c74c6e7fa75c8ed8dbf82d2049950199a06 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 26 Mar 2019 12:46:58 -0600
Subject: [PATCH 215/225] Micro sign on Overview fix

---
 src/qt/res/css/pac.css | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index bc8237512a84..f9cd3fdc3146 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -577,9 +577,7 @@ BitcoinAmountField QComboBox::indicator {
 /*
  * Overview Page
 */
-#frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
-    text-transform:uppercase;
-}
+
 
 /*
  * SendCoins Page

From 5feeacd18697ddbe853efc39789dab239c99e87d Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Tue, 26 Mar 2019 13:01:57 -0600
Subject: [PATCH 216/225] Micro sign on Private Page fix

---
 src/qt/res/css/pac.css | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index f9cd3fdc3146..6377b5265aad 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -645,9 +645,9 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     color:#FFF;
 }
 #labelAnonymized{
-    font-size: 48px;
-    font-family:"Gotham Medium", sans-serif;
+    font-size: 38px;
     color: #FDF002;
+    font-weight:bold;
 }
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
     text-transform:uppercase;
@@ -656,10 +656,9 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     color:#FFF;
 }
 #labelAmountRounds, #labelPrivateSendEnabled {
-    text-transform:uppercase;
-    font-size: 25px;
-    font-family:"Gotham Medium", sans-serif;
+    font-size: 20px;
     color: #FDF002;
+    font-weight:bold;
 }
 #privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
     background: transparent;

From ed572156327d3faaa72da02a91f102877e805d25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Mar 2019 11:48:38 -0600
Subject: [PATCH 217/225] bitcoinamount field changed

in order to be fixed on height
---
 src/qt/bitcoinamountfield.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index c5061a5602b8..28c87e35a638 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -28,7 +28,7 @@ class AmountSpinBox: public QAbstractSpinBox
         singleStep(100000) // satoshis
     {
         setAlignment(Qt::AlignHCenter);
-        setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//Expanding, Fixed
+        setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
         connect(lineEdit(), SIGNAL(textEdited(QString)), this, SIGNAL(valueChanged()));
     }
 

From b9b2428df6c32c428fc57c3175b7d99a6ca00e0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Mar 2019 11:54:35 -0600
Subject: [PATCH 218/225] separator implemented

On send coins page -> the text inputs were too close. A separator should fix this issue presented only on windows.
---
 src/qt/forms/sendcoinsentry.ui | 70 ++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index c1cb55c00f9c..f0523f9eaacb 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -242,6 +242,22 @@
         </property>
        </widget>
       </item>
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeType">
+         <enum>QSizePolicy::Preferred</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>25</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
       <item>
        <widget class="BitcoinAmountField" name="payAmount">
         <property name="maximumSize">
@@ -425,6 +441,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -562,6 +587,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -699,6 +733,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -932,6 +975,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -1078,6 +1130,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1224,6 +1285,15 @@
         </color>
        </brush>
       </colorrole>
+      <colorrole role="PlaceholderText">
+       <brush brushstyle="NoBrush">
+        <color alpha="128">
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </brush>
+      </colorrole>
      </disabled>
     </palette>
    </property>

From 6b85ca6403034a3ee88fc9279d2b805e8591d4b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Mar 2019 13:21:31 -0600
Subject: [PATCH 219/225] ui fixed

---
 src/qt/res/css/pac.css | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 6377b5265aad..b9bfae4d9978 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -582,7 +582,10 @@ BitcoinAmountField QComboBox::indicator {
 /*
  * SendCoins Page
 */
-
+#lineEditCoinControlChange{
+    background-color: rgba(67,67,67,0.5);
+    color: #fff;
+}
 #SendCoinsDialog{
     background:transparent;
 }
@@ -590,7 +593,7 @@ BitcoinAmountField QComboBox::indicator {
     border: 0px !important;
 }
 #frameCoinControl{
-    background: rgba(200,200,200,0.15);
+    background: rgba(150,150,150,0.1);
     border-radius: 8px !important;
 }
 #frameFee{

From 82d139cbbf56ff6edffda0e3b1b59627838563b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Wed, 27 Mar 2019 16:23:22 -0600
Subject: [PATCH 220/225] Typography fixing

---
 src/qt/bitcoingui.cpp    | 12 ++++++------
 src/qt/guiutil.cpp       | 13 ++++++-------
 src/qt/guiutil.h         |  2 +-
 src/qt/optionsdialog.cpp |  2 +-
 src/qt/optionsmodel.cpp  |  2 +-
 src/qt/overviewpage.cpp  |  2 +-
 6 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index f0376b2775d3..214bf2b7a199 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -156,16 +156,16 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
     /* Setting the default Pac Theme */
     QSettings settings;
     settings.setValue("theme", "pac");
+    QString currentFont = GUIUtil::getFontName();
+    std::cout << "CurrentFont: " << currentFont.toStdString() << std::endl;
+
     /* Open CSS when configured */
     GUIUtil::setGUITextColor();
     /* Add the custom Fonts to the wallet */
-    // QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Regular");
-    int id = QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
+    QFontDatabase::addApplicationFont(":/fonts/VolteRounded-Medium");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Bold");
     QFontDatabase::addApplicationFont(":/fonts/Gotham-Medium");
 
-    QString family = QFontDatabase::applicationFontFamilies(id).at(0);
-    std::cout << family.toStdString();
     this->setStyleSheet(GUIUtil::loadStyleSheet());
 
     GUIUtil::restoreWindowGeometry("nWindow", QSize(800, 550), this);
@@ -318,9 +318,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *n
         connect(this,SIGNAL(transmit_to_walletframe()), walletFrame, SLOT(receive_from_bitcoingui()));
     }
 #endif
-    QFont defaultFont(settings.value("FontType").toString(),13, QFont::Normal, false);
+    QFont defaultFont(settings.value("FontType").toString(),14, QFont::Normal, false);
     defaultFont.setBold(false);
-    defaultFont.setPixelSize(13);
+    defaultFont.setPixelSize(14);
     QApplication::setFont(defaultFont);
 
     // set Background Image of window so it can keep aspect ratio >
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 3bd08e90f9c1..3b70b9fcaca8 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -124,8 +124,8 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent)
 {
     parent->setFocusProxy(widget);
 
-    QString fontType = GUIUtil::getFontType();
-    widget->setFont(QFont(fontType,13, QFont::Medium, false));
+    QString fontType = GUIUtil::getFontName();
+    widget->setFont(QFont(fontType,14, QFont::Medium, false));
     //widget->setFont(fixedPitchFont());
 #if QT_VERSION >= 0x040700
     // We don't want translators to use own addresses in translations
@@ -913,14 +913,13 @@ void restoreWindowGeometry(const QString& strSetting, const QSize& defaultSize,
 
 QFont getCustomSelectedFont()
 {
-    QString fontType = getFontType();
+    QString fontType = getFontName();
+    std::cout << "font name: " << fontType.toStdString() << std::endl;
     QFont font = QFont(fontType,14, QFont::Normal, false);
     font.setPixelSize(14);
     return font;
 }
 
-
-
 // Return name of current UI-theme or default theme if no theme was found
 QString getThemeName()
 {
@@ -941,7 +940,7 @@ void setGUITextColor(){
 }
 
 // Return name of current UI-theme or default theme if no theme was found
-QString getFontType()
+QString getFontName()
 {
     QSettings settings;
     QString FontType = settings.value("FontType", "").toString();
@@ -949,7 +948,7 @@ QString getFontType()
     if(!FontType.isEmpty()){
         return FontType;
     }
-    return QString("PAC Default Font");
+    return QString("Volte Rounded");
 }
 
 // Open CSS when configured
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index 5dc8e93eca4e..a84283e4c1fa 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -209,7 +209,7 @@ namespace GUIUtil
     /** Return name of current CSS theme */
     QString getThemeName();
 
-    QString getFontType();
+    QString getFontName();
     
     /* Convert QString to OS specific boost path through UTF-8 */
     boost::filesystem::path qstringToBoostPath(const QString &path);
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 44a90c429dac..40bcecdb9ecd 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -99,7 +99,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
 
     /* typography selector */
     //ui->cboFontType->addItem(QString("PAC Default Font"), QVariant("Volte Rounded"));
-    ui->cboFontType->addItem(QString("PAC Default Font"), QVariant("Volte Rounded"));
+    ui->cboFontType->addItem(QString("Volte Rounded"), QVariant("Volte Rounded"));
     ui->cboFontType->addItem(QString("Gotham Medium"), QVariant("Gotham Medium"));
     ui->cboFontType->addItem(QString("Gotham Bold"), QVariant("Gotham Bold"));
 
diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
index 701fef686167..8ae537188dd3 100644
--- a/src/qt/optionsmodel.cpp
+++ b/src/qt/optionsmodel.cpp
@@ -84,7 +84,7 @@ void OptionsModel::Init(bool resetSettings)
         settings.setValue("theme", "");
 
     if (!settings.contains("FontType"))
-        settings.setValue("FontType", "PAC Default Font");
+        settings.setValue("FontType", "Volte Rounded");
 
 #ifdef ENABLE_WALLET
     if (!settings.contains("fCoinControlFeatures"))
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 3d846f2a36dc..0702a10badc1 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -58,7 +58,7 @@ class TxViewDelegate : public QAbstractItemDelegate
         painter->save();
 
         // set the typography correctly
-        QString fontType = GUIUtil::getFontType();
+        QString fontType = GUIUtil::getFontName();
         QFont font;
         font = QFont(fontType,13,QFont::Medium, false);
         font.setBold(false);

From cfefebb4abd899d4afa6e450222ad9e9c2b93873 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Thu, 28 Mar 2019 10:30:55 -0600
Subject: [PATCH 221/225] Fig compilation error

due to qt version this property can not be compiled
---
 src/qt/forms/sendcoinsentry.ui | 54 ----------------------------------
 1 file changed, 54 deletions(-)

diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui
index f0523f9eaacb..c6be99319087 100644
--- a/src/qt/forms/sendcoinsentry.ui
+++ b/src/qt/forms/sendcoinsentry.ui
@@ -441,15 +441,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -587,15 +578,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -733,15 +715,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>
@@ -975,15 +948,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </active>
      <inactive>
       <colorrole role="WindowText">
@@ -1130,15 +1094,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </inactive>
      <disabled>
       <colorrole role="WindowText">
@@ -1285,15 +1240,6 @@
         </color>
        </brush>
       </colorrole>
-      <colorrole role="PlaceholderText">
-       <brush brushstyle="NoBrush">
-        <color alpha="128">
-         <red>0</red>
-         <green>0</green>
-         <blue>0</blue>
-        </color>
-       </brush>
-      </colorrole>
      </disabled>
     </palette>
    </property>

From 7efc02ce80c4f3e498484c8305a360fb69815e9c Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Thu, 28 Mar 2019 11:10:04 -0600
Subject: [PATCH 222/225] New icon colors, images added on css now and table
 colors change

---
 src/Makefile.qt.include                       |   5 +
 src/qt/bitcoingui.cpp                         |   4 +-
 src/qt/forms/overviewpage.ui                  |   2 +-
 src/qt/forms/privatepage.ui                   |   2 +-
 src/qt/forms/receivecoinsdialog.ui            |  89 +-
 src/qt/forms/sendcoinsdialog.ui               | 855 +++++++++---------
 src/qt/guiutil.cpp                            |   5 +-
 src/qt/paccoin.qrc                            |   6 +
 src/qt/res/css/light.css                      |  70 +-
 src/qt/res/css/pac.css                        |  30 +-
 src/qt/res/icons/light/address-book.png       | Bin 559 -> 321 bytes
 src/qt/res/icons/light/editcopy.png           | Bin 478 -> 319 bytes
 src/qt/res/icons/light/editpaste.png          | Bin 2433 -> 1993 bytes
 src/qt/res/icons/light/eye.png                | Bin 4315 -> 2830 bytes
 src/qt/res/icons/light/eye_minus.png          | Bin 4456 -> 2934 bytes
 src/qt/res/icons/light/eye_plus.png           | Bin 4582 -> 3129 bytes
 src/qt/res/icons/light/info.png               | Bin 338 -> 218 bytes
 src/qt/res/icons/light/refresh.png            | Bin 0 -> 2240 bytes
 src/qt/res/icons/light/remove.png             | Bin 228 -> 167 bytes
 src/qt/res/icons/light/tx_inout.png           | Bin 412 -> 304 bytes
 src/qt/res/icons/light/tx_input.png           | Bin 238 -> 133 bytes
 src/qt/res/icons/light/tx_mined.png           | Bin 16223 -> 570 bytes
 src/qt/res/icons/light/tx_output.png          | Bin 233 -> 135 bytes
 src/qt/res/icons/pac/refresh.png              | Bin 0 -> 3766 bytes
 .../images/light/drkblue_downArrow_black.png  | Bin 0 -> 149 bytes
 .../images/light/drkblue_downArrow_small.png  | Bin 4487 -> 135 bytes
 .../light/drkblue_downArrow_small_black.png   | Bin 0 -> 141 bytes
 .../images/light/drkblue_upArrow_small.png    | Bin 4480 -> 137 bytes
 .../light/drkblue_upArrow_small_black.png     | Bin 0 -> 139 bytes
 src/qt/sendcoinsentry.cpp                     |   7 -
 30 files changed, 609 insertions(+), 466 deletions(-)
 create mode 100644 src/qt/res/icons/light/refresh.png
 create mode 100644 src/qt/res/icons/pac/refresh.png
 create mode 100644 src/qt/res/images/light/drkblue_downArrow_black.png
 create mode 100644 src/qt/res/images/light/drkblue_downArrow_small_black.png
 create mode 100644 src/qt/res/images/light/drkblue_upArrow_small_black.png

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 9e4b9ed18b17..d5ef72a19e85 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -342,6 +342,7 @@ RES_ICONS = \
   qt/res/icons/light/overview.png \
   qt/res/icons/light/quit.png \
   qt/res/icons/light/receive.png \
+  qt/res/icons/light/refresh.png \
   qt/res/icons/light/remove.png \
   qt/res/icons/light/send.png \
   qt/res/icons/light/synced.png \
@@ -423,6 +424,7 @@ RES_ICONS = \
   qt/res/icons/pac/connect2_16.png \
   qt/res/icons/pac/connect3_16.png \
   qt/res/icons/pac/connect4_16.png \
+  qt/res/icons/pac/refresh.png \
   qt/res/icons/pac/transaction0.png \
   qt/res/icons/pac/transaction2.png \
   qt/res/icons/pac/transaction_conflicted.png \
@@ -574,8 +576,11 @@ RES_IMAGES = \
   qt/res/images/light/unchecked.png \
   qt/res/images/light/checked.png \
   qt/res/images/light/drkblue_downArrow.png \
+  qt/res/images/light/drkblue_downArrow_black.png \
   qt/res/images/light/drkblue_downArrow_small.png \
   qt/res/images/light/drkblue_upArrow_small.png \
+  qt/res/images/light/drkblue_downArrow_small_black.png \
+  qt/res/images/light/drkblue_upArrow_small_black.png \
   qt/res/images/light/drkblue_leftArrow_small.png \
   qt/res/images/light/drkblue_rightArrow_small.png \
   qt/res/images/light/drkblue_qtreeview_selected.png \
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 384a9eadc24e..91bdee954cbc 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -763,14 +763,14 @@ void BitcoinGUI::createHeaderBar()
     btnRefresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnRefresh->setFixedHeight(20);
     btnRefresh->setFixedWidth(20);
-    btnRefresh->setIcon(QIcon(":/movies/spinner-000"));
+    btnRefresh->setObjectName("refreshTopBar");
 
     btnCopyNews->setProperty("class","QuickButton");
     btnCopyNews->setToolTip("Copy news.");
     btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnCopyNews->setFixedHeight(24);
     btnCopyNews->setFixedWidth(24);
-    btnCopyNews->setIcon(QIcon(":/icons/pac/editcopy"));
+    btnCopyNews->setObjectName("copyNews");
 
     profileImgLayout->setContentsMargins(0,0,0,0);
     profileImgLayout->addWidget(btnImg);
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 1ac60110d448..668bd0b0cdec 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -828,7 +828,7 @@
                  </size>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
+                 <string notr="true"/>
                 </property>
                 <property name="text">
                  <string/>
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index d96d965190fb..bb6f871a52a8 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -142,7 +142,7 @@
                  <string>Information about PrivateSend and Mixing</string>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
+                 <string notr="true"/>
                 </property>
                 <property name="text">
                  <string/>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 9f8cf5993947..3ed2d18f2d2e 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -17,9 +17,7 @@
    </sizepolicy>
   </property>
   <property name="styleSheet">
-   <string notr="true">QFrame{
-  border:none;
-}</string>
+   <string notr="true"/>
   </property>
   <property name="class" stdset="0">
    <string>container</string>
@@ -483,29 +481,68 @@
           <number>15</number>
          </property>
          <item>
-          <widget class="QLabel" name="label_5">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="minimumSize">
-            <size>
-             <width>0</width>
-             <height>0</height>
-            </size>
-           </property>
-           <property name="text">
-            <string>AVAILABLE BALANCE</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignCenter</set>
-           </property>
-           <property name="class" stdset="0">
-            <string>titleLabel</string>
-           </property>
-          </widget>
+          <layout class="QHBoxLayout" name="horizontalLayout_8">
+           <item>
+            <spacer name="horizontalSpacer_9">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QLabel" name="label_5">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>AVAILABLE BALANCE</string>
+             </property>
+             <property name="alignment">
+              <set>Qt::AlignCenter</set>
+             </property>
+             <property name="class" stdset="0">
+              <string>titleLabel</string>
+             </property>
+             <property name="class2" stdset="0">
+              <string>yellowUnderline</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_8">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_5">
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index d6eca4c7a9ec..b86b6d7ae7a1 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1311,7 +1311,7 @@
                  <string>Copy PACs</string>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true">border-image: url(:/icons/pac/editcopy);</string>
+                 <string notr="true"/>
                 </property>
                 <property name="text">
                  <string/>
@@ -1400,359 +1400,7 @@
         </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
-          <item row="4" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
-            <property name="spacing">
-             <number>10</number>
-            </property>
-            <item>
-             <widget class="QLabel" name="labelFeeHeadline">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">font-weight:bold;</string>
-              </property>
-              <property name="text">
-               <string>Transaction Fee: </string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelFeeMinimized">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-           </layout>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="labelAvailableUSD">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="text">
-             <string>$ 0.0 USD</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-            <property name="class" stdset="0">
-             <string>usdLabel</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_5">
-            <property name="spacing">
-             <number>0</number>
-            </property>
-            <item>
-             <spacer name="horizontalSpacer_8">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QLabel" name="iconLabelAvailableBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>30</width>
-                <height>30</height>
-               </size>
-              </property>
-              <property name="styleSheet">
-               <string notr="true"/>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>labelPacIcon</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>0</width>
-                <height>50</height>
-               </size>
-              </property>
-              <property name="locale">
-               <locale language="English" country="UnitedStates"/>
-              </property>
-              <property name="text">
-               <string>123,456.00</string>
-              </property>
-              <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_7">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </item>
-          <item row="13" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_6">
-            <property name="spacing">
-             <number>0</number>
-            </property>
-            <item>
-             <spacer name="horizontalSpacer_4">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::MinimumExpanding</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>15</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QPushButton" name="addButton">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>0</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="maximumSize">
-               <size>
-                <width>170</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="toolTip">
-               <string>Send to multiple recipients at once</string>
-              </property>
-              <property name="text">
-               <string>Add &amp;Recipient</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_18">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>10</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QPushButton" name="clearButton">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>0</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="maximumSize">
-               <size>
-                <width>170</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="toolTip">
-               <string>Clear all fields of the form.</string>
-              </property>
-              <property name="text">
-               <string>Clear &amp;All</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_12">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::MinimumExpanding</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>15</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </item>
-          <item row="11" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_9">
-            <item>
-             <spacer name="horizontalSpacer_20">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::MinimumExpanding</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>15</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QPushButton" name="sendButton">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>0</width>
-                <height>0</height>
-               </size>
-              </property>
-              <property name="maximumSize">
-               <size>
-                <width>16777215</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="toolTip">
-               <string>Confirm the send action</string>
-              </property>
-              <property name="text">
-               <string>S&amp;end</string>
-              </property>
-              <property name="autoDefault">
-               <bool>false</bool>
-              </property>
-              <property name="default">
-               <bool>true</bool>
-              </property>
-              <property name="class" stdset="0">
-               <string>accentButton</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_21">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::MinimumExpanding</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>15</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </item>
-          <item row="6" column="0">
+          <item row="7" column="0">
            <widget class="QScrollArea" name="scrollAreaFees">
             <property name="styleSheet">
              <string notr="true">#scrollArea_2{ padding: 5px;}</string>
@@ -2291,110 +1939,501 @@
             </widget>
            </widget>
           </item>
-          <item row="5" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_8">
+          <item row="6" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_8">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <item>
+             <widget class="QPushButton" name="buttonMinimizeFee">
+              <property name="maximumSize">
+               <size>
+                <width>80</width>
+                <height>18</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>collapse fee-settings</string>
+              </property>
+              <property name="text">
+               <string>Hide</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="buttonChooseFee">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>80</width>
+                <height>18</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>Choose...</string>
+              </property>
+              <property name="class" stdset="0">
+               <string>linkButton</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="11" column="0">
+           <spacer name="verticalSpacer_7">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>0</width>
+              <height>5</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="0" column="0">
+           <spacer name="verticalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>15</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="14" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_6">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <item>
+             <spacer name="horizontalSpacer_4">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>15</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="addButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>170</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>Send to multiple recipients at once</string>
+              </property>
+              <property name="text">
+               <string>Add &amp;Recipient</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_18">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>10</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="clearButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>170</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>Clear all fields of the form.</string>
+              </property>
+              <property name="text">
+               <string>Clear &amp;All</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_12">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>15</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item row="12" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_9">
+            <item>
+             <spacer name="horizontalSpacer_20">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>15</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="sendButton">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>16777215</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string>Confirm the send action</string>
+              </property>
+              <property name="text">
+               <string>S&amp;end</string>
+              </property>
+              <property name="autoDefault">
+               <bool>false</bool>
+              </property>
+              <property name="default">
+               <bool>true</bool>
+              </property>
+              <property name="class" stdset="0">
+               <string>accentButton</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_21">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::MinimumExpanding</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>15</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item row="3" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_5">
             <property name="spacing">
              <number>0</number>
             </property>
             <item>
-             <widget class="QPushButton" name="buttonMinimizeFee">
-              <property name="maximumSize">
+             <spacer name="horizontalSpacer_8">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
                <size>
-                <width>80</width>
-                <height>18</height>
+                <width>40</width>
+                <height>20</height>
                </size>
               </property>
-              <property name="toolTip">
-               <string>collapse fee-settings</string>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="iconLabelAvailableBalance">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>30</width>
+                <height>30</height>
+               </size>
+              </property>
+              <property name="styleSheet">
+               <string notr="true"/>
               </property>
               <property name="text">
-               <string>Hide</string>
+               <string/>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="class" stdset="0">
-               <string>linkButton</string>
+               <string>labelPacIcon</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QPushButton" name="buttonChooseFee">
+             <widget class="QLabel" name="labelBalance">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
-              <property name="maximumSize">
+              <property name="minimumSize">
                <size>
-                <width>80</width>
-                <height>18</height>
+                <width>0</width>
+                <height>50</height>
                </size>
               </property>
+              <property name="locale">
+               <locale language="English" country="UnitedStates"/>
+              </property>
               <property name="text">
-               <string>Choose...</string>
+               <string>123,456.00</string>
               </property>
               <property name="class" stdset="0">
-               <string>linkButton</string>
+               <string>pacCoinsLabel</string>
               </property>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_7">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
-          <item row="0" column="0">
-           <spacer name="verticalSpacer_5">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>15</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_2">
+          <item row="4" column="0">
+           <widget class="QLabel" name="labelAvailableUSD">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
             <property name="minimumSize">
              <size>
-              <width>100</width>
-              <height>15</height>
+              <width>0</width>
+              <height>30</height>
              </size>
             </property>
             <property name="text">
-             <string>AVAILABLE BALANCE</string>
+             <string>$ 0.0 USD</string>
             </property>
             <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
             <property name="class" stdset="0">
-             <string>titleLabel</string>
+             <string>usdLabel</string>
             </property>
            </widget>
           </item>
-          <item row="10" column="0">
-           <spacer name="verticalSpacer_7">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>0</width>
-              <height>5</height>
-             </size>
+          <item row="5" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+            <property name="spacing">
+             <number>10</number>
             </property>
-           </spacer>
+            <item>
+             <widget class="QLabel" name="labelFeeHeadline">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">font-weight:bold;</string>
+              </property>
+              <property name="text">
+               <string>Transaction Fee: </string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelFeeMinimized">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="1" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_14">
+            <item>
+             <spacer name="horizontalSpacer_26">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_2">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>100</width>
+                <height>15</height>
+               </size>
+              </property>
+              <property name="text">
+               <string>AVAILABLE BALANCE</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+              <property name="class" stdset="0">
+               <string>titleLabel</string>
+              </property>
+              <property name="class2" stdset="0">
+               <string>yellowUnderline</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_25">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
           </item>
          </layout>
         </item>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 7a6f910f015f..ee38fba36c3a 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -916,9 +916,10 @@ QString getThemeName()
     QString theme = settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        return theme;
+        //return theme;
+        return QString("light");
     }
-    return QString("pac");
+    return QString("light");
 }
 void setGUITextColor(){
     QString theme = getThemeName();
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index a19439554bb6..b3f93e95b37d 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -184,6 +184,8 @@
         <file alias="fontsmaller">res/icons/light/fontsmaller.png</file>
         <file alias="transaction_abandoned">res/icons/light/transaction_abandoned.png</file>
         <file alias="network_disabled">res/icons/light/network_disabled.png</file>
+        <file alias="refresh">res/icons/light/refresh.png</file>
+        <file alias="info">res/icons/light/info.png</file>
     </qresource>
     <qresource prefix="/icons/pac">
         <file alias="address-book">res/icons/pac/address-book.png</file>
@@ -243,6 +245,7 @@
         <file alias="network_disabled">res/icons/pac/network_disabled.png</file>
         <file alias="info">res/icons/pac/info.png</file>
         <file alias="private">res/icons/pac/private.png</file>
+        <file alias="refresh">res/icons/pac/refresh.png</file>
     </qresource>
     <qresource prefix="/icons/trad">
         <file alias="address-book">res/icons/trad/address-book.png</file>
@@ -359,6 +362,9 @@
         <file alias="unchecked_b">res/images/light/unchecked_b.png</file>
         <file alias="unchecked_dis">res/images/light/unchecked_dis.png</file>
         <file alias="drkblue_walletFrame_bg">res/images/light/drkblue_walletFrame_bg.png</file>
+        <file alias="drkblue_downArrow_small_black">res/images/light/drkblue_downArrow_small_black.png</file>
+        <file alias="drkblue_upArrow_small_black">res/images/light/drkblue_upArrow_small_black.png</file>
+        <file alias="drkblue_downArrow_black">res/images/light/drkblue_downArrow_black.png</file>
     </qresource>
     <qresource prefix="/images/pac">
         <file alias="about">res/images/pac/about.png</file>
diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index ccd5c5eddd15..683952c574aa 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -72,6 +72,7 @@ QComboBox{
 }
 QComboBox::down-arrow {
     border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border:none;
 }
 QComboBox::drop-down {
     width:25px;
@@ -102,7 +103,6 @@ QTabBar{
     margin-left: 20px;
 }
 QTabBar::tab {
-    /*background:red;*/
     border: 0px solid transparent;
     border-bottom-color: transparent; /* same as the pane color */
     padding: 1px;
@@ -209,6 +209,7 @@ QLabel[class="usdLabel"]{
 QLabel[class="labelPacIcon"]{
     margin: 0px;
 }
+/* On the overview something is not working properly, that is the reason on doing the underline like this */
 QLabel[class2="yellowUnderline"]{
     border: 2px solid yellow;
     border-left:transparent;
@@ -243,7 +244,7 @@ QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
 }
 QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
     margin: 3px 0px 3px 0px;
-    border-image: url(:/images/light/drkblue_upArrow_small);
+    border-image: url(:/images/light/drkblue_upArrow_small_black);
     height: 10px;
     width: 10px;
     subcontrol-position: top;
@@ -251,21 +252,21 @@ QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
 }
 QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
     margin: 3px 0px 3px 0px;
-    border-image: url(:/images/light/drkblue_downArrow_small);
+    border-image: url(:/images/light/drkblue_downArrow_small_black);
     height: 10px;
     width: 10px;
     subcontrol-position: bottom;
     subcontrol-origin: margin;
 }
 QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on , QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on{
-    border-image: url(:/images/light/drkblue_upArrow_small);
+    border-image: url(:/images/light/drkblue_upArrow_small_black);
     height: 10px;
     width: 10px;
     subcontrol-position: top;
     subcontrol-origin: margin;
 }
 QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on, QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on{
-    border-image: url(:/images/light/drkblue_downArrow_small);
+    border-image: url(:/images/light/drkblue_downArrow_small_black);
     height: 10px;
     width: 10px;
     subcontrol-position: bottom;
@@ -303,7 +304,7 @@ QAbstractSpinBox::up-button {
     padding-top:2px;
 }
 QAbstractSpinBox::up-arrow {
-    image: url(':/images/light/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    image: url(':/images/light/drkblue_upArrow_small_black') 0 0 0 0 stretch stretch;
 }
 QAbstractSpinBox::down-button {
     subcontrol-origin: border;
@@ -316,15 +317,16 @@ QAbstractSpinBox::down-button {
     padding-bottom:2px;
 }
 QAbstractSpinBox::down-arrow {
-    image: url(':/images/light/drkblue_downArrow_small') 0.5 0.5 0.5 0.5 stretch stretch;
+    image: url(':/images/light/drkblue_downArrow_small_black') 0.5 0.5 0.5 0.5 stretch stretch;
 }
 /* Global tables */
 QHeaderView { /* Top of the table Header */
-    background-color: rgb(96, 96, 96);
+    background-color: #212121;
+    color: #fff;
 }
 QHeaderView::section { /* Top of the table Header Sections */
-    background-color: rgb(96, 96, 96);
-    color:#000;
+    background-color: #212121;
+    color:#fff;
     min-height:20px;
     height:35px;
     font-weight:bold;
@@ -344,7 +346,7 @@ QHeaderView::down-arrow{
     margin-right: 5px;
 }
 QHeaderView::up-arrow{
-    image: url(':/images/light/drkblue_upArrow_small') 0 0 0 0 stretch stretch;
+    image: url(':/images/light/drkblue_upArrow') 0 0 0 0 stretch stretch;
     width: 13px;
     height: 13px;
     margin-right: 5px;
@@ -354,21 +356,23 @@ QScrollArea {
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    background-color: rgba(0,0,0,0.5); 
+    background-color: #e5e5e5;
     border:none;
+    border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
+    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
 }
 QTableView::item { /* Table Item */
     font-size:12px;
 }
 QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable, QTableView#tableView{ /* Text color not for proposals */
-    color: white;
+    color: gray;
 }
 QTableView::item:selected { /* Table Item Selected */
     background-color: rgb(70, 70, 70);
 }
 QTableWidget{
-    background-color: rgba(0,0,0,0.5); 
-    color: white;
+    background-color: #e5e5e5;
+    color: gray;
 }
 /* ToolBar Menu */
 QToolBar {
@@ -521,7 +525,7 @@ BitcoinAmountField QComboBox::drop-down {
     border:0px;
 }
 BitcoinAmountField QComboBox::down-arrow {
-    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/light/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
 }
 BitcoinAmountField QComboBox QListView{
     color: #000;
@@ -579,13 +583,21 @@ BitcoinAmountField QComboBox::indicator {
     border-radius: 40px;
     background: red !important;
 }
-
+#refreshTopBar{
+    qproperty-icon: url(":/icons/light/refresh");
+}
+#copyNews{
+    qproperty-icon: url(":/icons/light/editcopy");
+}
 /*
  * Overview Page
 */
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
+#overviewInfo{
+    border-image: url(":/icons/light/info");
+}
 
 /*
  * SendCoins Page
@@ -625,12 +637,29 @@ BitcoinAmountField QComboBox::indicator {
 #verticalWidget{
     margin-left: 25px !important;
 }
+#copyPacs{
+    border-image: url(:/icons/light/editcopy);
+}
+
+/*
+ * Send coins Entry
+ */
+ #addressBookButton{
+    border-image: url(":/icons/light/address-book");
+ }
+ #pasteButton{
+    border-image: url(":/icons/light/editcopy");
+ }
+ #deleteButton, #deleteButton_s, #deleteButton_is{
+    border-image: url(":/icons/light/remove");
+ }
 
 /*
  * ReceiveCoins Page
  */
 #ReceiveCoinsDialog{
     margin: 12px 42px 18px 42px;
+    border: 0px;
 }
 #removeRequestButton{
     color: #FF1D1D;
@@ -688,6 +717,9 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     background: transparent;
     border: 0px;
 }
+#privateSendInfo{
+    border-image: url(":/icons/light/info");
+}
 
 /*
  * Proposal Page
@@ -727,17 +759,19 @@ MasternodeList > QTabBar::tab{
     min-width:180px;
 }
 #filterLineEdit{
-    background-color: #0B0B0B;
+    /*background-color: #0B0B0B;*/
     border-radius: 12px;
     height: 24px;
 }
 #tabWidget>QTabBar::tab {
     background-color: #1D1D1D !important;
     min-height: 25px;
+    color: white;
 }
 #tabWidget>QTabBar::tab:selected{
     background-color: #383737 !important;
     border: 1px solid black !important;
+    color: white;
 }
 
 /*
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 39892255bdf4..0809764272db 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -70,7 +70,7 @@ QComboBox{
     min-height: 24px !important;
 }
 QComboBox::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/pac/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
 }
 QComboBox::drop-down {
     width:25px;
@@ -571,6 +571,12 @@ BitcoinAmountField QComboBox::indicator {
     border-radius: 40px;
     background: red !important;
 }
+#refreshTopBar{
+    qproperty-icon: url(":/icons/pac/refresh");
+}
+#copyNews{
+    qproperty-icon: url(":/icons/light/editcopy");
+}
 
 /*
  * Overview Page
@@ -578,6 +584,9 @@ BitcoinAmountField QComboBox::indicator {
 #frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
     text-transform:uppercase;
 }
+#overviewInfo{
+    border-image: url(":/icons/pac/info");
+}
 
 /*
  * SendCoins Page
@@ -617,6 +626,22 @@ BitcoinAmountField QComboBox::indicator {
 #verticalWidget{
     margin-left: 25px !important;
 }
+#copyPacs{
+    border-image: url(:/icons/pac/editcopy);
+}
+
+/*
+ * Send coins Entry
+ */
+ #addressBookButton{
+    border-image: url(":/icons/pac/address-book");
+ }
+ #pasteButton{
+    border-image: url(":/icons/pac/editcopy");
+ }
+ #deleteButton, #deleteButton_s, #deleteButton_is{
+    border-image: url(":/icons/pac/remove");
+ }
 
 /*
  * ReceiveCoins Page
@@ -680,6 +705,9 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     background: transparent;
     border: 0px;
 }
+#privateSendInfo{
+    border-image: url(":/icons/pac/info");
+}
 
 /*
  * Proposal Page
diff --git a/src/qt/res/icons/light/address-book.png b/src/qt/res/icons/light/address-book.png
index c593b5e1480668acf6a5b32b0c0b803b0d7aa3cf..74e21c13068aa98ee0d2e60fe722d32db0531b9b 100755
GIT binary patch
diff --git a/src/qt/res/icons/light/editcopy.png b/src/qt/res/icons/light/editcopy.png
index c9c1b5ea7bd1a361ad03cad4ab52c6655f09bc20..d8cfd5209e9f6d7f608d394d62389b166c5e1d49 100755
GIT binary patch
diff --git a/src/qt/res/icons/light/editpaste.png b/src/qt/res/icons/light/editpaste.png
index 17d9036954ef14edf1d3b98d935f83a06f3bd012..59ee7336bd3c2edfcd45ba88964f33fc7d4ca70e 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye.png b/src/qt/res/icons/light/eye.png
index b833c638a5cfe2c8a1025db37081041235ef445b..2dd0e842be6774280e1f9c56d6a4f213426b2e87 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_minus.png b/src/qt/res/icons/light/eye_minus.png
index 649d9e411596422b99b67be26ae13bf12813d0e1..c24e3b420b210dc8723537813069c8eca8777105 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_plus.png b/src/qt/res/icons/light/eye_plus.png
index 7e7ca0e2db96d3c00f4badd27ff9166b43c18302..358348228f1f4ea546971f86c4d077b2b695fabb 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/info.png b/src/qt/res/icons/light/info.png
index e2288885cf054cf8e6c236e26b1b43e638690f19..d7a56045579265afe2b991aec135d0a185dad20a 100755
GIT binary patch
diff --git a/src/qt/res/icons/light/refresh.png b/src/qt/res/icons/light/refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f6490d1d5fa9149a397f57e5afcb280bd9e4479
GIT binary patch
diff --git a/src/qt/res/icons/light/remove.png b/src/qt/res/icons/light/remove.png
index 57528e9a9864d4601c1aa2710c7cbd7f3e17647d..2aed988bf04c523843c88019d309b2e300530e5f 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_inout.png b/src/qt/res/icons/light/tx_inout.png
index c93f8ac55ab46fd691bcd86ddbb1197164cd1467..2fdd34829c70fe37cb77610d78febf2ffd6ff7c6 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_input.png b/src/qt/res/icons/light/tx_input.png
index 87c27a3d5c17efe6b477fc2cc88bae22c28608ae..d1e4d7f6851c57d597aecb15e311a1b966d8961e 100755
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_mined.png b/src/qt/res/icons/light/tx_mined.png
index eb69891486b8d3c358a56181f972622841d2ed76..7cc230ceeddd20543d7956d2117f6a8ff49334f9 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_output.png b/src/qt/res/icons/light/tx_output.png
index 54fb9fcc8b9b3b3dcd69be0a30d35b1bc610e04d..41799a8c5982038062f2c9c396ee34adbcf894cd 100755
GIT binary patch
diff --git a/src/qt/res/icons/pac/refresh.png b/src/qt/res/icons/pac/refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..e09965cd878550f3fdb07cc90b2fb3d8873fa180
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_black.png b/src/qt/res/images/light/drkblue_downArrow_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e9cc18d8ebf5441add704a7b73777fc67c352bd
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_small.png b/src/qt/res/images/light/drkblue_downArrow_small.png
index ff9e17b19722e1f4824949eb8d4ca9a64e500779..4c465ad6c1c41f1ae63347b6981970eacd40b0d8 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_small_black.png b/src/qt/res/images/light/drkblue_downArrow_small_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..83e714c1ba62ee82f59dbed80c582852789c390b
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_upArrow_small.png b/src/qt/res/images/light/drkblue_upArrow_small.png
index 1fa99310358e3c993948dd2771c14691090d5171..02ea1610b6465d2c42f2e5c50380239507dfaf54 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_upArrow_small_black.png b/src/qt/res/images/light/drkblue_upArrow_small_black.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b71a5ff8639f0d699f7576d12c1462d8154513a
GIT binary patch
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 36c8f4752ff7..5940b38fb3d2 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -40,13 +40,6 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(QFont(fontType,13, 1, false));
     }
-
-    // These icons are needed on Mac also!
-    ui->addressBookButton->setIcon(QIcon(":/icons/" + theme + "/address-book"));
-    ui->pasteButton->setIcon(QIcon(":/icons/" + theme + "/editpaste"));
-    ui->deleteButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
-    ui->deleteButton_is->setIcon(QIcon(":/icons/" + theme + "/remove"));
-    ui->deleteButton_s->setIcon(QIcon(":/icons/" + theme + "/remove"));
       
     // normal paccoin address field
     GUIUtil::setupAddressWidget(ui->payTo, this);

From 0fa91a0e665e62cb76febe81fdff40031d928229 Mon Sep 17 00:00:00 2001
From: Kevin <kevin_defimex@hotmail.com>
Date: Fri, 29 Mar 2019 09:42:52 -0600
Subject: [PATCH 223/225] UI enhancement

---
 src/qt/forms/privatepage.ui                   |  69 ++++++++++++++----
 src/qt/forms/receivecoinsdialog.ui            |  50 +++----------
 src/qt/paccoin.qrc                            |   1 +
 src/qt/res/css/light.css                      |  47 +++++++-----
 src/qt/res/css/pac.css                        |   5 +-
 .../images/light/drkblue_walletFrame_bg.png   | Bin 1595000 -> 8891 bytes
 .../images/light/drkblue_walletFrame_bg2.png  | Bin 0 -> 1595000 bytes
 7 files changed, 96 insertions(+), 76 deletions(-)
 create mode 100644 src/qt/res/images/light/drkblue_walletFrame_bg2.png

diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index bb6f871a52a8..b6358fed1f2c 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -155,21 +155,60 @@
              </layout>
             </item>
             <item>
-             <widget class="QLabel" name="labelPrivateSendHeader">
-              <property name="font">
-               <font>
-                <pointsize>18</pointsize>
-                <weight>50</weight>
-                <bold>false</bold>
-               </font>
-              </property>
-              <property name="text">
-               <string>PRIVATE</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-             </widget>
+             <layout class="QHBoxLayout" name="horizontalLayout_3">
+              <item>
+               <spacer name="horizontalSpacer_7">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Preferred</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item>
+               <widget class="QLabel" name="labelPrivateSendHeader">
+                <property name="font">
+                 <font>
+                  <pointsize>18</pointsize>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="text">
+                 <string>PRIVATE</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignCenter</set>
+                </property>
+                <property name="class2" stdset="0">
+                 <string>yellowUnderline</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_8">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeType">
+                 <enum>QSizePolicy::Preferred</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
             </item>
            </layout>
           </item>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 3ed2d18f2d2e..705f04c78639 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -768,11 +768,17 @@
             </widget>
            </item>
            <item>
-            <widget class="QToolButton" name="btnCopyLastAddress">
+            <widget class="QPushButton" name="btnCopyLastAddress">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
              <property name="minimumSize">
               <size>
-               <width>0</width>
-               <height>0</height>
+               <width>30</width>
+               <height>30</height>
               </size>
              </property>
              <property name="maximumSize">
@@ -781,43 +787,9 @@
                <height>30</height>
               </size>
              </property>
-             <property name="toolTip">
-              <string>Copy Last PAC Address Generated</string>
-             </property>
              <property name="text">
               <string/>
              </property>
-             <property name="icon">
-              <iconset resource="../paccoin.qrc">
-               <normaloff>:/icons/pac/editcopy</normaloff>:/icons/pac/editcopy</iconset>
-             </property>
-             <property name="iconSize">
-              <size>
-               <width>24</width>
-               <height>24</height>
-              </size>
-             </property>
-             <property name="checkable">
-              <bool>false</bool>
-             </property>
-             <property name="autoRepeat">
-              <bool>false</bool>
-             </property>
-             <property name="autoExclusive">
-              <bool>false</bool>
-             </property>
-             <property name="popupMode">
-              <enum>QToolButton::InstantPopup</enum>
-             </property>
-             <property name="toolButtonStyle">
-              <enum>Qt::ToolButtonIconOnly</enum>
-             </property>
-             <property name="autoRaise">
-              <bool>true</bool>
-             </property>
-             <property name="arrowType">
-              <enum>Qt::NoArrow</enum>
-             </property>
              <property name="class" stdset="0">
               <string>QuickButton</string>
              </property>
@@ -969,8 +941,6 @@
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
  </tabstops>
- <resources>
-  <include location="../paccoin.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index b3f93e95b37d..c9147ecf1b63 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -186,6 +186,7 @@
         <file alias="network_disabled">res/icons/light/network_disabled.png</file>
         <file alias="refresh">res/icons/light/refresh.png</file>
         <file alias="info">res/icons/light/info.png</file>
+        <file alias="private">res/icons/light/private.png</file>
     </qresource>
     <qresource prefix="/icons/pac">
         <file alias="address-book">res/icons/pac/address-book.png</file>
diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index 683952c574aa..f370c094f04f 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -43,8 +43,8 @@ QLabel, QGroupBox::title{
 }
 /* General window */
 QMainWindow{
-    /*border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;*/
-    background: #d1d1d1;
+    border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
+    /*background: #d1d1d1;*/
 }
 /* Global message box */
 QMessageBox {
@@ -58,8 +58,8 @@ QToolTip {
 }
 /* Global dialogs*/
 QDialog{
-    background-color:rgb(89, 89, 89);
-    color:white;
+    background-color: #aaaaaa;
+    color:black;
 }
 /* Global ComboBox */
 QComboBox{
@@ -71,7 +71,7 @@ QComboBox{
     min-height: 24px !important;
 }
 QComboBox::down-arrow {
-    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/light/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
     border:none;
 }
 QComboBox::drop-down {
@@ -110,7 +110,8 @@ QTabBar::tab {
     color:#000;
 }
 QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
-    background-color: #494949 !important;
+    background-color: rgb(128,128,128) !important;
+    color:#F4EA13;
 }
 QTabBar::tab:selected {
     border-color: transparent !important;
@@ -136,10 +137,12 @@ QStatusBar{
 }
 /* Global with classes */
 [class="container"]{
-    background-color: #e5e5e5;
+    /*background-color: #f2f2f2;*/
+    background-color: rgba(242, 242, 242, 0.75);
     border: 0px;
+    /*background-color: #e5e5e5;
     border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
-    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
+    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);*/
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
     border: 0px;
@@ -211,7 +214,7 @@ QLabel[class="labelPacIcon"]{
 }
 /* On the overview something is not working properly, that is the reason on doing the underline like this */
 QLabel[class2="yellowUnderline"]{
-    border: 2px solid yellow;
+    border: 2px solid #FDF002;
     border-left:transparent;
     border-right:transparent;
     border-top:transparent;
@@ -356,10 +359,11 @@ QScrollArea {
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    background-color: #e5e5e5;
+    /*background-color: #e5e5e5;*/
+    background-color: rgba(242, 242, 242, 0.75);
     border:none;
-    border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
-    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
+    /*border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
+    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);*/
 }
 QTableView::item { /* Table Item */
     font-size:12px;
@@ -433,12 +437,12 @@ QPushButton:pressed {
 [class="linkButton"]{
     background-color: transparent !important;
     border: none !important;
-    color: #F4EA13;
+    color: #f2a710;
     font-size: 11px;
     text-decoration: underline;
 }
 [class="linkButton"]:hover, [class="linkButton"]:focus, #removeRequestButton:hover, #removeRequestButton:focus {
-    color:rgb(180,180,180);
+    color:rgb(142, 142, 142);
     background-color: transparent !important;
     border: 0px !important;
 }
@@ -672,6 +676,9 @@ BitcoinAmountField QComboBox::indicator {
     background: transparent !important;
     color: #8E8E8E !important;
 }
+#btnCopyLastAddress{
+    border-image: url(":/icons/light/editcopy");
+}
 
 /*
  * Transactions Page
@@ -694,24 +701,24 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     font-size: 27px;
     font-family:"Gotham", sans-serif;
     font-weight:bold;
-    color:#FFF;
+    color:#000;
 }
 #labelAnonymized{
     font-size: 48px;
     font-family:"Gotham Medium", sans-serif;
-    color: #FDF002;
+    color: #e5dc1b;
 }
 #labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
     text-transform:uppercase;
     font-size: 14px;
     font-family:"Gotham Medium", sans-serif;
-    color:#FFF;
+    color:#000;
 }
 #labelAmountRounds, #labelPrivateSendEnabled {
     text-transform:uppercase;
     font-size: 25px;
     font-family:"Gotham Medium", sans-serif;
-    color: #FDF002;
+    color: #e5dc1b;
 }
 #privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
     background: transparent;
@@ -771,14 +778,14 @@ MasternodeList > QTabBar::tab{
 #tabWidget>QTabBar::tab:selected{
     background-color: #383737 !important;
     border: 1px solid black !important;
-    color: white;
+    color: #fffbb2;
 }
 
 /*
  * OptionsDialog
 */
 #tabWidget_OptionsDialog QTabBar::tab {
-    background: rgb(50,50,50);
+    background: #666666;
     width:100px;
 }
 #tabWidget_OptionsDialog::pane {
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index 0809764272db..5076bb9827e6 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -70,7 +70,7 @@ QComboBox{
     min-height: 24px !important;
 }
 QComboBox::down-arrow {
-    border-image: url(':/images/pac/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
+    border-image: url(':/images/pac/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
 QComboBox::drop-down {
     width:25px;
@@ -660,6 +660,9 @@ BitcoinAmountField QComboBox::indicator {
     background: transparent !important;
     color: #8E8E8E !important;
 }
+#btnCopyLastAddress{
+    border-image: url(":/icons/pac/editcopy");
+}
 
 /*
  * Transactions Page
diff --git a/src/qt/res/images/light/drkblue_walletFrame_bg.png b/src/qt/res/images/light/drkblue_walletFrame_bg.png
index 6892cb164f487055d5157b99b1637f355538a001..13cd838b8075542faa11817c28e7fa68c81d0b54 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_walletFrame_bg2.png b/src/qt/res/images/light/drkblue_walletFrame_bg2.png
new file mode 100644
index 0000000000000000000000000000000000000000..6892cb164f487055d5157b99b1637f355538a001
GIT binary patch

From 0706d4727c9b9b7be0987e742cf35ebe582140e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Iv=C3=A1n=20Ibarra=20Pacheco?=
 <bytepacheco@gmail.com>
Date: Fri, 29 Mar 2019 13:06:35 -0600
Subject: [PATCH 224/225] CSS Light theme changes

---
 src/qt/res/css/light.css | 70 +++++++++++++++++++++-------------------
 1 file changed, 37 insertions(+), 33 deletions(-)

diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index f370c094f04f..1da6338f5996 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -39,7 +39,7 @@ QSlider::handle:disabled{
 /* Global labels a Box with a title */
 QLabel, QGroupBox::title{
     color: black !important;
-    font-weight:normal;
+    font-weight: normal;
 }
 /* General window */
 QMainWindow{
@@ -58,7 +58,7 @@ QToolTip {
 }
 /* Global dialogs*/
 QDialog{
-    background-color: #aaaaaa;
+    background-color: #eee;
     color:black;
 }
 /* Global ComboBox */
@@ -73,9 +73,12 @@ QComboBox{
 QComboBox::down-arrow {
     border-image: url(':/images/light/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
     border:none;
+    color: none;
+    background:transparent;
 }
 QComboBox::drop-down {
     width:25px;
+    height:200px;
 }
 QComboBox QListView {
     color: #000;
@@ -110,7 +113,7 @@ QTabBar::tab {
     color:#000;
 }
 QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
-    background-color: rgb(128,128,128) !important;
+    background-color: rgb(200,200,200) !important;
     color:#F4EA13;
 }
 QTabBar::tab:selected {
@@ -133,7 +136,7 @@ QProgressBar::chunk {
     max-height: 16px !important;
 }
 QStatusBar{
-    background-color: #212121;
+    background-color: #525252;
 }
 /* Global with classes */
 [class="container"]{
@@ -148,7 +151,7 @@ QStatusBar{
     border: 0px;
     outline:0;
     padding:3px;
-    background-color: rgb(168, 168, 168);
+    background-color: #fff;
     color: #000;
 }
 [class="LineEdit"], [class="LineEdit_PacCoins"]{
@@ -235,13 +238,13 @@ QScrollBar:vertical, QScrollBar:horizontal {
 }
 QScrollBar::handle:vertical, QScrollBar::handle:horizontal  {
     background-color: #787878;
-    border: 1px solid rgb(50,50,50);
+    border: 1px solid rgb(200,200,200);
     min-height: 8px;
     border-radius: 4px;
 }
 QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
-    background-color: rgb(243,232,56);
-    border: 1px solid rgb(243,232,56);
+    background-color: rgb(7,23,199);
+    border: 1px solid rgb(7,23,199);
     border-radius: 4px;
     min-height: 8px;
 }
@@ -281,19 +284,19 @@ QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::up-a
 QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{
     background: none;
 }
-/* Global spinbox */
+/* Global spinbox: BitcoinAmountField */
 QAbstractSpinBox {
     border-radius: 20px;
     font-size: 15px;
     min-height:40px;
-    background-color: rgb(168, 168, 168);
+    background-color: rgb(255, 255, 255);
     text-align: center;
     border:0px;
     color:#000;
     padding: 3px 5px 3px 5px;
 }
 QAbstractSpinBox:disabled{
-    background-color: rgb(61,61,61);
+    background-color: rgb(128,128,128);
     color: #efefef;
 }
 QAbstractSpinBox::up-button {
@@ -324,11 +327,11 @@ QAbstractSpinBox::down-arrow {
 }
 /* Global tables */
 QHeaderView { /* Top of the table Header */
-    background-color: #212121;
+    background-color: #292929;
     color: #fff;
 }
 QHeaderView::section { /* Top of the table Header Sections */
-    background-color: #212121;
+    background-color: #292929;
     color:#fff;
     min-height:20px;
     height:35px;
@@ -359,11 +362,8 @@ QScrollArea {
     border:2px solid transparent;
 }
 QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    /*background-color: #e5e5e5;*/
-    background-color: rgba(242, 242, 242, 0.75);
+    background-color: rgba(255, 255, 255, 0.75);
     border:none;
-    /*border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
-    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);*/
 }
 QTableView::item { /* Table Item */
     font-size:12px;
@@ -372,7 +372,7 @@ QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transaction
     color: gray;
 }
 QTableView::item:selected { /* Table Item Selected */
-    background-color: rgb(70, 70, 70);
+    background-color: rgb(68, 68, 68);
 }
 QTableWidget{
     background-color: #e5e5e5;
@@ -380,7 +380,7 @@ QTableWidget{
 }
 /* ToolBar Menu */
 QToolBar {
-    background-color: #212121;
+    background-color: #292929;
     border: 0px;
     padding: 0px;
     margin: 0px;
@@ -402,9 +402,9 @@ QToolBar > QToolButton:checked {
 }
 /* Global Button styles*/
 QPushButton {
-    background: rgba(0,0,0,0.5);
+    background: rgba(255,255,255,0.5);
     border: 1px solid #F4EA13;
-    color: #F4EA13;
+    color: #222;
     border-radius: 18px;
     height: 35px;
     width: 180px;
@@ -422,9 +422,9 @@ QPushButton:disabled {
     color:rgb(100,100,100) !important;
 }
 QPushButton:pressed {
-    background: rgba(243,232,56, 0.3) !important;
+    background: rgba(243,232,56, 0.5) !important;
     border: 0px !important;
-    color: rgb(243,232,56) !important;
+    color: rgb(255,255,255) !important;
 }
 /* Style of buttons with classes */
 [class="SmallButton"]{
@@ -504,7 +504,7 @@ QRadioButton::indicator:unchecked:disabled{
 /* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
 BitcoinAmountField QComboBox {
     border-radius: 20px;
-    background-color: rgb(168, 168, 168);
+    background-color: rgb(255, 255, 255);
     font-size: 15px;
     text-align: center;
     border:0px;
@@ -513,14 +513,14 @@ BitcoinAmountField QComboBox {
     color:#000;
 }
 BitcoinAmountField QComboBox:disabled{
-    background-color: rgb(61,61,61);
+    background-color: rgb(120,120,120);
     color: #efefef;
 }
 BitcoinAmountField QComboBox:checked{
-    background-color: rgba(219, 219, 219,0.5);
+    background-color: rgba(250, 250, 250,0.5);
 }
 BitcoinAmountField QComboBox:editable{
-    background-color: rgba(219, 219, 219,0.5);
+    background-color: rgba(250, 250, 250,0.5);
     color:#616161;
     border:0px;
 }
@@ -533,7 +533,7 @@ BitcoinAmountField QComboBox::down-arrow {
 }
 BitcoinAmountField QComboBox QListView{
     color: #000;
-    background-color:  rgb(168, 168, 168);
+    background-color:  rgb(255, 255, 255);
     border:1px solid transparent;
     border-radius: 5px;
     padding-right:1px;
@@ -546,11 +546,11 @@ BitcoinAmountField QComboBox::item {
     color:#000 !important;
 }
 BitcoinAmountField QComboBox::item:alternate{
-    background:rgb(20, 20, 20);
+    background:rgb(255, 255, 255);
 }
 BitcoinAmountField QComboBox::item:selected{
     border:0px solid transparent;
-    background-color:  rgb(40, 40, 40);
+    background-color:  rgb(255, 255, 255);
 }
 BitcoinAmountField QComboBox::indicator {
     background-color:transparent;
@@ -771,12 +771,12 @@ MasternodeList > QTabBar::tab{
     height: 24px;
 }
 #tabWidget>QTabBar::tab {
-    background-color: #1D1D1D !important;
+    background-color: #BDBDBD !important;
     min-height: 25px;
     color: white;
 }
 #tabWidget>QTabBar::tab:selected{
-    background-color: #383737 !important;
+    background-color: #BDBDBD !important;
     border: 1px solid black !important;
     color: #fffbb2;
 }
@@ -789,7 +789,7 @@ MasternodeList > QTabBar::tab{
     width:100px;
 }
 #tabWidget_OptionsDialog::pane {
-    background-color: rgba(50,50,50,0.35);
+    background-color: rgba(200,200,200,1);
 }
 #OptionsDialog > #resetButton{
     width:210px !important;
@@ -825,3 +825,7 @@ MasternodeList > QTabBar::tab{
     font-size: 13px;
     border-radius: 10px;
 }
+/* Modal overlay*/
+ModalOverlay > #bgWidget{
+    background:#D9D9D9;
+}

From 486a6ebe73ecf87dc3a21165abebafa0b9279623 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A1n=20Pacheco?= <bytepacheco@gmail.com>
Date: Fri, 29 Mar 2019 13:27:35 -0600
Subject: [PATCH 225/225] Revert "Merge branch 'new-ui_v1.5white' into
 new-ui_v1.4"

This reverts commit 2e2c5defe9291e348f7ffff0f931cef3c0bdf878.
---
 src/Makefile.qt.include                       |    5 -
 src/qt/bitcoingui.cpp                         |    4 +-
 src/qt/forms/overviewpage.ui                  |   75 +-
 src/qt/forms/privatepage.ui                   |   74 +-
 src/qt/forms/receivecoinsdialog.ui            |  139 +-
 src/qt/forms/sendcoinsdialog.ui               | 1485 +++++-----
 src/qt/guiutil.cpp                            |    9 +-
 src/qt/paccoin.qrc                            |   15 +-
 src/qt/res/css/light.css                      | 2454 +++++++++++------
 src/qt/res/css/pac.css                        |   29 +-
 src/qt/res/icons/light/address-book.png       |  Bin 321 -> 125 bytes
 src/qt/res/icons/light/clock1.png             |  Bin 673 -> 911 bytes
 src/qt/res/icons/light/clock2.png             |  Bin 1218 -> 911 bytes
 src/qt/res/icons/light/clock3.png             |  Bin 799 -> 921 bytes
 src/qt/res/icons/light/clock4.png             |  Bin 837 -> 917 bytes
 src/qt/res/icons/light/clock5.png             |  Bin 859 -> 929 bytes
 src/qt/res/icons/light/connect1_16.png        |  Bin 694 -> 810 bytes
 src/qt/res/icons/light/connect2_16.png        |  Bin 717 -> 833 bytes
 src/qt/res/icons/light/connect3_16.png        |  Bin 740 -> 823 bytes
 src/qt/res/icons/light/connect4_16.png        |  Bin 704 -> 794 bytes
 src/qt/res/icons/light/editcopy.png           |  Bin 319 -> 617 bytes
 src/qt/res/icons/light/editpaste.png          |  Bin 1993 -> 1222 bytes
 src/qt/res/icons/light/eye.png                |  Bin 2830 -> 439 bytes
 src/qt/res/icons/light/eye_minus.png          |  Bin 2934 -> 500 bytes
 src/qt/res/icons/light/eye_plus.png           |  Bin 3129 -> 548 bytes
 src/qt/res/icons/light/history.png            |  Bin 487 -> 1356 bytes
 src/qt/res/icons/light/info.png               |  Bin 218 -> 0 bytes
 src/qt/res/icons/light/lock_closed.png        |  Bin 528 -> 1681 bytes
 src/qt/res/icons/light/masternodes.png        |  Bin 607 -> 608 bytes
 src/qt/res/icons/light/overview.png           |  Bin 458 -> 6490 bytes
 src/qt/res/icons/light/private.png            |  Bin 1386 -> 0 bytes
 src/qt/res/icons/light/proposal.png           |  Bin 776 -> 1103 bytes
 src/qt/res/icons/light/receive.png            |  Bin 466 -> 1250 bytes
 src/qt/res/icons/light/refresh.png            |  Bin 2240 -> 0 bytes
 src/qt/res/icons/light/remove.png             |  Bin 167 -> 1153 bytes
 src/qt/res/icons/light/send.png               |  Bin 471 -> 1259 bytes
 src/qt/res/icons/light/synced.png             |  Bin 429 -> 826 bytes
 .../res/icons/light/transaction_abandoned.png |  Bin 423 -> 1219 bytes
 src/qt/res/icons/light/tx_inout.png           |  Bin 304 -> 1082 bytes
 src/qt/res/icons/light/tx_input.png           |  Bin 133 -> 896 bytes
 src/qt/res/icons/light/tx_mined.png           |  Bin 570 -> 1389 bytes
 src/qt/res/icons/light/tx_output.png          |  Bin 135 -> 1051 bytes
 src/qt/res/icons/pac/refresh.png              |  Bin 3766 -> 0 bytes
 src/qt/res/images/light/checked.png           |  Bin 505 -> 779 bytes
 src/qt/res/images/light/checked_b.png         |  Bin 432 -> 0 bytes
 src/qt/res/images/light/checked_b_dis.png     |  Bin 832 -> 0 bytes
 src/qt/res/images/light/checked_dis.png       |  Bin 918 -> 0 bytes
 src/qt/res/images/light/drkblue_downArrow.png |  Bin 207 -> 560 bytes
 .../images/light/drkblue_downArrow_black.png  |  Bin 149 -> 0 bytes
 .../images/light/drkblue_downArrow_small.png  |  Bin 135 -> 429 bytes
 .../light/drkblue_downArrow_small_black.png   |  Bin 141 -> 0 bytes
 .../images/light/drkblue_leftArrow_small.png  |  Bin 5304 -> 437 bytes
 .../images/light/drkblue_rightArrow_small.png |  Bin 5287 -> 435 bytes
 .../images/light/drkblue_upArrow_small.png    |  Bin 137 -> 428 bytes
 .../light/drkblue_upArrow_small_black.png     |  Bin 139 -> 0 bytes
 .../images/light/drkblue_walletFrame_bg.png   |  Bin 8891 -> 63507 bytes
 .../images/light/drkblue_walletFrame_bg2.png  |  Bin 1595000 -> 0 bytes
 src/qt/res/images/light/header_bkg.png        |  Bin 4335 -> 0 bytes
 src/qt/res/images/light/hover_profile.png     |  Bin 2548 -> 0 bytes
 src/qt/res/images/light/profile_bkg.png       |  Bin 1330 -> 0 bytes
 src/qt/res/images/light/unchecked.png         |  Bin 320 -> 334 bytes
 src/qt/res/images/light/unchecked_b.png       |  Bin 151 -> 0 bytes
 src/qt/res/images/light/unchecked_b_dis.png   |  Bin 546 -> 0 bytes
 src/qt/res/images/light/unchecked_dis.png     |  Bin 708 -> 0 bytes
 src/qt/sendcoinsentry.cpp                     |    7 +
 65 files changed, 2470 insertions(+), 1826 deletions(-)
 mode change 100755 => 100644 src/qt/res/icons/light/address-book.png
 mode change 100755 => 100644 src/qt/res/icons/light/connect1_16.png
 mode change 100755 => 100644 src/qt/res/icons/light/connect2_16.png
 mode change 100755 => 100644 src/qt/res/icons/light/connect3_16.png
 mode change 100755 => 100644 src/qt/res/icons/light/connect4_16.png
 mode change 100755 => 100644 src/qt/res/icons/light/editcopy.png
 mode change 100755 => 100644 src/qt/res/icons/light/history.png
 delete mode 100755 src/qt/res/icons/light/info.png
 mode change 100755 => 100644 src/qt/res/icons/light/lock_closed.png
 mode change 100755 => 100644 src/qt/res/icons/light/masternodes.png
 delete mode 100755 src/qt/res/icons/light/private.png
 mode change 100755 => 100644 src/qt/res/icons/light/proposal.png
 mode change 100755 => 100644 src/qt/res/icons/light/receive.png
 delete mode 100644 src/qt/res/icons/light/refresh.png
 mode change 100755 => 100644 src/qt/res/icons/light/send.png
 mode change 100755 => 100644 src/qt/res/icons/light/synced.png
 mode change 100755 => 100644 src/qt/res/icons/light/transaction_abandoned.png
 mode change 100755 => 100644 src/qt/res/icons/light/tx_input.png
 mode change 100755 => 100644 src/qt/res/icons/light/tx_output.png
 delete mode 100644 src/qt/res/icons/pac/refresh.png
 delete mode 100644 src/qt/res/images/light/checked_b.png
 delete mode 100644 src/qt/res/images/light/checked_b_dis.png
 delete mode 100644 src/qt/res/images/light/checked_dis.png
 delete mode 100644 src/qt/res/images/light/drkblue_downArrow_black.png
 delete mode 100644 src/qt/res/images/light/drkblue_downArrow_small_black.png
 delete mode 100644 src/qt/res/images/light/drkblue_upArrow_small_black.png
 delete mode 100644 src/qt/res/images/light/drkblue_walletFrame_bg2.png
 delete mode 100644 src/qt/res/images/light/header_bkg.png
 delete mode 100755 src/qt/res/images/light/hover_profile.png
 delete mode 100644 src/qt/res/images/light/profile_bkg.png
 delete mode 100644 src/qt/res/images/light/unchecked_b.png
 delete mode 100644 src/qt/res/images/light/unchecked_b_dis.png
 delete mode 100644 src/qt/res/images/light/unchecked_dis.png

diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index d5ef72a19e85..9e4b9ed18b17 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -342,7 +342,6 @@ RES_ICONS = \
   qt/res/icons/light/overview.png \
   qt/res/icons/light/quit.png \
   qt/res/icons/light/receive.png \
-  qt/res/icons/light/refresh.png \
   qt/res/icons/light/remove.png \
   qt/res/icons/light/send.png \
   qt/res/icons/light/synced.png \
@@ -424,7 +423,6 @@ RES_ICONS = \
   qt/res/icons/pac/connect2_16.png \
   qt/res/icons/pac/connect3_16.png \
   qt/res/icons/pac/connect4_16.png \
-  qt/res/icons/pac/refresh.png \
   qt/res/icons/pac/transaction0.png \
   qt/res/icons/pac/transaction2.png \
   qt/res/icons/pac/transaction_conflicted.png \
@@ -576,11 +574,8 @@ RES_IMAGES = \
   qt/res/images/light/unchecked.png \
   qt/res/images/light/checked.png \
   qt/res/images/light/drkblue_downArrow.png \
-  qt/res/images/light/drkblue_downArrow_black.png \
   qt/res/images/light/drkblue_downArrow_small.png \
   qt/res/images/light/drkblue_upArrow_small.png \
-  qt/res/images/light/drkblue_downArrow_small_black.png \
-  qt/res/images/light/drkblue_upArrow_small_black.png \
   qt/res/images/light/drkblue_leftArrow_small.png \
   qt/res/images/light/drkblue_rightArrow_small.png \
   qt/res/images/light/drkblue_qtreeview_selected.png \
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 981d93a5c94b..214bf2b7a199 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -773,14 +773,14 @@ void BitcoinGUI::createHeaderBar()
     btnRefresh->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnRefresh->setFixedHeight(20);
     btnRefresh->setFixedWidth(20);
-    btnRefresh->setObjectName("refreshTopBar");
+    btnRefresh->setIcon(QIcon(":/movies/spinner-000"));
 
     btnCopyNews->setProperty("class","QuickButton");
     btnCopyNews->setToolTip("Copy news.");
     btnCopyNews->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     btnCopyNews->setFixedHeight(24);
     btnCopyNews->setFixedWidth(24);
-    btnCopyNews->setObjectName("copyNews");
+    btnCopyNews->setIcon(QIcon(":/icons/pac/editcopy"));
 
     profileImgLayout->setContentsMargins(0,0,0,0);
     profileImgLayout->addWidget(btnImg);
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 668bd0b0cdec..56d3715b7401 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -132,22 +132,6 @@
           </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_3">
-            <item>
-             <spacer name="horizontalSpacer_12">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
             <item>
              <widget class="QLabel" name="labelBalanceText">
               <property name="sizePolicy">
@@ -172,27 +156,8 @@
               <property name="class" stdset="0">
                <string>titleLabel</string>
               </property>
-              <property name="class2" stdset="0">
-               <string>yellowUnderline</string>
-              </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_13">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
            </layout>
           </item>
           <item>
@@ -828,7 +793,7 @@
                  </size>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true"/>
+                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
                 </property>
                 <property name="text">
                  <string/>
@@ -894,22 +859,6 @@
           </item>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_2">
-            <item>
-             <spacer name="horizontalSpacer_11">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
             <item>
              <widget class="QLabel" name="label_4">
               <property name="font">
@@ -919,9 +868,6 @@
                 <bold>false</bold>
                </font>
               </property>
-              <property name="styleSheet">
-               <string notr="true"/>
-              </property>
               <property name="text">
                <string>RECENT TRANSACTIONS</string>
               </property>
@@ -931,27 +877,8 @@
               <property name="class" stdset="0">
                <string>titleLabel</string>
               </property>
-              <property name="class2" stdset="0">
-               <string>yellowUnderline</string>
-              </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_10">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
            </layout>
           </item>
           <item>
diff --git a/src/qt/forms/privatepage.ui b/src/qt/forms/privatepage.ui
index d5aed4bc8768..22f571568465 100644
--- a/src/qt/forms/privatepage.ui
+++ b/src/qt/forms/privatepage.ui
@@ -94,9 +94,6 @@
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
-         <property name="class" stdset="0">
-          <string>container</string>
-         </property>
          <layout class="QVBoxLayout" name="VerticalLayout_PS1">
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -177,7 +174,7 @@
                  <string>Information about PrivateSend and Mixing</string>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true"/>
+                 <string notr="true">border-image: url(&quot;:/icons/pac/info&quot;);</string>
                 </property>
                 <property name="text">
                  <string/>
@@ -190,60 +187,21 @@
              </layout>
             </item>
             <item>
-             <layout class="QHBoxLayout" name="horizontalLayout_3">
-              <item>
-               <spacer name="horizontalSpacer_7">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeType">
-                 <enum>QSizePolicy::Preferred</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item>
-               <widget class="QLabel" name="labelPrivateSendHeader">
-                <property name="font">
-                 <font>
-                  <pointsize>18</pointsize>
-                  <weight>50</weight>
-                  <bold>false</bold>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>PRIVATE</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-                <property name="class2" stdset="0">
-                 <string>yellowUnderline</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <spacer name="horizontalSpacer_8">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeType">
-                 <enum>QSizePolicy::Preferred</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
+             <widget class="QLabel" name="labelPrivateSendHeader">
+              <property name="font">
+               <font>
+                <pointsize>18</pointsize>
+                <weight>50</weight>
+                <bold>false</bold>
+               </font>
+              </property>
+              <property name="text">
+               <string>PRIVATE</string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
             </item>
            </layout>
           </item>
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index 1554382d0cd0..ee3f561fbdb0 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -17,7 +17,9 @@
    </sizepolicy>
   </property>
   <property name="styleSheet">
-   <string notr="true"/>
+   <string notr="true">QFrame{
+  border:none;
+}</string>
   </property>
   <property name="class" stdset="0">
    <string>container</string>
@@ -463,68 +465,29 @@
           <number>15</number>
          </property>
          <item>
-          <layout class="QHBoxLayout" name="horizontalLayout_8">
-           <item>
-            <spacer name="horizontalSpacer_9">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType">
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>20</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-           <item>
-            <widget class="QLabel" name="label_5">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="minimumSize">
-              <size>
-               <width>0</width>
-               <height>0</height>
-              </size>
-             </property>
-             <property name="text">
-              <string>AVAILABLE BALANCE</string>
-             </property>
-             <property name="alignment">
-              <set>Qt::AlignCenter</set>
-             </property>
-             <property name="class" stdset="0">
-              <string>titleLabel</string>
-             </property>
-             <property name="class2" stdset="0">
-              <string>yellowUnderline</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <spacer name="horizontalSpacer_8">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeType">
-              <enum>QSizePolicy::Fixed</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>20</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-          </layout>
+          <widget class="QLabel" name="label_5">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string>AVAILABLE BALANCE</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <property name="class" stdset="0">
+            <string>titleLabel</string>
+           </property>
+          </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_5">
@@ -750,17 +713,11 @@
             </widget>
            </item>
            <item>
-            <widget class="QPushButton" name="btnCopyLastAddress">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
+            <widget class="QToolButton" name="btnCopyLastAddress">
              <property name="minimumSize">
               <size>
-               <width>30</width>
-               <height>30</height>
+               <width>0</width>
+               <height>0</height>
               </size>
              </property>
              <property name="maximumSize">
@@ -769,9 +726,43 @@
                <height>30</height>
               </size>
              </property>
+             <property name="toolTip">
+              <string>Copy Last PAC Address Generated</string>
+             </property>
              <property name="text">
               <string/>
              </property>
+             <property name="icon">
+              <iconset resource="../paccoin.qrc">
+               <normaloff>:/icons/pac/editcopy</normaloff>:/icons/pac/editcopy</iconset>
+             </property>
+             <property name="iconSize">
+              <size>
+               <width>24</width>
+               <height>24</height>
+              </size>
+             </property>
+             <property name="checkable">
+              <bool>false</bool>
+             </property>
+             <property name="autoRepeat">
+              <bool>false</bool>
+             </property>
+             <property name="autoExclusive">
+              <bool>false</bool>
+             </property>
+             <property name="popupMode">
+              <enum>QToolButton::InstantPopup</enum>
+             </property>
+             <property name="toolButtonStyle">
+              <enum>Qt::ToolButtonIconOnly</enum>
+             </property>
+             <property name="autoRaise">
+              <bool>true</bool>
+             </property>
+             <property name="arrowType">
+              <enum>Qt::NoArrow</enum>
+             </property>
              <property name="class" stdset="0">
               <string>QuickButton</string>
              </property>
@@ -923,6 +914,8 @@
   <tabstop>showRequestButton</tabstop>
   <tabstop>removeRequestButton</tabstop>
  </tabstops>
- <resources/>
+ <resources>
+  <include location="../paccoin.qrc"/>
+ </resources>
  <connections/>
 </ui>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 9787fbce16f6..c44528297bf5 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -1269,7 +1269,7 @@
                  <string>Copy PACs</string>
                 </property>
                 <property name="styleSheet">
-                 <string notr="true"/>
+                 <string notr="true">border-image: url(:/icons/pac/editcopy);</string>
                 </property>
                 <property name="text">
                  <string/>
@@ -1358,626 +1358,169 @@
         </property>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
-          <item row="7" column="0">
-           <widget class="QScrollArea" name="scrollAreaFees">
-            <property name="styleSheet">
-             <string notr="true">#scrollArea_2{ padding: 5px;}</string>
+          <item row="4" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
+            <property name="spacing">
+             <number>10</number>
             </property>
-            <property name="horizontalScrollBarPolicy">
-             <enum>Qt::ScrollBarAsNeeded</enum>
+            <item>
+             <widget class="QLabel" name="labelFeeHeadline">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="font">
+               <font>
+                <weight>75</weight>
+                <bold>true</bold>
+               </font>
+              </property>
+              <property name="styleSheet">
+               <string notr="true">font-weight:bold;</string>
+              </property>
+              <property name="text">
+               <string>Transaction Fee: </string>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelFeeMinimized">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="labelAvailableUSD">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
             </property>
-            <property name="widgetResizable">
-             <bool>true</bool>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>30</height>
+             </size>
+            </property>
+            <property name="text">
+             <string>$ 0.0 USD</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="class" stdset="0">
+             <string>usdLabel</string>
             </property>
-            <widget class="QWidget" name="scrollAreaWidgetContents_3">
-             <property name="geometry">
-              <rect>
-               <x>0</x>
-               <y>0</y>
-               <width>408</width>
-               <height>461</height>
-              </rect>
-             </property>
-             <layout class="QVBoxLayout" name="verticalLayout_6">
-              <item>
-               <widget class="QFrame" name="frameFee">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>400</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="frameShape">
-                 <enum>QFrame::StyledPanel</enum>
-                </property>
-                <property name="frameShadow">
-                 <enum>QFrame::Sunken</enum>
-                </property>
-                <layout class="QVBoxLayout" name="verticalLayoutFee1">
-                 <property name="spacing">
-                  <number>0</number>
-                 </property>
-                 <property name="leftMargin">
-                  <number>0</number>
-                 </property>
-                 <property name="topMargin">
-                  <number>0</number>
-                 </property>
-                 <property name="rightMargin">
-                  <number>0</number>
-                 </property>
-                 <property name="bottomMargin">
-                  <number>0</number>
-                 </property>
-                 <item>
-                  <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0">
-                   <property name="spacing">
-                    <number>0</number>
-                   </property>
-                   <property name="leftMargin">
-                    <number>0</number>
-                   </property>
-                   <property name="topMargin">
-                    <number>0</number>
-                   </property>
-                   <item>
-                    <widget class="QFrame" name="frameFeeSelection">
-                     <layout class="QVBoxLayout" name="verticalLayoutFee12">
-                      <property name="spacing">
-                       <number>0</number>
-                      </property>
-                      <property name="leftMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="topMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="rightMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="bottomMargin">
-                       <number>0</number>
-                      </property>
-                      <item>
-                       <layout class="QGridLayout" name="gridLayoutFee">
-                        <property name="topMargin">
-                         <number>0</number>
-                        </property>
-                        <property name="bottomMargin">
-                         <number>4</number>
-                        </property>
-                        <property name="horizontalSpacing">
-                         <number>5</number>
-                        </property>
-                        <property name="verticalSpacing">
-                         <number>10</number>
-                        </property>
-                        <item row="4" column="1">
-                         <layout class="QHBoxLayout" name="horizontalLayout_11">
-                          <item>
-                           <spacer name="horizontalSpacer_14">
-                            <property name="orientation">
-                             <enum>Qt::Horizontal</enum>
-                            </property>
-                            <property name="sizeType">
-                             <enum>QSizePolicy::Fixed</enum>
-                            </property>
-                            <property name="sizeHint" stdset="0">
-                             <size>
-                              <width>10</width>
-                              <height>20</height>
-                             </size>
-                            </property>
-                           </spacer>
-                          </item>
-                          <item>
-                           <widget class="QLabel" name="labelMinFeeWarning">
-                            <property name="enabled">
-                             <bool>true</bool>
-                            </property>
-                            <property name="toolTip">
-                             <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                            </property>
-                            <property name="text">
-                             <string>    (read the tooltip)</string>
-                            </property>
-                            <property name="margin">
-                             <number>5</number>
-                            </property>
-                           </widget>
-                          </item>
-                         </layout>
-                        </item>
-                        <item row="1" column="2">
-                         <spacer name="horizontalSpacer_19">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Fixed</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>15</width>
-                            <height>20</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
-                        <item row="2" column="1">
-                         <layout class="QVBoxLayout" name="verticalLayoutFee8">
-                          <property name="spacing">
-                           <number>6</number>
-                          </property>
-                          <item>
-                           <widget class="QRadioButton" name="radioCustomFee">
-                            <property name="text">
-                             <string>Custom:</string>
-                            </property>
-                            <attribute name="buttonGroup">
-                             <string notr="true">groupFee</string>
-                            </attribute>
-                           </widget>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee13">
-                            <item>
-                             <spacer name="horizontalSpacer_2">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>10</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
-                            <item>
-                             <widget class="QRadioButton" name="radioCustomPerKilobyte">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="toolTip">
-                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                              </property>
-                              <property name="text">
-                               <string>per kilobyte</string>
-                              </property>
-                              <property name="checked">
-                               <bool>true</bool>
-                              </property>
-                              <attribute name="buttonGroup">
-                               <string notr="true">groupCustomFee</string>
-                              </attribute>
-                             </widget>
-                            </item>
-                            <item>
-                             <widget class="QRadioButton" name="radioCustomAtLeast">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="toolTip">
-                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
-                              </property>
-                              <property name="text">
-                               <string>total at least</string>
-                              </property>
-                              <attribute name="buttonGroup">
-                               <string notr="true">groupCustomFee</string>
-                              </attribute>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayout_10">
-                            <item>
-                             <widget class="BitcoinAmountField" name="customFee"/>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee8">
-                            <item>
-                             <spacer name="horizontalSpacer_3">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>10</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
-                            <item>
-                             <widget class="QCheckBox" name="checkBoxMinimumFee">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="maximumSize">
-                               <size>
-                                <width>16777215</width>
-                                <height>16777215</height>
-                               </size>
-                              </property>
-                              <property name="toolTip">
-                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
-                              </property>
-                              <property name="text">
-                               <string/>
-                              </property>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                         </layout>
-                        </item>
-                        <item row="1" column="1">
-                         <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
-                          <property name="spacing">
-                           <number>6</number>
-                          </property>
-                          <property name="topMargin">
-                           <number>2</number>
-                          </property>
-                          <item>
-                           <layout class="QVBoxLayout" name="verticalLayout_5">
-                            <item>
-                             <widget class="QRadioButton" name="radioSmartFee">
-                              <property name="text">
-                               <string>Recommended:</string>
-                              </property>
-                              <property name="checked">
-                               <bool>true</bool>
-                              </property>
-                              <attribute name="buttonGroup">
-                               <string notr="true">groupFee</string>
-                              </attribute>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <layout class="QHBoxLayout" name="horizontalLayoutFee9">
-                            <item>
-                             <spacer name="horizontalSpacer_13">
-                              <property name="orientation">
-                               <enum>Qt::Horizontal</enum>
-                              </property>
-                              <property name="sizeType">
-                               <enum>QSizePolicy::Fixed</enum>
-                              </property>
-                              <property name="sizeHint" stdset="0">
-                               <size>
-                                <width>10</width>
-                                <height>20</height>
-                               </size>
-                              </property>
-                             </spacer>
-                            </item>
-                            <item>
-                             <layout class="QVBoxLayout" name="verticalLayoutFee5">
-                              <property name="rightMargin">
-                               <number>0</number>
-                              </property>
-                              <item>
-                               <layout class="QHBoxLayout" name="horizontalLayoutFee12">
-                                <item>
-                                 <widget class="QLabel" name="labelSmartFee">
-                                  <property name="text">
-                                   <string/>
-                                  </property>
-                                  <property name="margin">
-                                   <number>2</number>
-                                  </property>
-                                 </widget>
-                                </item>
-                                <item>
-                                 <widget class="QLabel" name="labelFeeEstimation">
-                                  <property name="text">
-                                   <string/>
-                                  </property>
-                                 </widget>
-                                </item>
-                               </layout>
-                              </item>
-                              <item>
-                               <widget class="QLabel" name="labelSmartFee2">
-                                <property name="lineWidth">
-                                 <number>1</number>
-                                </property>
-                                <property name="text">
-                                 <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
-                                </property>
-                                <property name="wordWrap">
-                                 <bool>true</bool>
-                                </property>
-                                <property name="margin">
-                                 <number>2</number>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <widget class="QLabel" name="labelSmartFee3">
-                                <property name="text">
-                                 <string>Confirmation time:</string>
-                                </property>
-                                <property name="margin">
-                                 <number>2</number>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <widget class="QSlider" name="sliderSmartFee">
-                                <property name="enabled">
-                                 <bool>false</bool>
-                                </property>
-                                <property name="sizePolicy">
-                                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                                  <horstretch>0</horstretch>
-                                  <verstretch>0</verstretch>
-                                 </sizepolicy>
-                                </property>
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>16777215</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="autoFillBackground">
-                                 <bool>false</bool>
-                                </property>
-                                <property name="styleSheet">
-                                 <string notr="true"/>
-                                </property>
-                                <property name="minimum">
-                                 <number>0</number>
-                                </property>
-                                <property name="maximum">
-                                 <number>24</number>
-                                </property>
-                                <property name="pageStep">
-                                 <number>1</number>
-                                </property>
-                                <property name="value">
-                                 <number>10</number>
-                                </property>
-                                <property name="sliderPosition">
-                                 <number>10</number>
-                                </property>
-                                <property name="orientation">
-                                 <enum>Qt::Horizontal</enum>
-                                </property>
-                                <property name="invertedAppearance">
-                                 <bool>false</bool>
-                                </property>
-                                <property name="invertedControls">
-                                 <bool>false</bool>
-                                </property>
-                                <property name="tickPosition">
-                                 <enum>QSlider::NoTicks</enum>
-                                </property>
-                                <property name="tickInterval">
-                                 <number>0</number>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <layout class="QHBoxLayout" name="horizontalLayoutFee10">
-                                <item>
-                                 <widget class="QLabel" name="labelSmartFeeNormal">
-                                  <property name="text">
-                                   <string>normal</string>
-                                  </property>
-                                 </widget>
-                                </item>
-                                <item>
-                                 <widget class="QLabel" name="labelSmartFeeFast">
-                                  <property name="text">
-                                   <string>fast</string>
-                                  </property>
-                                  <property name="alignment">
-                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                  </property>
-                                 </widget>
-                                </item>
-                               </layout>
-                              </item>
-                             </layout>
-                            </item>
-                           </layout>
-                          </item>
-                          <item>
-                           <spacer name="verticalSpacer_4">
-                            <property name="orientation">
-                             <enum>Qt::Vertical</enum>
-                            </property>
-                            <property name="sizeHint" stdset="0">
-                             <size>
-                              <width>1</width>
-                              <height>1</height>
-                             </size>
-                            </property>
-                           </spacer>
-                          </item>
-                         </layout>
-                        </item>
-                        <item row="1" column="0">
-                         <spacer name="horizontalSpacer_6">
-                          <property name="orientation">
-                           <enum>Qt::Horizontal</enum>
-                          </property>
-                          <property name="sizeType">
-                           <enum>QSizePolicy::Fixed</enum>
-                          </property>
-                          <property name="sizeHint" stdset="0">
-                           <size>
-                            <width>15</width>
-                            <height>20</height>
-                           </size>
-                          </property>
-                         </spacer>
-                        </item>
-                       </layout>
-                      </item>
-                      <item>
-                       <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0">
-                        <property name="spacing">
-                         <number>8</number>
-                        </property>
-                        <property name="bottomMargin">
-                         <number>4</number>
-                        </property>
-                        <item>
-                         <widget class="QCheckBox" name="checkBoxFreeTx">
-                          <property name="text">
-                           <string>Send as zero-fee transaction if possible</string>
-                          </property>
-                         </widget>
-                        </item>
-                       </layout>
-                      </item>
-                      <item>
-                       <widget class="QLabel" name="labelFreeTx">
-                        <property name="text">
-                         <string>     (confirmation may take longer)</string>
-                        </property>
-                        <property name="margin">
-                         <number>5</number>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <spacer name="verticalSpacer_11">
-                        <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>
-                   </item>
-                  </layout>
-                 </item>
-                </layout>
-               </widget>
-              </item>
-             </layout>
-            </widget>
            </widget>
           </item>
-          <item row="6" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_8">
+          <item row="2" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_5">
             <property name="spacing">
              <number>0</number>
             </property>
             <item>
-             <widget class="QPushButton" name="buttonMinimizeFee">
-              <property name="maximumSize">
+             <spacer name="horizontalSpacer_8">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
                <size>
-                <width>80</width>
-                <height>18</height>
+                <width>40</width>
+                <height>20</height>
                </size>
               </property>
-              <property name="toolTip">
-               <string>collapse fee-settings</string>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="iconLabelAvailableBalance">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>30</width>
+                <height>30</height>
+               </size>
+              </property>
+              <property name="styleSheet">
+               <string notr="true"/>
               </property>
               <property name="text">
-               <string>Hide</string>
+               <string/>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
               </property>
               <property name="class" stdset="0">
-               <string>linkButton</string>
+               <string>labelPacIcon</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QPushButton" name="buttonChooseFee">
+             <widget class="QLabel" name="labelBalance">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
-              <property name="maximumSize">
+              <property name="minimumSize">
                <size>
-                <width>80</width>
-                <height>18</height>
+                <width>0</width>
+                <height>50</height>
                </size>
               </property>
+              <property name="locale">
+               <locale language="English" country="UnitedStates"/>
+              </property>
               <property name="text">
-               <string>Choose...</string>
+               <string>123,456.00</string>
               </property>
               <property name="class" stdset="0">
-               <string>linkButton</string>
+               <string>pacCoinsLabel</string>
               </property>
              </widget>
             </item>
-           </layout>
-          </item>
-          <item row="11" column="0">
-           <spacer name="verticalSpacer_7">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>0</width>
-              <height>5</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="0" column="0">
-           <spacer name="verticalSpacer_5">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Fixed</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>15</height>
-             </size>
-            </property>
-           </spacer>
+            <item>
+             <spacer name="horizontalSpacer_7">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Preferred</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
           </item>
-          <item row="14" column="0">
+          <item row="13" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_6">
             <property name="spacing">
              <number>0</number>
@@ -2094,7 +1637,7 @@
             </item>
            </layout>
           </item>
-          <item row="12" column="0">
+          <item row="11" column="0">
            <layout class="QHBoxLayout" name="horizontalLayout_9">
             <item>
              <spacer name="horizontalSpacer_20">
@@ -2167,231 +1710,649 @@
             </item>
            </layout>
           </item>
-          <item row="3" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_5">
+          <item row="6" column="0">
+           <widget class="QScrollArea" name="scrollAreaFees">
+            <property name="styleSheet">
+             <string notr="true">#scrollArea_2{ padding: 5px;}</string>
+            </property>
+            <property name="horizontalScrollBarPolicy">
+             <enum>Qt::ScrollBarAsNeeded</enum>
+            </property>
+            <property name="widgetResizable">
+             <bool>true</bool>
+            </property>
+            <widget class="QWidget" name="scrollAreaWidgetContents_3">
+             <property name="geometry">
+              <rect>
+               <x>0</x>
+               <y>0</y>
+               <width>408</width>
+               <height>461</height>
+              </rect>
+             </property>
+             <layout class="QVBoxLayout" name="verticalLayout_6">
+              <item>
+               <widget class="QFrame" name="frameFee">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>400</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="frameShape">
+                 <enum>QFrame::StyledPanel</enum>
+                </property>
+                <property name="frameShadow">
+                 <enum>QFrame::Sunken</enum>
+                </property>
+                <layout class="QVBoxLayout" name="verticalLayoutFee1">
+                 <property name="spacing">
+                  <number>0</number>
+                 </property>
+                 <property name="leftMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="topMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="rightMargin">
+                  <number>0</number>
+                 </property>
+                 <property name="bottomMargin">
+                  <number>0</number>
+                 </property>
+                 <item>
+                  <layout class="QVBoxLayout" name="verticalLayoutFee2" stretch="0">
+                   <property name="spacing">
+                    <number>0</number>
+                   </property>
+                   <property name="leftMargin">
+                    <number>0</number>
+                   </property>
+                   <property name="topMargin">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <widget class="QFrame" name="frameFeeSelection">
+                     <layout class="QVBoxLayout" name="verticalLayoutFee12">
+                      <property name="spacing">
+                       <number>0</number>
+                      </property>
+                      <property name="leftMargin">
+                       <number>0</number>
+                      </property>
+                      <property name="topMargin">
+                       <number>0</number>
+                      </property>
+                      <property name="rightMargin">
+                       <number>0</number>
+                      </property>
+                      <property name="bottomMargin">
+                       <number>0</number>
+                      </property>
+                      <item>
+                       <layout class="QGridLayout" name="gridLayoutFee">
+                        <property name="topMargin">
+                         <number>0</number>
+                        </property>
+                        <property name="bottomMargin">
+                         <number>4</number>
+                        </property>
+                        <property name="horizontalSpacing">
+                         <number>5</number>
+                        </property>
+                        <property name="verticalSpacing">
+                         <number>10</number>
+                        </property>
+                        <item row="4" column="1">
+                         <layout class="QHBoxLayout" name="horizontalLayout_11">
+                          <item>
+                           <spacer name="horizontalSpacer_14">
+                            <property name="orientation">
+                             <enum>Qt::Horizontal</enum>
+                            </property>
+                            <property name="sizeType">
+                             <enum>QSizePolicy::Fixed</enum>
+                            </property>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>10</width>
+                              <height>20</height>
+                             </size>
+                            </property>
+                           </spacer>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="labelMinFeeWarning">
+                            <property name="enabled">
+                             <bool>true</bool>
+                            </property>
+                            <property name="toolTip">
+                             <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                            </property>
+                            <property name="text">
+                             <string>    (read the tooltip)</string>
+                            </property>
+                            <property name="margin">
+                             <number>5</number>
+                            </property>
+                           </widget>
+                          </item>
+                         </layout>
+                        </item>
+                        <item row="1" column="2">
+                         <spacer name="horizontalSpacer_19">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>15</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                        <item row="2" column="1">
+                         <layout class="QVBoxLayout" name="verticalLayoutFee8">
+                          <property name="spacing">
+                           <number>6</number>
+                          </property>
+                          <item>
+                           <widget class="QRadioButton" name="radioCustomFee">
+                            <property name="text">
+                             <string>Custom:</string>
+                            </property>
+                            <attribute name="buttonGroup">
+                             <string notr="true">groupFee</string>
+                            </attribute>
+                           </widget>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee13">
+                            <item>
+                             <spacer name="horizontalSpacer_2">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>10</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomPerKilobyte">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>per kilobyte</string>
+                              </property>
+                              <property name="checked">
+                               <bool>true</bool>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                            <item>
+                             <widget class="QRadioButton" name="radioCustomAtLeast">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="toolTip">
+                               <string>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then &quot;per kilobyte&quot; only pays 250 duffs in fee,&lt;br /&gt;while &quot;total at least&quot; pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</string>
+                              </property>
+                              <property name="text">
+                               <string>total at least</string>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupCustomFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayout_10">
+                            <item>
+                             <widget class="BitcoinAmountField" name="customFee"/>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee8">
+                            <item>
+                             <spacer name="horizontalSpacer_3">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>10</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <widget class="QCheckBox" name="checkBoxMinimumFee">
+                              <property name="sizePolicy">
+                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                               </sizepolicy>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>16777215</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <property name="toolTip">
+                               <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for paccoin transactions than the network can process.</string>
+                              </property>
+                              <property name="text">
+                               <string/>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                         </layout>
+                        </item>
+                        <item row="1" column="1">
+                         <layout class="QVBoxLayout" name="verticalLayoutFee3" stretch="0,0,1">
+                          <property name="spacing">
+                           <number>6</number>
+                          </property>
+                          <property name="topMargin">
+                           <number>2</number>
+                          </property>
+                          <item>
+                           <layout class="QVBoxLayout" name="verticalLayout_5">
+                            <item>
+                             <widget class="QRadioButton" name="radioSmartFee">
+                              <property name="text">
+                               <string>Recommended:</string>
+                              </property>
+                              <property name="checked">
+                               <bool>true</bool>
+                              </property>
+                              <attribute name="buttonGroup">
+                               <string notr="true">groupFee</string>
+                              </attribute>
+                             </widget>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <layout class="QHBoxLayout" name="horizontalLayoutFee9">
+                            <item>
+                             <spacer name="horizontalSpacer_13">
+                              <property name="orientation">
+                               <enum>Qt::Horizontal</enum>
+                              </property>
+                              <property name="sizeType">
+                               <enum>QSizePolicy::Fixed</enum>
+                              </property>
+                              <property name="sizeHint" stdset="0">
+                               <size>
+                                <width>10</width>
+                                <height>20</height>
+                               </size>
+                              </property>
+                             </spacer>
+                            </item>
+                            <item>
+                             <layout class="QVBoxLayout" name="verticalLayoutFee5">
+                              <property name="rightMargin">
+                               <number>0</number>
+                              </property>
+                              <item>
+                               <layout class="QHBoxLayout" name="horizontalLayoutFee12">
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFee">
+                                  <property name="text">
+                                   <string/>
+                                  </property>
+                                  <property name="margin">
+                                   <number>2</number>
+                                  </property>
+                                 </widget>
+                                </item>
+                                <item>
+                                 <widget class="QLabel" name="labelFeeEstimation">
+                                  <property name="text">
+                                   <string/>
+                                  </property>
+                                 </widget>
+                                </item>
+                               </layout>
+                              </item>
+                              <item>
+                               <widget class="QLabel" name="labelSmartFee2">
+                                <property name="lineWidth">
+                                 <number>1</number>
+                                </property>
+                                <property name="text">
+                                 <string>(Smart fee not initialized yet. This usually takes a few blocks...)</string>
+                                </property>
+                                <property name="wordWrap">
+                                 <bool>true</bool>
+                                </property>
+                                <property name="margin">
+                                 <number>2</number>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <widget class="QLabel" name="labelSmartFee3">
+                                <property name="text">
+                                 <string>Confirmation time:</string>
+                                </property>
+                                <property name="margin">
+                                 <number>2</number>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <widget class="QSlider" name="sliderSmartFee">
+                                <property name="enabled">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="sizePolicy">
+                                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                                  <horstretch>0</horstretch>
+                                  <verstretch>0</verstretch>
+                                 </sizepolicy>
+                                </property>
+                                <property name="maximumSize">
+                                 <size>
+                                  <width>16777215</width>
+                                  <height>16777215</height>
+                                 </size>
+                                </property>
+                                <property name="autoFillBackground">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="styleSheet">
+                                 <string notr="true"/>
+                                </property>
+                                <property name="minimum">
+                                 <number>0</number>
+                                </property>
+                                <property name="maximum">
+                                 <number>24</number>
+                                </property>
+                                <property name="pageStep">
+                                 <number>1</number>
+                                </property>
+                                <property name="value">
+                                 <number>10</number>
+                                </property>
+                                <property name="sliderPosition">
+                                 <number>10</number>
+                                </property>
+                                <property name="orientation">
+                                 <enum>Qt::Horizontal</enum>
+                                </property>
+                                <property name="invertedAppearance">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="invertedControls">
+                                 <bool>false</bool>
+                                </property>
+                                <property name="tickPosition">
+                                 <enum>QSlider::NoTicks</enum>
+                                </property>
+                                <property name="tickInterval">
+                                 <number>0</number>
+                                </property>
+                               </widget>
+                              </item>
+                              <item>
+                               <layout class="QHBoxLayout" name="horizontalLayoutFee10">
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFeeNormal">
+                                  <property name="text">
+                                   <string>normal</string>
+                                  </property>
+                                 </widget>
+                                </item>
+                                <item>
+                                 <widget class="QLabel" name="labelSmartFeeFast">
+                                  <property name="text">
+                                   <string>fast</string>
+                                  </property>
+                                  <property name="alignment">
+                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                                  </property>
+                                 </widget>
+                                </item>
+                               </layout>
+                              </item>
+                             </layout>
+                            </item>
+                           </layout>
+                          </item>
+                          <item>
+                           <spacer name="verticalSpacer_4">
+                            <property name="orientation">
+                             <enum>Qt::Vertical</enum>
+                            </property>
+                            <property name="sizeHint" stdset="0">
+                             <size>
+                              <width>1</width>
+                              <height>1</height>
+                             </size>
+                            </property>
+                           </spacer>
+                          </item>
+                         </layout>
+                        </item>
+                        <item row="1" column="0">
+                         <spacer name="horizontalSpacer_6">
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="sizeType">
+                           <enum>QSizePolicy::Fixed</enum>
+                          </property>
+                          <property name="sizeHint" stdset="0">
+                           <size>
+                            <width>15</width>
+                            <height>20</height>
+                           </size>
+                          </property>
+                         </spacer>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <layout class="QHBoxLayout" name="horizontalLayoutFee5" stretch="0">
+                        <property name="spacing">
+                         <number>8</number>
+                        </property>
+                        <property name="bottomMargin">
+                         <number>4</number>
+                        </property>
+                        <item>
+                         <widget class="QCheckBox" name="checkBoxFreeTx">
+                          <property name="text">
+                           <string>Send as zero-fee transaction if possible</string>
+                          </property>
+                         </widget>
+                        </item>
+                       </layout>
+                      </item>
+                      <item>
+                       <widget class="QLabel" name="labelFreeTx">
+                        <property name="text">
+                         <string>     (confirmation may take longer)</string>
+                        </property>
+                        <property name="margin">
+                         <number>5</number>
+                        </property>
+                       </widget>
+                      </item>
+                      <item>
+                       <spacer name="verticalSpacer_11">
+                        <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>
+                   </item>
+                  </layout>
+                 </item>
+                </layout>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </widget>
+          </item>
+          <item row="5" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_8">
             <property name="spacing">
              <number>0</number>
             </property>
             <item>
-             <spacer name="horizontalSpacer_8">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QLabel" name="iconLabelAvailableBalance">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Minimum">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
+             <widget class="QPushButton" name="buttonMinimizeFee">
+              <property name="maximumSize">
                <size>
-                <width>30</width>
-                <height>30</height>
+                <width>80</width>
+                <height>18</height>
                </size>
               </property>
-              <property name="styleSheet">
-               <string notr="true"/>
+              <property name="toolTip">
+               <string>collapse fee-settings</string>
               </property>
               <property name="text">
-               <string/>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
+               <string>Hide</string>
               </property>
               <property name="class" stdset="0">
-               <string>labelPacIcon</string>
+               <string>linkButton</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QLabel" name="labelBalance">
+             <widget class="QPushButton" name="buttonChooseFee">
               <property name="sizePolicy">
-               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
                 <horstretch>0</horstretch>
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
-              <property name="minimumSize">
+              <property name="maximumSize">
                <size>
-                <width>0</width>
-                <height>50</height>
+                <width>80</width>
+                <height>18</height>
                </size>
               </property>
-              <property name="locale">
-               <locale language="English" country="UnitedStates"/>
-              </property>
               <property name="text">
-               <string>123,456.00</string>
+               <string>Choose...</string>
               </property>
               <property name="class" stdset="0">
-               <string>pacCoinsLabel</string>
+               <string>linkButton</string>
               </property>
              </widget>
             </item>
-            <item>
-             <spacer name="horizontalSpacer_7">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Preferred</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
            </layout>
           </item>
-          <item row="4" column="0">
-           <widget class="QLabel" name="labelAvailableUSD">
+          <item row="0" column="0">
+           <spacer name="verticalSpacer_5">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>15</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
             <property name="minimumSize">
              <size>
-              <width>0</width>
-              <height>30</height>
+              <width>100</width>
+              <height>15</height>
              </size>
             </property>
             <property name="text">
-             <string>$ 0.0 USD</string>
+             <string>AVAILABLE BALANCE</string>
             </property>
             <property name="alignment">
              <set>Qt::AlignCenter</set>
             </property>
             <property name="class" stdset="0">
-             <string>usdLabel</string>
+             <string>titleLabel</string>
             </property>
            </widget>
           </item>
-          <item row="5" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayoutSmartFee">
-            <property name="spacing">
-             <number>10</number>
+          <item row="10" column="0">
+           <spacer name="verticalSpacer_7">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
             </property>
-            <item>
-             <widget class="QLabel" name="labelFeeHeadline">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="font">
-               <font>
-                <weight>75</weight>
-                <bold>true</bold>
-               </font>
-              </property>
-              <property name="styleSheet">
-               <string notr="true">font-weight:bold;</string>
-              </property>
-              <property name="text">
-               <string>Transaction Fee: </string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QLabel" name="labelFeeMinimized">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-           </layout>
-          </item>
-          <item row="1" column="0">
-           <layout class="QHBoxLayout" name="horizontalLayout_14">
-            <item>
-             <spacer name="horizontalSpacer_26">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-            <item>
-             <widget class="QLabel" name="label_2">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="minimumSize">
-               <size>
-                <width>100</width>
-                <height>15</height>
-               </size>
-              </property>
-              <property name="text">
-               <string>AVAILABLE BALANCE</string>
-              </property>
-              <property name="alignment">
-               <set>Qt::AlignCenter</set>
-              </property>
-              <property name="class" stdset="0">
-               <string>titleLabel</string>
-              </property>
-              <property name="class2" stdset="0">
-               <string>yellowUnderline</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_25">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeType">
-               <enum>QSizePolicy::Fixed</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
+            <property name="sizeType">
+             <enum>QSizePolicy::Fixed</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>0</width>
+              <height>5</height>
+             </size>
+            </property>
+           </spacer>
           </item>
          </layout>
         </item>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index 3b243beb9206..3b70b9fcaca8 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -927,10 +927,9 @@ QString getThemeName()
     QString theme = settings.value("theme", "").toString();
 
     if(!theme.isEmpty()){
-        //return theme;
-        return QString("light");
+        return theme;
     }
-    return QString("light");
+    return QString("pac");
 }
 void setGUITextColor(){
     QString theme = getThemeName();
@@ -964,8 +963,8 @@ QString loadStyleSheet()
         cssName = QString(":/css/" + theme);
     }
     else {
-        cssName = QString(":/css/light");
-        settings.setValue("theme", "light");
+        cssName = QString(":/css/pac");
+        settings.setValue("theme", "pac");
     }
     
     QFile qFile(cssName);      
diff --git a/src/qt/paccoin.qrc b/src/qt/paccoin.qrc
index c9147ecf1b63..ec18bdcc6ea5 100644
--- a/src/qt/paccoin.qrc
+++ b/src/qt/paccoin.qrc
@@ -184,9 +184,6 @@
         <file alias="fontsmaller">res/icons/light/fontsmaller.png</file>
         <file alias="transaction_abandoned">res/icons/light/transaction_abandoned.png</file>
         <file alias="network_disabled">res/icons/light/network_disabled.png</file>
-        <file alias="refresh">res/icons/light/refresh.png</file>
-        <file alias="info">res/icons/light/info.png</file>
-        <file alias="private">res/icons/light/private.png</file>
     </qresource>
     <qresource prefix="/icons/pac">
         <file alias="address-book">res/icons/pac/address-book.png</file>
@@ -246,7 +243,6 @@
         <file alias="network_disabled">res/icons/pac/network_disabled.png</file>
         <file alias="info">res/icons/pac/info.png</file>
         <file alias="private">res/icons/pac/private.png</file>
-        <file alias="refresh">res/icons/pac/refresh.png</file>
     </qresource>
     <qresource prefix="/icons/trad">
         <file alias="address-book">res/icons/trad/address-book.png</file>
@@ -354,18 +350,9 @@
         <file alias="drkblue_leftArrow_small">res/images/light/drkblue_leftArrow_small.png</file>
         <file alias="drkblue_rightArrow_small">res/images/light/drkblue_rightArrow_small.png</file>
         <file alias="drkblue_qtreeview_selected">res/images/light/drkblue_qtreeview_selected.png</file>
+        <file alias="drkblue_walletFrame_bg">res/images/light/drkblue_walletFrame_bg.png</file>
         <file alias="splash">res/images/light/splash.png</file>
         <file alias="splash_testnet">res/images/light/splash_testnet.png</file>
-        <file alias="checked_b_dis">res/images/light/checked_b_dis.png</file>
-        <file alias="checked_b">res/images/light/checked_b.png</file>
-        <file alias="checked_dis">res/images/light/checked_dis.png</file>
-        <file alias="unchecked_b_dis">res/images/light/unchecked_b_dis.png</file>
-        <file alias="unchecked_b">res/images/light/unchecked_b.png</file>
-        <file alias="unchecked_dis">res/images/light/unchecked_dis.png</file>
-        <file alias="drkblue_walletFrame_bg">res/images/light/drkblue_walletFrame_bg.png</file>
-        <file alias="drkblue_downArrow_small_black">res/images/light/drkblue_downArrow_small_black.png</file>
-        <file alias="drkblue_upArrow_small_black">res/images/light/drkblue_upArrow_small_black.png</file>
-        <file alias="drkblue_downArrow_black">res/images/light/drkblue_downArrow_black.png</file>
     </qresource>
     <qresource prefix="/images/pac">
         <file alias="about">res/images/pac/about.png</file>
diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css
index 1da6338f5996..c13df877536d 100644
--- a/src/qt/res/css/light.css
+++ b/src/qt/res/css/light.css
@@ -1,831 +1,1675 @@
+WalletFrame {
+border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
+border-top:0px solid #000;
+margin:0;
+padding-top:20px;
+padding-bottom: 20px;
+}
+
+QStatusBar {
+background-color:#ffffff;
+}
+
+.QFrame {
+background-color:transparent;
+border:0px solid #fff;
+}
+
+QMenuBar {
+background-color:#fff;
+}
+
+QMenuBar::item {
+background-color:#fff;
+}
+
+QMenuBar::item:selected {
+background-color:#f8f6f6;
+}
+
+QMenu {
+background-color:#f8f6f6;
+}
+
+QMenu::item {
+color:#333;
+}
+
+QMenu::item:selected {
+background-color:#F8F6F6;
+color:#333;
+}
+
+QToolBar {
+background-color:#F8F6F6;
+border:0px solid #000;
+padding:0;
+margin:0;
+}
+
+QToolBar > QToolButton {
+background-color:#F8F6F6;
+border:0px solid #333;
+min-height:2.5em;
+min-width: 8em;
+padding: 0em 1em;
+/*font-weight:bold;*/
+color:#333;
+font-size: 12px;
+}
+
+QToolBar > QToolButton:checked {
+background-color:#A59A9A;
+color:#fff;
+font-weight:bold;
+font-size: 12px;
+}
 
-/*
- *  Global GUI styles
- */
-
-/* custom Qslider */
-QSlider::handle:horizontal {
-    background: #D4CA03;
-    border: 2px solid #D4CA03;
-    width: 10px;
-    margin: -3px 0px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
-    border-radius: 6px;
-}
-QSlider::groove:horizontal {
-    border: 1px solid transparent;
-    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
-    margin: 2px 0;
-    border-radius: 4px;
-}
-QSlider::add-page, QSlider::sub-page {
-    border-radius: 4px;
-    border: 1px solid transparent;
-    height: 7px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
-    margin: 2px 0;
-}
-QSlider:add-page:disabled, QSlider:sub-page:disabled {
-    background: #ccc;
-}
-QSlider::add-page {
-    background: rgba(100,100,100,0.5);
-}
-QSlider::sub-page {
-    background: #555;
-}
-QSlider::handle:disabled{
-    background: #999;
-    border: 1px solid #999;
-}
-/* Global labels a Box with a title */
-QLabel, QGroupBox::title{
-    color: black !important;
-    font-weight: normal;
-}
-/* General window */
-QMainWindow{
-    border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
-    /*background: #d1d1d1;*/
-}
-/* Global message box */
 QMessageBox {
-    background-color:rgb(145, 145, 145);
-}
-/* Global tooltip */
-QToolTip {
-    color: #000;
-    background-color: #e0e0e0;
-    border: none;
-}
-/* Global dialogs*/
-QDialog{
-    background-color: #eee;
-    color:black;
-}
-/* Global ComboBox */
-QComboBox{
-    background-color: rgb(168, 168, 168);
-    border:0px;
-    height: 26px;
-    padding: 3px 5px 3px 5px;
-    color:#000;
-    min-height: 24px !important;
+background-color:#F8F6F6;
 }
-QComboBox::down-arrow {
-    border-image: url(':/images/light/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
-    border:none;
-    color: none;
-    background:transparent;
+
+/*******************************************************/
+
+QLabel { /* Base Text Size & Color */
+font-size:12px;
+color:#333333;
+
+}
+
+.QCheckBox { /* Checkbox Labels */
+color:#333333;
+background-color:transparent;
 }
+
+.QCheckBox:hover {
+background-color:transparent;
+}
+
+.QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */
+border: 1px solid #999;
+font-size:11px;
+min-height:25px;
+outline:0;
+padding:3px;
+background-color:#fcfcfc;
+}
+
+.QLineEdit:!focus {
+font-size:12px;
+}
+
+.QValidatedLineEdit:disabled, .QLineEdit:disabled {
+background-color:#f2f2f2;
+}
+
+/*******************************************************/
+
+QPushButton { /* Global Button Style */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #757474, stop: .1 #757474, stop: .95 #757474, stop: 1 #757474);
+border:0;
+border-radius:3px;
+color:#ffffff;
+font-size:12px;
+font-weight:normal;
+height: 26px;
+padding-left:25px;
+padding-right:25px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+QPushButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #999, stop: .1 #999, stop: .95 #999, stop: 1 #999);
+}
+
+QPushButton:focus {
+border:none;
+outline:none;
+}
+
+QPushButton:pressed {
+border:1px solid #333;
+}
+
+QComboBox { /* Dropdown Menus */
+border:1px solid #999;
+padding: 3px 5px 3px 5px;
+background:#fcfcfc;
+min-height:25px;
+color:#818181;
+}
+
+QComboBox:checked {
+background:#f2f2f2;
+}
+
+QComboBox:editable {
+background: #A59A9A;
+color:#616161;
+border:0px solid transparent;
+}
+
 QComboBox::drop-down {
-    width:25px;
-    height:200px;
+width:25px;
+border:0px;
+}
+
+QComboBox::down-arrow {
+border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
 }
+
 QComboBox QListView {
-    color: #000;
-    background-color:  rgb(168, 168, 168);
-    border:0px;
-    height:100px;
-    border-radius: 5px;
-    padding-right:1px;
-    padding-left:1px;
-}
-QComboBox QAbstractItemView::item {
-    color: #000;
-    selection-background-color: #494949;
-    height: 35px !important;
-    min-width: 100px !important;
-}
-/* Global TabBar styles */
-QTabWidget::pane {
-    background-color: transparent;
-    border: 0px !important;
-    border-radius:15px;
-}
-/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */
-QTabBar{
-    margin-left: 20px;
-}
-QTabBar::tab {
-    border: 0px solid transparent;
-    border-bottom-color: transparent; /* same as the pane color */
-    padding: 1px;
-    width: 180px;
-    color:#000;
-}
-QTabBar::tab:selected, QTabBar::tab:hover, #tabWidget_OptionsDialog > QTabBar::tab:selected, #tabWidget_OptionsDialog > QTabBar::tab:hover {
-    background-color: rgb(200,200,200) !important;
-    color:#F4EA13;
-}
-QTabBar::tab:selected {
-    border-color: transparent !important;
-    border-bottom-color: transparent !important;
-}
-/* Global Progress Bar styles */
-QProgressBar {
-    border: 2px solid rgb(163, 163, 163);
-    background-color: white;
-    border-bottom-right-radius: 9px;
-    border-bottom-left-radius: 9px;
-    border-top-left-radius: 9px;
-    border-top-right-radius: 9px;
-    max-height: 16px !important;
-}
-QProgressBar::chunk {
-    background-color:#F4EA13;
-    border-radius: 8px;
-    max-height: 16px !important;
-}
-QStatusBar{
-    background-color: #525252;
-}
-/* Global with classes */
-[class="container"]{
-    /*background-color: #f2f2f2;*/
-    background-color: rgba(242, 242, 242, 0.75);
-    border: 0px;
-    /*background-color: #e5e5e5;
-    border-bottom: 13px solid qlineargradient(x1: 1, y1: 0, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);
-    border-right: 13px solid qlineargradient(x1: 0, y1: 1, x2: 1, y2: 1, stop: 0 rgba(80, 80, 80, 0.35), stop: 1 #d1d1d1);*/
-}
-[class="LineEdit"], [class="LineEdit_PacCoins"], [class="LineEditSmall"]{
-    border: 0px;
-    outline:0;
-    padding:3px;
-    background-color: #fff;
-    color: #000;
-}
-[class="LineEdit"], [class="LineEdit_PacCoins"]{
-    height: 40px !important;
-    font-size: 15px;
-    border-radius: 20px;
-}
-[class="LineEditMedium"]{
-    height: 28px !important;
-    font-size: 13px;
-    border-radius: 14px;
-    text-align: center;
-}
-[class="LineEditSmall"]{
-    height: 18px !important;
-    font-size: 13px;
-    border-radius: 9px;
-}
-[class="LineEdit"]:focus, [class="LineEditSmall"]:focus, [class="LineEditMedium"]:focus {
-    font-size:12px;
-}
-[class="LineEdit"]:disabled, [class="LineEditSmall"]:disabled, [class="LineEditMedium"]:disabled {
-    background-color:#474747;
-    color: #878787;
-}
-[class="QuickButton"]{
-    background-color: transparent;
-    border: none;
-    border-radius: 10px;
-}
-[class="QuickButton"]:hover{
-    background-color: rgba(128,128,128,0.2);
-}
-[class="QuickButton"]:pressed{
-    background-color: rgba(250,250,250,0.5);
-}
-
-[class="SpinBoxSmall"]{
-    border-radius: 10px !important;
-    font-size: 12px !important;
-    min-width: 40px !important;
-    min-height:20px !important;
-}
-/* labels */
-QLabel[class="titleLabel"]{
-    text-transform:uppercase;
-    color: #000;
-    font-size:18px;
-}
-QLabel[class="pacCoinsLabel"]{
-    margin: 0px;
-    color: #000;
-    font-size: 32px;
-    font-weight: medium;
-}
-QLabel[class="usdLabel"]{
-    color: #000;
-    font-size: 23px;
-    font-weight: normal;
-}
-QLabel[class="labelPacIcon"]{
-    margin: 0px;
-}
-/* On the overview something is not working properly, that is the reason on doing the underline like this */
-QLabel[class2="yellowUnderline"]{
-    border: 2px solid #FDF002;
-    border-left:transparent;
-    border-right:transparent;
-    border-top:transparent;
-}
-/*textarea*/
-QPlainTextEdit {
-    background: rgb(255, 0, 0);
-    color: rgb(20, 20, 20);
-    font-size: 15px;
-}
-/* ScrollBar */
-QScrollBar:vertical, QScrollBar:horizontal {
-    background-color: #191919;
-    width: 16px;
-    margin: 16px 2px 16px 2px;
-    border: 1px solid rgb(50,50,50);
-    border-radius: 4px;
-}
-QScrollBar::handle:vertical, QScrollBar::handle:horizontal  {
-    background-color: #787878;
-    border: 1px solid rgb(200,200,200);
-    min-height: 8px;
-    border-radius: 4px;
-}
-QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover {
-    background-color: rgb(7,23,199);
-    border: 1px solid rgb(7,23,199);
-    border-radius: 4px;
-    min-height: 8px;
-}
-QScrollBar::sub-line:vertical, QScrollBar::sub-line:horizontal{
-    margin: 3px 0px 3px 0px;
-    border-image: url(:/images/light/drkblue_upArrow_small_black);
-    height: 10px;
-    width: 10px;
-    subcontrol-position: top;
-    subcontrol-origin: margin;
-}
-QScrollBar::add-line:vertical, QScrollBar::add-line:horizontal {
-    margin: 3px 0px 3px 0px;
-    border-image: url(:/images/light/drkblue_downArrow_small_black);
-    height: 10px;
-    width: 10px;
-    subcontrol-position: bottom;
-    subcontrol-origin: margin;
-}
-QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on , QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on{
-    border-image: url(:/images/light/drkblue_upArrow_small_black);
-    height: 10px;
-    width: 10px;
-    subcontrol-position: top;
-    subcontrol-origin: margin;
-}
-QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on, QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on{
-    border-image: url(:/images/light/drkblue_downArrow_small_black);
-    height: 10px;
-    width: 10px;
-    subcontrol-position: bottom;
-    subcontrol-origin: margin;
-}
-QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal {
-    background: none;
-}
-QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{
-    background: none;
-}
-/* Global spinbox: BitcoinAmountField */
+background:#fff;
+border:1px solid #333;
+padding-right:1px;
+padding-left:1px;
+}
+
+QComboBox QAbstractItemView::item { margin:4px; }
+
+QComboBox::item {
+color:#818181;
+}
+
+QComboBox::item:alternate {
+background:#fff;
+}
+
+QComboBox::item:selected {
+border:0px solid transparent;
+background:#f2f2f2;
+}
+
+QComboBox::indicator {
+background-color:transparent;
+selection-background-color:transparent;
+color:transparent;
+selection-color:transparent;
+}
+
 QAbstractSpinBox {
-    border-radius: 20px;
-    font-size: 15px;
-    min-height:40px;
-    background-color: rgb(255, 255, 255);
-    text-align: center;
-    border:0px;
-    color:#000;
-    padding: 3px 5px 3px 5px;
-}
-QAbstractSpinBox:disabled{
-    background-color: rgb(128,128,128);
-    color: #efefef;
+border:1px solid #616161;
+padding: 3px 5px 3px 5px;
+background:#fcfcfc;
+min-height:25px;
+color:#818181;
 }
+
 QAbstractSpinBox::up-button {
-    subcontrol-origin: border;
-    subcontrol-position: top right;
-    width:21px;
-    background-color: transparent;
-    border:0px;
-    padding-right:4px;
-    padding-left:5px;
-    padding-top:2px;
+subcontrol-origin: border;
+subcontrol-position: top right;
+width:21px;
+background:#fcfcfc;
+border-left:0px;
+border-right:1px solid #616161;
+border-top:1px solid #616161;
+border-bottom:0px;
+padding-right:1px;
+padding-left:5px;
+padding-top:2px;
 }
+
 QAbstractSpinBox::up-arrow {
-    image: url(':/images/light/drkblue_upArrow_small_black') 0 0 0 0 stretch stretch;
+image:url(':/images/light/drkblue_upArrow_small');
 }
+
 QAbstractSpinBox::down-button {
-    subcontrol-origin: border;
-    subcontrol-position: bottom right;
-    width:21px;
-    background-color: transparent;
-    border:0px;
-    padding-right:4px;
-    padding-left:5px;
-    padding-bottom:2px;
+subcontrol-origin: border;
+subcontrol-position: bottom right;
+width:21px;
+background:#fcfcfc;
+border-top:0px;
+border-left:0px;
+border-right:1px solid #616161;
+border-bottom:1px solid #616161;
+padding-right:1px;
+padding-left:5px;
+padding-bottom:2px;
 }
+
 QAbstractSpinBox::down-arrow {
-    image: url(':/images/light/drkblue_downArrow_small_black') 0.5 0.5 0.5 0.5 stretch stretch;
-}
-/* Global tables */
-QHeaderView { /* Top of the table Header */
-    background-color: #292929;
-    color: #fff;
-}
-QHeaderView::section { /* Top of the table Header Sections */
-    background-color: #292929;
-    color:#fff;
-    min-height:20px;
-    height:35px;
-    font-weight:bold;
-    font-size:11px;
-    outline:0;
-    border:0px solid #000;
-    border-right:  1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.5, stop: 0 transparent, stop: 1 rgb(71, 71, 71));
-    padding-left:5px;
-    padding-right:5px;
-    padding-top:2px;
-    padding-bottom:2px;
-}
-QHeaderView::down-arrow{
-    image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
-    width: 13px;
-    height: 13px;
-    margin-right: 5px;
-}
-QHeaderView::up-arrow{
-    image: url(':/images/light/drkblue_upArrow') 0 0 0 0 stretch stretch;
-    width: 13px;
-    height: 13px;
-    margin-right: 5px;
-}
-QScrollArea {
-    background: transparent;
-    border:2px solid transparent;
-}
-QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
-    background-color: rgba(255, 255, 255, 0.75);
-    border:none;
+image:url(':/images/light/drkblue_downArrow_small');
 }
-QTableView::item { /* Table Item */
-    font-size:12px;
+
+QCheckBox {
+spacing: 5px;
+}
+
+QCheckBox::indicator {
+width: 16px;
+height: 16px;
+}
+
+QCheckBox::indicator:unchecked {
+image:url(':/images/light/unchecked');
+}
+
+QCheckBox::indicator:unchecked:hover {
+image:url(':/images/light/unchecked');
+}
+
+QCheckBox::indicator:unchecked:pressed {
+image:url(':/images/light/checked');
+}
+
+QCheckBox::indicator:checked {
+image:url(':/images/light/checked');
+}
+
+QCheckBox::indicator:checked:hover {
+image:url(':/images/light/checked');
+}
+
+QCheckBox::indicator:checked:pressed {
+image:url(':/images/light/unchecked');
+}
+
+QCheckBox::indicator:indeterminate:hover {
+image:url(':/images/light/unchecked');
+}
+
+QCheckBox::indicator:indeterminate:pressed {
+image:url(':/images/light/checked');
 }
-QTableView#recentRequestsView, QTableView#MasternodeList, QTableView#transactionsTable, QTableView#tableView{ /* Text color not for proposals */
-    color: gray;
+
+/*******************************************************/
+
+QHeaderView { /* Table Header */
+background-color:transparent;
+}
+
+QHeaderView::section { /* Table Header Sections */
+qproperty-alignment:center;
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #A59A9A, stop: 1 #A59A9A);
+color:#fff;
+min-height:25px;
+font-weight:bold;
+font-size:11px;
+outline:0;
+border:0px solid #fff;
+border-right:1px solid #fff;
+padding-left:5px;
+padding-right:5px;
+padding-top:2px;
+padding-bottom:2px;
+}
+
+QHeaderView::section:last {
+border-right: 0px solid #d7d7d7;
+}
+
+.QScrollArea {
+background:transparent;
+border:0px;
 }
+
+.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
+background:transparent;
+border:0px solid #000;
+}
+
+QTableView::item { /* Table Item */
+background-color:#fcfcfc;
+font-size:12px;
+}
+
 QTableView::item:selected { /* Table Item Selected */
-    background-color: rgb(68, 68, 68);
+background-color:#f0f0f0;
+color:#333;
+}
+
+QScrollBar { /* Scroll Bar */
+
 }
-QTableWidget{
-    background-color: #e5e5e5;
-    color: gray;
+
+QScrollBar:vertical { /* Vertical Scroll Bar Attributes */
+border:0;
+background:#ffffff;
+width:18px;
+margin: 18px 0px 18px 0px;
 }
-/* ToolBar Menu */
-QToolBar {
-    background-color: #292929;
-    border: 0px;
-    padding: 0px;
-    margin: 0px;
+
+QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */
+border:0;
+background:#ffffff;
+height:18px;
+margin: 0px 18px 0px 18px;
 }
-QToolBar > QToolButton {
-    background-color:transparent;
-    border: 0px;
-    height: 63px !important;
-    width: 120px;
-    color: #fff;
+
+
+QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */
+background:#e0e0e0;
+min-height:10px;
 }
-QToolBar > QToolButton:checked {
-    background-color: #444444;
-}
-#toolbarIcon{
-    background: none;
-    margin: 15px 0px 0px 15px;
-    border-image: url(:/icons/bitcoin);
-}
-/* Global Button styles*/
-QPushButton {
-    background: rgba(255,255,255,0.5);
-    border: 1px solid #F4EA13;
-    color: #222;
-    border-radius: 18px;
-    height: 35px;
-    width: 180px;
-    font-weight: medium;
-    font-size: 16px;
-}
-QPushButton:hover, QPushButton:focus {
-    background: rgb(243,232,56) !important;
-    border: 1px solid rgb(243,232,56);
-    color: rgb(5,5,5);
-}
-QPushButton:disabled {
-    background: transparent !important;
-    border: 1px solid rgba(243,232,56,0.6);
-    color:rgb(100,100,100) !important;
+
+QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */
+background:#e0e0e0;
+min-width:10px;
 }
-QPushButton:pressed {
-    background: rgba(243,232,56, 0.5) !important;
-    border: 0px !important;
-    color: rgb(255,255,255) !important;
-}
-/* Style of buttons with classes */
-[class="SmallButton"]{
-    border-radius: 8px;
-    height: 20px;
-    width: 80px;
-    font-weight: normal;
-    font-size: 12px;
-}
-[class="linkButton"]{
-    background-color: transparent !important;
-    border: none !important;
-    color: #f2a710;
-    font-size: 11px;
-    text-decoration: underline;
-}
-[class="linkButton"]:hover, [class="linkButton"]:focus, #removeRequestButton:hover, #removeRequestButton:focus {
-    color:rgb(142, 142, 142);
-    background-color: transparent !important;
-    border: 0px !important;
-}
-[class="linkButton"]:disabled, #removeRequestButton:disabled  {
-    background-color: transparent !important;
-    color:rgb(100,100,100) !important;
-    text-decoration: underline;
-    border: none !important;
-}
-[class="linkButton"]:pressed, #removeRequestButton:pressed {
-    background: transparent !important;
-    border: 0px !important;
-    color: rgb(255,255,255) !important;
-}
-[class="accentButton"]{
-    text-transform:uppercase;
-    border: none;
-    background: #F4EA13;
-    color: rgb(5,5,5);
-    border-radius: 35px;
-    height: 70px !important;
-    width: 360px;
-    font-style: normal;
-    font-size: 22px;
-    font-weight:medium;
-}
-QCheckBox, QRadioButton {
-    color: #000;
-    width: 9px;
-    height: 9px;
-    spacing: 10px;
-}
-/* Global checbox */
-QCheckBox::indicator:unchecked, QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:pressed, QCheckBox::indicator:indeterminate:hover{
-    image:url(':/images/light/unchecked_b');
-}
-QCheckBox::indicator:checked, QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed, QCheckBox::indicator:indeterminate:pressed {
-    image:url(':/images/light/checked_b');
-}
-QCheckBox::indicator:checked:disabled{
-    image:url(':/images/light/checked_b_dis');
-}
-QCheckBox::indicator:unchecked:disabled{
-    image:url(':/images/light/unchecked_b_dis');
-}
-/* Global radio button */
-QRadioButton::indicator:unchecked, QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:checked:pressed, QRadioButton::indicator:indeterminate:hover {
-    image:url(':/images/light/unchecked');
-}
-QRadioButton::indicator:unchecked:pressed, QRadioButton::indicator:checked, QRadioButton::indicator:checked:hover , QRadioButton::indicator:indeterminate:pressed {
-    image:url(':/images/light/checked');
-}
-QRadioButton::indicator:checked:disabled{
-    image:url(':/images/light/checked_dis');
-}
-QRadioButton::indicator:unchecked:disabled{
-    image:url(':/images/light/unchecked_dis');
-}
-/* ComboBox dropdown Menus for the selector of PAC units inside BitcoinAmountField inputs  */
-BitcoinAmountField QComboBox {
-    border-radius: 20px;
-    background-color: rgb(255, 255, 255);
-    font-size: 15px;
-    text-align: center;
-    border:0px;
-    padding: 3px 5px 3px 5px;
-    min-height:40px;
-    color:#000;
-}
-BitcoinAmountField QComboBox:disabled{
-    background-color: rgb(120,120,120);
-    color: #efefef;
-}
-BitcoinAmountField QComboBox:checked{
-    background-color: rgba(250, 250, 250,0.5);
-}
-BitcoinAmountField QComboBox:editable{
-    background-color: rgba(250, 250, 250,0.5);
-    color:#616161;
-    border:0px;
-}
-BitcoinAmountField QComboBox::drop-down {
-    width:25px;
-    border:0px;
-}
-BitcoinAmountField QComboBox::down-arrow {
-    border-image: url(':/images/light/drkblue_downArrow_black') 0 0 0 0 stretch stretch;
-}
-BitcoinAmountField QComboBox QListView{
-    color: #000;
-    background-color:  rgb(255, 255, 255);
-    border:1px solid transparent;
-    border-radius: 5px;
-    padding-right:1px;
-    padding-left:1px;
-}
-BitcoinAmountField QComboBox QAbstractItemView::item {
-    margin:4px;
-}
-BitcoinAmountField QComboBox::item {
-    color:#000 !important;
-}
-BitcoinAmountField QComboBox::item:alternate{
-    background:rgb(255, 255, 255);
-}
-BitcoinAmountField QComboBox::item:selected{
-    border:0px solid transparent;
-    background-color:  rgb(255, 255, 255);
-}
-BitcoinAmountField QComboBox::indicator {
-    background-color:transparent;
-    selection-background-color:transparent;
-    color:transparent;
-    selection-color:transparent;
-}
-
-
-/*
- * Styles by section
- */
-
-
-/*
- * News/profile bar style
- */
-#btnChangeImage{
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    /*border-image: url(:/images/light/hover_profile) 0 0 0 0 stretch stretch;*/
-}
-#btnChangeImage:hover {
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    border: 1px solid rgb(255,255,255) !important;
-    /*border-image: url(:/images/light/hover_profile) 0 0 0 0 stretch stretch;*/
-}
-#btnChangeImage:pressed {
-    height:80px;
-    width:80px;
-    border-radius: 40px;
-    background: red !important;
-}
-#refreshTopBar{
-    qproperty-icon: url(":/icons/light/refresh");
-}
-#copyNews{
-    qproperty-icon: url(":/icons/light/editcopy");
-}
-/*
- * Overview Page
-*/
-#frame_RecentTransactions>QLabel, #frame_Balances>QLabel{
-    text-transform:uppercase;
-}
-#overviewInfo{
-    border-image: url(":/icons/light/info");
-}
-
-/*
- * SendCoins Page
-*/
- QSlider::groove:vertical {
-     background: red;
-     position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
-     left: 4px; right: 4px;
- }
- QSlider::handle:vertical {
-     height: 10px;
-     background: green;
-     margin: 0 -4px; /* expand outside the groove */
- }
- QSlider::add-page:vertical {
-     background: white;
- }
- QSlider::sub-page:vertical {
-     background: pink;
- }
-#SendCoinsDialog{
-    background:transparent;
-}
-#frameCoinControl, #scrollArea, #scrollAreaWidgetContents, #scrollAreaCoinControl{
-    border: 0px !important;
-}
-#frameCoinControl{
-    background: rgba(200,200,200,0.15);
-    border-radius: 8px !important;
-}
-#frameFee{
-    border: 0px;
-}
-#scrollArea, #scrollAreaWidgetContents, #scrollAreaWidgetContents_3, #scrollAreaCoinControl{
-    background-color:rgba(0,0,0,0) !important;
-}
-#verticalWidget{
-    margin-left: 25px !important;
-}
-#copyPacs{
-    border-image: url(:/icons/light/editcopy);
-}
-
-/*
- * Send coins Entry
- */
- #addressBookButton{
-    border-image: url(":/icons/light/address-book");
- }
- #pasteButton{
-    border-image: url(":/icons/light/editcopy");
- }
- #deleteButton, #deleteButton_s, #deleteButton_is{
-    border-image: url(":/icons/light/remove");
- }
-
-/*
- * ReceiveCoins Page
- */
-#ReceiveCoinsDialog{
-    margin: 12px 42px 18px 42px;
-    border: 0px;
-}
-#removeRequestButton{
-    color: #FF1D1D;
-}
-#recentRequestsView QHeaderView::section{
-    text-transform:uppercase;
-    height:20px !important;
-    border-bottom: 1px solid #707070 !important;
-    border-right: 0px solid transparent !important;
-    background: transparent !important;
-    color: #8E8E8E !important;
-}
-#btnCopyLastAddress{
-    border-image: url(":/icons/light/editcopy");
-}
-
-/*
- * Transactions Page
- */
-QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBox#typeWidget, QCombobox#watchOnlyWidget { /* Over the table */
-    background-color: rgb(96, 96, 96);
-    color:#000;
-    border:0px;
-    min-height: 24px !important;
-}
-
-/*
- * Private Page
- */
-/*#framePrivateSend{
-    background-color: rgba(0,0,0,0.5); 
-    border: 0px !important;
-}*/
-#labelPrivateSendHeader{
-    font-size: 27px;
-    font-family:"Gotham", sans-serif;
-    font-weight:bold;
-    color:#000;
-}
-#labelAnonymized{
-    font-size: 48px;
-    font-family:"Gotham Medium", sans-serif;
-    color: #e5dc1b;
-}
-#labelAnonymizedText, #labelAmountAndRoundsText, #labelPrivateSendEnabledText{
-    text-transform:uppercase;
-    font-size: 14px;
-    font-family:"Gotham Medium", sans-serif;
-    color:#000;
-}
-#labelAmountRounds, #labelPrivateSendEnabled {
-    text-transform:uppercase;
-    font-size: 25px;
-    font-family:"Gotham Medium", sans-serif;
-    color: #e5dc1b;
-}
-#privateSendInfo, #privateSendInfo:hover, #privateSendInfo:focus, #privateSendInfo:disabled, #privateSendInfo:pressed, #overviewInfo, #overviewInfo:hover, #overviewInfo:focus, #overviewInfo:disabled, #overviewInfo:pressed{
-    background: transparent;
-    border: 0px;
-}
-#privateSendInfo{
-    border-image: url(":/icons/light/info");
-}
-
-/*
- * Proposal Page
- */
-QLineEdit#proposalWidget, QLineEdit#amountWidget, QLineEdit#yesVotesWidget, QLineEdit#noVotesWidget, QLineEdit#absoluteYesVotesWidget, QLineEdit#percentageWidget{ /* Over the table */
-    background-color: rgb(96, 96, 96);
-    color:#000;
-    border:0px;
-    min-height: 30px !important;
-}
-QComboBox#startDateWidget, QComboBox#endDateWidget{
-    background-color: rgb(96, 96, 96);
-    border:0px;
-    padding: 3px 5px 3px 5px;
-    color:#000;
-    min-height: 24px !important;
-}
-#startDateWidget::down-arrow, #endDateWidget::down-arrow {
-    border-image: url(':/images/light/drkblue_downArrow') 0 0 0 0 stretch stretch;
-}
-#startDateWidget::drop-down, #endDateWidget::drop-down {
-    width:25px;
-    border:3px red;
-}
-QComboBox#startDateWidget QListView, QComboBox#endDateWidget QListView{
-    background-color: rgb(96, 96, 96);
-    border:0px;
-    border-radius: 5px;
-    padding-right:1px;
-    padding-left:1px;
-}
-
-/*
- * Masternodes Page
-*/
-MasternodeList > QTabBar::tab{
-    min-width:180px;
-}
-#filterLineEdit{
-    /*background-color: #0B0B0B;*/
-    border-radius: 12px;
-    height: 24px;
-}
-#tabWidget>QTabBar::tab {
-    background-color: #BDBDBD !important;
-    min-height: 25px;
-    color: white;
-}
-#tabWidget>QTabBar::tab:selected{
-    background-color: #BDBDBD !important;
-    border: 1px solid black !important;
-    color: #fffbb2;
-}
-
-/*
- * OptionsDialog
-*/
-#tabWidget_OptionsDialog QTabBar::tab {
-    background: #666666;
-    width:100px;
-}
-#tabWidget_OptionsDialog::pane {
-    background-color: rgba(200,200,200,1);
-}
-#OptionsDialog > #resetButton{
-    width:210px !important;
-}
-
-/*
- * Sign verify message
- */
-#messageIn_SM, #messageIn_VM{
-    background: rgb(10, 10, 10);
-}
-
-/*
- * Coin contro dialog
- */
-#frame{
-    border: 0px;
-}
-#treeWidget{
-    border: 0px;
-    background-color: rgb(96, 96, 96);
-    color:#000;
-}
-
-/* The class on the QT is not working, this is "LineEditSmall" */
-#addressIn_SM, #signatureOut_SM{
-    border: 0px;
-    outline:0;
-    padding:3px;
-    background-color: rgb(10, 10, 10);
-    color: #000;
-    height: 20px !important;
-    font-size: 13px;
-    border-radius: 10px;
-}
-/* Modal overlay*/
-ModalOverlay > #bgWidget{
-    background:#D9D9D9;
+
+QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */
+background:#F8F6F6;
+}
+
+QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */
+background-color:#F8F6F6;
+border: 1px solid #f2f0f0;
+width:16px;
+height:16px;
+}
+
+QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed {
+background-color:#e0e0e0;
+}
+
+QScrollBar::sub-line:vertical { /* Vertical - top button position */
+subcontrol-position:top;
+subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:vertical { /* Vertical - bottom button position */
+subcontrol-position:bottom;
+subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:horizontal { /* Vertical - left button position */
+subcontrol-position:left;
+subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:horizontal { /* Vertical - right button position */
+subcontrol-position:right;
+subcontrol-origin: margin;
+}
+
+QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */
+width:10px;
+height:10px;
+}
+
+QScrollBar:up-arrow {
+background-image: url(':/images/light/drkblue_upArrow_small');
+}
+
+QScrollBar:down-arrow {
+background-image: url(':/images/light/drkblue_downArrow_small');
+}
+
+QScrollBar:left-arrow {
+background-image: url(':/images/light/drkblue_leftArrow_small');
+}
+
+QScrollBar:right-arrow {
+background-image: url(':/images/light/drkblue_rightArrow_small');
+}
+
+
+/*******************************************************/
+
+/* DIALOG BOXES */
+
+QDialog .QTabWidget {
+border-bottom:1px solid #333;
+}
+
+QDialog .QTabWidget::pane {
+border: 1px solid #d7d7d7;
+}
+
+QDialog .QTabWidget QTabBar::tab {
+background-color:#f2f0f0;
+color:#333;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+border-top: 1px solid #d7d7d7;
+}
+
+QDialog .QTabWidget QTabBar::tab:first {
+border-left: 1px solid #d7d7d7;
+}
+
+QDialog .QTabWidget QTabBar::tab:last {
+border-right: 1px solid #d7d7d7;
+}
+
+QDialog .QTabWidget QTabBar::tab:selected, QDialog .QTabWidget QTabBar::tab:hover {
+background-color:#ffffff;
+color:#333;
+}
+
+QDialog .QTabWidget .QWidget {
+background-color:#fff;
+color:#333;
+}
+
+QDialog .QTabWidget .QWidget QAbstractSpinBox {
+min-height:15px;
+}
+
+QDialog .QTabWidget .QWidget QAbstractSpinBox::down-button {
+width:15px;
+}
+
+QDialog .QTabWidget .QWidget QAbstractSpinBox::up-button {
+width:15px;
+}
+
+QDialog .QTabWidget .QWidget QComboBox {
+min-height:15px;
+}
+
+QDialog QWidget { /* Remove Annoying Focus Rectangle */
+outline: 0;
+}
+
+/*******************************************************/
+/* FILE MENU */
+
+/* Dialog: Open URI */
+QDialog#OpenURIDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#OpenURIDialog QLabel#label { /* URI Label */
+font-weight:bold;
+}
+
+QDialog#OpenURIDialog QPushButton#selectFileButton { /* ... Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#OpenURIDialog QPushButton#selectFileButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QDialog#OpenURIDialog QPushButton#selectFileButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+/* Dialog: Sign / Verify Message */
+QDialog#SignVerifyMessageDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_SM { /* Address Book Button */
+background-color:transparent;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPlainTextEdit { /* Message Signing Text */
+border:1px solid #C7C7C7;
+background-color:#fff;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#pasteButton_SM { /* Paste Button */
+/* qproperty-icon: url(":/icons/light/drkblue_editpaste"); */
+background-color:transparent;
+padding-left:15px;
+}
+
+QDialog#SignVerifyMessageDialog QLineEdit:!focus { /* Font Hack */
+font-size:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#copySignatureButton_SM { /* Copy Button */
+/* qproperty-icon: url(":/icons/light/drkblue_editcopy"); */
+background-color:transparent;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM { /* Clear Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:pressed {
+border:1px solid #9e9e9e;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_VM { /* Verify Message - Address Book Button */
+background-color:transparent;
+border:0;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM { /* Verify Message - Clear Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:pressed {
+border:1px solid #9e9e9e;
+}
+
+/* Dialog: Send and Receive */
+QWidget#AddressBookPage {
+background-color:#F8F6F6;
+}
+
+QWidget#AddressBookPage QPushButton#newAddress { /* New Address Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#AddressBookPage QPushButton#newAddress:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#AddressBookPage QPushButton#newAddress:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#AddressBookPage QPushButton#copyAddress { /* Copy Address Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#AddressBookPage QPushButton#copyAddress:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#AddressBookPage QPushButton#copyAddress:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#AddressBookPage QPushButton#deleteAddress { /* Delete Address Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#AddressBookPage QPushButton#deleteAddress:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#AddressBookPage QPushButton#deleteAddress:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#AddressBookPage QTableView { /* Address Listing */
+font-size:12px;
+}
+
+QWidget#AddressBookPage QHeaderView::section { /* Min width for Windows fix */
+min-width:260px;
+}
+
+/* SETTINGS MENU */
+
+/* Encrypt Wallet and Change Passphrase Dialog */
+QDialog#AskPassphraseDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#AskPassphraseDialog QLabel#passLabel1, QDialog#AskPassphraseDialog QLabel#passLabel2, QDialog#AskPassphraseDialog QLabel#passLabel3 {
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:170px;
+min-height:33px; /* base width of 25px for QLineEdit, plus padding and border */
 }
+
+/* Options Dialog */
+QDialog#OptionsDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#OptionsDialog QValueComboBox, QDialog#OptionsDialog QSpinBox {
+margin-top:5px;
+margin-bottom:5px;
+}
+
+QDialog#OptionsDialog QValidatedLineEdit, QDialog#OptionsDialog QValidatedLineEdit:disabled, QDialog#OptionsDialog QLineEdit, QDialog#OptionsDialog QLineEdit:disabled {
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+min-height:20px;
+margin-top:0px;
+margin-bottom:0px;
+padding-top:1px;
+padding-bottom:1px;
+}
+
+QDialog#OptionsDialog > QLabel {
+qproperty-alignment: 'AlignVCenter';
+min-height:20px;
+}
+
+QDialog#OptionsDialog QWidget#tabDisplay QValueComboBox {
+margin-top:0px;
+margin-bottom:0px;
+}
+
+QDialog#OptionsDialog QLabel#label_3 { /* Translations Missing? Label */
+qproperty-alignment: 'AlignVCenter | AlignCenter';
+color:#818181;
+padding-bottom:8px;
+}
+
+QDialog#OptionsDialog QCheckBox {
+min-height:20px;
+}
+
+QDialog#OptionsDialog QCheckBox#displayAddresses {
+min-height:33px;
+
+}
+
+/* TOOLS MENU */
+
+QDialog#RPCConsole { /* RPC Console Dialog Box */
+background-color:#F8F6F6;
+}
+
+QDialog#RPCConsole QWidget#tab_info QLabel#label_11, QDialog#RPCConsole QWidget#tab_info QLabel#label_10 { /* Margin between Network and Block Chain headers */
+qproperty-alignment: 'AlignBottom';
+min-height:25px;
+min-width:180px;
+}
+
+QDialog#RPCConsole QWidget#tab_peers  QLabel#peerHeading { /* Peers Info Header */
+color:#A59A9A;
+}
+
+QDialog#RPCConsole QPushButton#openDebugLogfileButton {
+max-width:60px;
+}
+
+QDialog#RPCConsole QTextEdit#messagesWidget { /* Console Messages Window */
+border:0;
+}
+
+QDialog#RPCConsole QLineEdit#lineEdit { /* Console Input */
+margin-right:5px;
+}
+
+QDialog#RPCConsole QPushButton#clearButton { /* Console Clear Button */
+background-color:transparent;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#RPCConsole .QGroupBox #line { /* Network In Line */
+background-color:#00ff00;
+}
+
+QDialog#RPCConsole .QGroupBox #line_2 { /* Network Out Line */
+background:#ff0000;
+}
+
+/* HELP MENU */
+
+/* Command Line Options Dialog */
+QDialog#HelpMessageDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#HelpMessageDialog QScrollArea * {
+background-color:#ffffff;
+}
+
+QDialog#HelpMessageDialog QScrollBar:vertical, QDialog#HelpMessageDialog QScrollBar:horizontal {
+border:0;
+}
+
+/* About Paccoin Dialog */
+QDialog#AboutDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#AboutDialog QLabel#label, QDialog#AboutDialog QLabel#copyrightLabel, QDialog#AboutDialog QLabel#label_2 { /* About PAC Contents */
+margin-left:10px;
+}
+
+QDialog#AboutDialog QLabel#label_2 { /* Margin for About Paccoin text */
+margin-right:10px;
+}
+
+/* Edit Address Dialog */
+QDialog#EditAddressDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#EditAddressDialog QLabel {
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-height:27px;
+font-weight:normal;
+padding-right:5px;
+}
+
+/* OVERVIEW SCREEN */
+
+QWidget .QFrame#frame { /* Wallet Balance */
+background-color:transparent;
+/*max-width: 451px;*/
+min-width: 451px;
+max-height: 350px;
+}
+
+QWidget .QFrame#frame > .QLabel {
+min-width:190px;
+font-weight:normal;
+min-height:30px;
+}
+
+/*QWidget .QFrame#frame .QHBoxLayout#HorizontalLayout_4 {
+background-color:transparent;
+max-width: 421px;
+min-width: 421px;
+max-height: 350px;	
+}*/
+
+
+QWidget .QFrame#frame .QLabel#label_5 { /* Wallet Label */
+qproperty-alignment: 'AlignVCenter | AlignCenter';
+max-width: 421px;
+min-width: 421px;
+/*background-color:#F8F6F6;*/
+background-color:#CCC7C7;
+color:#000000;
+margin-right: 5px;
+padding-right: 5px;
+font-weight:bold;
+font-size:14px;
+min-height:35px;
+max-height:35px;
+
+}
+
+QWidget .QFrame#frame .QLabel#labelWalletStatus { /* Wallet Sync Status */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+margin-left:2px;
+padding-right:5px;
+
+}
+
+QWidget .QFrame#frame .QLabel#labelSpendable { /* Spendable Header */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:18px;
+}
+
+QWidget .QFrame#frame .QLabel#labelWatchonly { /* Watch-only Header */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:16px;
+}
+
+QWidget .QFrame#frame .QLabel#labelBalanceText { /* Available Balance Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+/*background-color:#F8F6F6;*/
+background-color:transparent;
+color:#000000;
+margin-right:5px;
+padding-right:5px;
+font-size:16px;
+/*font-weight: bold;*/
+min-height:35px;
+}
+
+QWidget .QFrame#frame .QLabel#labelBalance { /* Available Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:16px;
+color:#000000;
+margin-left:0px;
+background-color:transparent;
+/*font-weight: bold;*/
+}
+
+QWidget .QFrame#frame .QLabel#labelWatchAvailable { /* Watch-only Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:16px;
+}
+
+QWidget .QFrame#frame .QLabel#labelPendingText { /* Pending Balance Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+font-size:12px;
+/*background-color:#F8F6F6;*/
+background-color:transparent;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#frame .QLabel#labelUnconfirmed { /* Pending Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:0px;
+}
+
+QWidget .QFrame#frame .QLabel#labelWatchPending { /* Watch-only Pending Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:16px;
+}
+
+QWidget .QFrame#frame .QLabel#labelImmatureText { /* Immature Balance Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+font-size:12px;
+/*background-color:#F8F6F6;*/
+background-color:transparent;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#frame .QLabel#labelImmature { /* Immature Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:0px;
+}
+
+QWidget .QFrame#frame .QLabel#labelWatchImmature { /* Watch-only Immature Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:16px;
+}
+
+QWidget .QFrame#frame .QLabel#labelTotalText { /* Total Balance Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+font-size:12px;
+/*background-color:#F8F6F6;*/
+background-color: transparent;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#frame .QLabel#labelTotal { /* Total Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:0px;
+}
+
+QWidget .QFrame#frame .QLabel#labelWatchTotal { /* Watch-only Total Balance */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+font-size:12px;
+margin-left:16px;
+}
+
+/* PRIVATESEND WIDGET */
+
+QWidget .QFrame#framePrivateSend { /* PrivateSend Widget */
+background-color:transparent;
+max-width: 451px;
+min-width: 451px;
+max-height: 350px;
+}
+
+QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetPrivateSendHeader { /* PrivateSend Header */
+max-width: 421px;
+min-width: 421px;
+}
+
+QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendHeader { /* PrivateSend Header */
+qproperty-alignment: 'AlignVCenter | AlignCenter';
+max-width: 421px;
+min-width: 421px;
+/*background-color:#F8F6F6;*/
+background-color:#CCC7C7;
+color:#000000;
+margin-right: 5px;
+padding-right: 5px;
+font-weight:bold;
+font-size:14px;
+min-height:35px;
+max-height:35px;
+}
+/******************************************************************/
+QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendSyncStatus { /* PrivateSend Sync Status */
+qproperty-alignment: 'AlignVCenter | AlignLeft';
+margin-left:2px;
+padding-right:5px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget {
+max-width: 451px;
+max-height: 175px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget > .QLabel {
+min-width:175px;
+font-weight:normal;
+min-height:25px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabledText { /* PrivateSend Enabled Status Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+background-color:#F8F6F6;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabled { /* PrivateSend Enabled Status */
+
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelCompletitionText { /* PrivateSend Completion Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+background-color:#F8F6F6;
+margin-right:5px;
+padding-right:5px;
+
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress { /* PrivateSend Completion */
+border: 1px solid #818181;
+border-radius: 1px;
+margin-right:43px;
+text-align: right;
+color:#818181;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress::chunk {
+background-color: #F8F6F6;
+width:1px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymizedText { /* PrivateSend Balance Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+background-color:#F8F6F6;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymized { /* PrivateSend Balance */
+
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountAndRoundsText { /* PrivateSend Amount and Rounds Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+background-color:#F8F6F6;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountRounds { /* PrivateSend Amount and Rounds */
+
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenomText { /* PrivateSend Submitted Denom Label */
+qproperty-alignment: 'AlignVCenter | AlignRight';
+min-width:160px;
+background-color:#F8F6F6;
+margin-right:5px;
+padding-right:5px;
+}
+
+QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenom { /* PrivateSend Submitted Denom */
+
+}
+
+QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetLastMessageAndButtons {
+max-width: 451px;
+}
+
+QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendLastMessage { /* PrivateSend Status Notifications */
+qproperty-alignment: 'AlignVCenter | AlignCenter';
+min-width: 288px;
+min-height: 43px;
+font-size:11px;
+color:#818181;
+}
+
+/* PRIVATESEND BUTTONS */
+
+QWidget .QFrame#framePrivateSend .QPushButton { /* PrivateSend Buttons - General Attributes */
+border:0px solid #ffffff;
+}
+
+QWidget .QFrame#framePrivateSend QPushButton:focus {
+border:none;
+outline:none;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend { /* Start PrivateSend Mixing */
+min-height: 40px;
+font-size:15px;
+font-weight:normal;
+color:#ffffff;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:6px;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend:hover {
+
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto { /* Try Mix Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+min-height:25px;
+font-size:9px;
+padding:0px;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset { /* Reset Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+min-height:25px;
+font-size:9px;
+padding:0px;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo { /* Info Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+min-height:25px;
+font-size:9px;
+padding:0px;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:pressed {
+border:1px solid #9e9e9e;
+}
+
+/* RECENT TRANSACTIONS */
+
+QWidget .QFrame#frame_2 { /* Transactions Widget */
+min-width:410px;
+margin-right:20px;
+margin-left:0;
+margin-top:15px;
+/*background-image: url(':/images/light/paccoin_logo_horizontal');*/
+background-repeat:none;
+}
+
+QWidget .QFrame#frame_2 .QLabel#label_4 { /* Recent Transactions Label */
+min-width:180px;
+color:#000000;
+margin-left:67px;
+margin-top:10px;
+margin-right:5px;
+padding-right:5px;
+font-weight:bold;
+font-size:24;
+min-height:24px;
+}
+
+QWidget .QFrame#frame_2 .QLabel#labelTransactionsStatus { /* Recent Transactions Sync Status */
+qproperty-alignment: 'AlignBottom | AlignRight';
+min-width:93px;
+margin-top:15px;
+margin-left:16px;
+margin-right:5px;
+min-height:16px;
+}
+
+QWidget .QFrame#frame_2 QListView { /* Transaction List */
+font-weight:normal;
+font-size:12px;
+max-width:369px;
+margin-top:12px;
+margin-left:0px; /* CSS Voodoo - set to -66px to hide default transaction icons */
+}
+
+/* MODAL OVERLAY */
+
+QWidget#bgWidget { /* The 'frame' overlaying the overview-page */
+    background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+    color:#616161;
+    padding-left:10px;
+    padding-right:10px;
+}
+
+QWidget#bgWidget .QPushButton#warningIcon {
+width:64px;
+height:64px;
+padding:5px;
+background-color:transparent;
+}
+
+QWidget#contentWidget { /* The actual content with the text/buttons/etc... */
+border-image: url(':/images/light/drkblue_walletFrame_bg') 0 0 0 0 stretch stretch;
+border-top:0px solid #000;
+margin:0;
+padding-top:20px;
+padding-bottom: 20px;
+}
+
+QWidget#bgWidget .QPushButton#closeButton {
+
+}
+
+/* SEND DIALOG */
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl { /* Coin Control Section */
+
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl > .QLabel { /* Default Font Color and  Size */
+font-weight:normal;
+color: #999;
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QPushButton#pushButtonCoinControl { /* Coin Control Inputs Button */
+padding-left:10px;
+padding-right:10px;
+min-height:25px;
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlFeatures { /* Coin Control Header */
+color:#999;
+font-weight:normal;
+font-size:14px;
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl { /* Coin Control Inputs */
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .QLabel { /* Coin Control Inputs Labels */
+padding:2px;
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */
+}
+
+QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlChangeLabel { /* Custom Change Address Validation Label */
+font-weight:normal;
+qproperty-margin:-6;
+margin-right:112px;
+}
+
+QDialog#SendCoinsDialog .QScrollArea#scrollArea .QWidget#scrollAreaWidgetContents { /* Send To Widget */
+background:transparent;
+}
+
+QDialog#SendCoinsDialog .QPushButton#sendButton { /* Send Button */
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SendCoinsDialog .QPushButton#clearButton { /* Clear Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SendCoinsDialog .QPushButton#clearButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QDialog#SendCoinsDialog .QPushButton#clearButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+QDialog#SendCoinsDialog .QPushButton#addButton { /* Add Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QDialog#SendCoinsDialog .QPushButton#addButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QDialog#SendCoinsDialog .QPushButton#addButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+QDialog#SendCoinsDialog .QCheckBox#checkUsePrivateSend { /* PrivateSend Checkbox */
+color:#616161;
+font-weight:bold;
+background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop: 1 rgba(0, 0, 0, 0));
+border-radius:5px;
+padding-top:20px;
+padding-bottom:18px;
+}
+
+QDialog#SendCoinsDialog .QCheckBox#checkUseInstantSend { /* InstantSend Checkbox */
+color:#616161;
+font-weight:bold;
+background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(0, 0, 0, 0), stop: 1 rgba(0, 0, 0, 0));
+border-radius:5px;
+padding-top:20px;
+padding-bottom:18px;
+margin-left:10px;
+margin-right:20px;
+}
+
+/* This QLabel uses name = "label" which conflicts with Address Book -> New Address */
+/* To maximize backwards compatibility this formatting has been removed */
+
+QDialog#SendCoinsDialog QLabel#label {
+/*margin-left:20px;
+margin-right:-2px;
+padding-right:-2px;
+color:#616161;
+font-size:14px;
+font-weight:bold;
+border-radius:5px;
+padding-top:20px;
+padding-bottom:20px;*/
+min-height:27px;
+}
+
+QDialog#SendCoinsDialog QLabel#labelBalance {
+margin-left:0px;
+padding-left:0px;
+color:#333333;
+/* font-weight:bold;
+border-radius:5px;
+padding-top:20px;
+padding-bottom:20px; */
+min-height:27px;
+}
+
+#checkboxSubtractFeeFromAmount {
+padding-left:10px;
+}
+
+
+/* SEND COINS ENTRY */
+
+QStackedWidget#SendCoinsEntry .QFrame#SendCoins > .QLabel { /* Send Coin Entry Labels */
+/*background-color:#F8F6F6;*/
+background-color:transparent
+min-width:102px;
+font-weight:normal;
+/*font-size:11px;*/
+color:#333;
+min-height:25px;
+margin-right:5px;
+padding-right:5px;
+}
+
+QStackedWidget#SendCoinsEntry .QFrame#SendCoins .QLabel#amountLabel {
+color: #000000;
+/*background-color:#F8F6F6;*/
+background-color: transparent;
+}
+
+QStackedWidget#SendCoinsEntry .QValidatedLineEdit#payTo { /* Pay To Input Field */
+}
+
+QStackedWidget#SendCoinsEntry .QToolButton { /* General Settings for Pay To Icons */
+background-color:transparent;
+padding-left:5px;
+padding-right:5px;
+border: 0;
+outline: 0;
+}
+
+QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { /* Address Book Button */
+padding-left:10px;
+}
+
+QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton {
+}
+
+QStackedWidget#SendCoinsEntry .QToolButton#pasteButton {
+}
+
+QStackedWidget#SendCoinsEntry .QToolButton#deleteButton {
+}
+
+QStackedWidget#SendCoinsEntry .QLineEdit#addAsLabel { /* Pay To Input Field */
+}
+
+/* COIN CONTROL POPUP */
+
+QDialog#CoinControlDialog { /* Coin Control Dialog Window */
+background-color:#F8F6F6;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlQuantityText { /* Coin Control Quantity Label */
+min-height:30px;
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlQuantity { /* Coin Control Quantity */
+min-height:30px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlBytesText { /* Coin Control Bytes Label */
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlBytes { /* Coin Control Bytes */
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlAmountText { /* Coin Control Amount Label */
+min-height:30px;
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlAmount { /* Coin Control Amount */
+min-height:30px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlPriorityText { /* Coin Control Priority Label */
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlPriority { /* Coin Control Priority */
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlFeeText { /* Coin Control Fee Label */
+min-height:30px;
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlFee { /* Coin Control Fee */
+min-height:30px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutputText { /* Coin Control Low Output Label */
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutput { /* Coin Control Low Output */
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFeeText { /* Coin Control After Fee Label */
+min-height:30px;
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFee { /* Coin Control After Fee */
+min-height:30px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlChangeText { /* Coin Control Change Label */
+padding-left:15px;
+}
+
+QDialog#CoinControlDialog .QLabel#labelCoinControlChange { /* Coin Control Change */
+
+}
+
+QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonSelectAll { /* (un)select all button */
+padding-left:10px;
+padding-right:10px;
+min-height:25px;
+}
+
+QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { /* Toggle lock state button */
+padding-left:10px;
+padding-right:10px;
+min-height:25px;
+}
+
+QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */
+}
+
+QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioTreeMode { /* Coin Control Tree Mode Selector */
+color:#818181;
+background-color:transparent;
+}
+
+QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioListMode { /* Coin Control List Mode Selector */
+color:#818181;
+background-color:transparent;
+}
+
+QDialog#CoinControlDialog QHeaderView::section:first { /* Bug Fix: the number "1" displays in this table for some reason... */
+color:transparent;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget { /* Coin Control Widget Container */
+outline:0;
+background-color:#ffffff;
+border:0px solid #818181;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item {
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:selected { /* Coin Control Item (selected) */
+background-color:#f7f7f7;
+color:#333;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:checked { /* Coin Control Item (checked) */
+background-color:#f7f7f7;
+color:#333;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */
+background-image: url(':/images/light/drkblue_qtreeview_selected');
+background-repeat:no-repeat;
+background-position:center;
+background-color:#f7f7f7;
+color:#333;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */
+background-image: url(':/images/light/drkblue_qtreeview_selected');
+background-repeat:no-repeat;
+background-position:center;
+background-color:#f7f7f7;
+color:#333;
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::seperator {
+
+}
+
+QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::indicator { /* Coin Control Widget Checkbox */
+
+}
+
+/* RECEIVE COINS */
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_2 { /* Label Label */
+background-color:transparent;
+border: 0px solid #fff;
+min-width:102px;
+color:#333;
+/*font-weight:bold;
+font-size:11px;*/
+padding-right:5px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label { /* Amount Label */
+background-color:#transparent;
+border: 0px solid #333;
+min-width:102px;
+/*color:#ffffff;*/
+/*font-weight:bold;
+font-size:11px;*/
+padding-right:5px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_3 { /* Message Label */
+background-color:#transparent;
+border: 0px solid #fff;
+min-width:102px;
+color:#333;
+/*font-weight:bold;
+font-size:11px;*/
+padding-right:5px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton { /* Clear Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton { /* Show Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton { /* Remove Button */
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb);
+border:1px solid #d2d2d2;
+color:#616161;
+padding-left:10px;
+padding-right:10px;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:hover {
+background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb);
+color:#333;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:pressed {
+border:1px solid #9e9e9e;
+}
+
+QWidget#ReceiveCoinsDialog .QFrame#frame .QLabel#label_6 { /* Requested Payments History Label */
+color:#999;
+font-weight:normal;
+font-size:14px;
+}
+
+/* RECEIVE COINS DIALOG */
+
+QDialog#ReceiveRequestDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#ReceiveRequestDialog QTextEdit { /* Contents of Receive Coin Dialog */
+border:1px solid #d7d7d7;
+}
+
+/* TRANSACTIONS PAGE */
+
+TransactionView QLineEdit { /* Filters */
+margin-bottom:2px;
+margin-right:1px;
+min-width:111px;
+text-align:center;
+}
+
+TransactionView QLineEdit#addressWidget { /* Address Filter */
+margin-bottom:2px;
+margin-right:1px;
+min-width:405px;
+text-align:center;
+}
+
+TransactionView QLineEdit#amountWidget { /* Amount Filter */
+margin-bottom:2px;
+margin-right:1px;
+max-width:100px;
+text-align:center;
+}
+
+TransactionView QComboBox {
+margin-bottom:1px;
+margin-right:1px;
+}
+
+QLabel#transactionSumLabel { /* Example of setObjectName for widgets without name */
+color:#333333;
+font-weight:bold;
+}
+ 
+QLabel#transactionSum { /* Example of setObjectName for widgets without name */
+color:#333333;
+}
+
+/* TRANSACTION DETAIL DIALOG */
+
+QDialog#TransactionDescDialog {
+background-color:#F8F6F6;
+}
+
+QDialog#TransactionDescDialog QTextEdit { /* Contents of Receive Coin Dialog */
+border:1px solid #d7d7d7;
+}
+
+
diff --git a/src/qt/res/css/pac.css b/src/qt/res/css/pac.css
index f5a35dedaf74..b9bfae4d9978 100644
--- a/src/qt/res/css/pac.css
+++ b/src/qt/res/css/pac.css
@@ -573,17 +573,12 @@ BitcoinAmountField QComboBox::indicator {
     border-radius: 40px;
     background: white !important;
 }
-#refreshTopBar{
-    qproperty-icon: url(":/icons/pac/refresh");
-}
-#copyNews{
-    qproperty-icon: url(":/icons/light/editcopy");
-}
 
 /*
  * Overview Page
 */
 
+
 /*
  * SendCoins Page
 */
@@ -610,22 +605,6 @@ BitcoinAmountField QComboBox::indicator {
 #verticalWidget{
     margin-left: 25px !important;
 }
-#copyPacs{
-    border-image: url(:/icons/pac/editcopy);
-}
-
-/*
- * Send coins Entry
- */
- #addressBookButton{
-    border-image: url(":/icons/pac/address-book");
- }
- #pasteButton{
-    border-image: url(":/icons/pac/editcopy");
- }
- #deleteButton, #deleteButton_s, #deleteButton_is{
-    border-image: url(":/icons/pac/remove");
- }
 
 /*
  * ReceiveCoins Page
@@ -644,9 +623,6 @@ BitcoinAmountField QComboBox::indicator {
     background: transparent !important;
     color: #8E8E8E !important;
 }
-#btnCopyLastAddress{
-    border-image: url(":/icons/pac/editcopy");
-}
 
 /*
  * Transactions Page
@@ -691,9 +667,6 @@ QLineEdit#addressWidget, QLineEdit#tAmountWidget, QComboBox#dateWidget, QComboBo
     background: transparent;
     border: 0px;
 }
-#privateSendInfo{
-    border-image: url(":/icons/pac/info");
-}
 
 /*
  * Proposal Page
diff --git a/src/qt/res/icons/light/address-book.png b/src/qt/res/icons/light/address-book.png
old mode 100755
new mode 100644
index 74e21c13068aa98ee0d2e60fe722d32db0531b9b..65d3df6d61f99bc5b0325b104af4ec964a55a4de
GIT binary patch
diff --git a/src/qt/res/icons/light/clock1.png b/src/qt/res/icons/light/clock1.png
index 3e93425823330272d0b46be9a7ec7e8c1acebfe5..214ac9b9f04a53db77ed850a72450218d5a029b6 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock2.png b/src/qt/res/icons/light/clock2.png
index 3ea9ca856ebcd7e052ed340d82a44cda987284d6..5b0dd7afe391bc047026771cc555ac887839dd6e 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock3.png b/src/qt/res/icons/light/clock3.png
index 7ba498769403e00aa884c4acb4d29b881d187081..523139f8fc11e5d6f93c2885d054bc6068d6d730 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock4.png b/src/qt/res/icons/light/clock4.png
index 0efd3ef12f915755c26cb90e12e6bac90373bb95..c007f501fdd21f3c1f3b348dc51ece8ccd7546a2 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/clock5.png b/src/qt/res/icons/light/clock5.png
index 31218dd51bd96704a0625ec6c533dccdc40eacd1..2d40197a0078d53c6c0cc77cdd803d5003dfbc46 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/connect1_16.png b/src/qt/res/icons/light/connect1_16.png
old mode 100755
new mode 100644
index c5fc690f395e1e1f12e1e225a1bd6e2dd0afe395..daeedd51f6217a9ab2b569ffbc6dc783b12a3286
GIT binary patch
diff --git a/src/qt/res/icons/light/connect2_16.png b/src/qt/res/icons/light/connect2_16.png
old mode 100755
new mode 100644
index 97362201f4b4a98b0b8b4e39de79603168138dd2..bd24b1c37e9a44026c8a884c22dbabc93e136022
GIT binary patch
diff --git a/src/qt/res/icons/light/connect3_16.png b/src/qt/res/icons/light/connect3_16.png
old mode 100755
new mode 100644
index 99dcd17b3a88d5b261abedfaf09c9af35aa31138..1c15e12f9ed6f8ab9c5983ec646aa08156b1f548
GIT binary patch
diff --git a/src/qt/res/icons/light/connect4_16.png b/src/qt/res/icons/light/connect4_16.png
old mode 100755
new mode 100644
index 07a0f82cb561b138df6d42bd73b870c9b7e2620c..0eb2b848c90c02449489742fdc5f205b565d87bd
GIT binary patch
diff --git a/src/qt/res/icons/light/editcopy.png b/src/qt/res/icons/light/editcopy.png
old mode 100755
new mode 100644
index d8cfd5209e9f6d7f608d394d62389b166c5e1d49..1dd4bf8f30e659f6578d495d8f13da6511295e73
GIT binary patch
diff --git a/src/qt/res/icons/light/editpaste.png b/src/qt/res/icons/light/editpaste.png
index 59ee7336bd3c2edfcd45ba88964f33fc7d4ca70e..55aa8583518279844d5a91e285066ddf91af03e2 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye.png b/src/qt/res/icons/light/eye.png
index 2dd0e842be6774280e1f9c56d6a4f213426b2e87..4ffaaee8b9c1b54a8abe71a3976f2705c690afc7 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_minus.png b/src/qt/res/icons/light/eye_minus.png
index c24e3b420b210dc8723537813069c8eca8777105..96ebe8470f490135f7ae37c81d30de8c3dff28ea 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/eye_plus.png b/src/qt/res/icons/light/eye_plus.png
index 358348228f1f4ea546971f86c4d077b2b695fabb..5d81923483d929cff2e198d74874d99193b16f30 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/history.png b/src/qt/res/icons/light/history.png
old mode 100755
new mode 100644
index 007cdc34ff5e410554a04006d979057f309bbcd2..a1b2c7b0ffd4ad0d8384394b8464f610c62f4423
GIT binary patch
diff --git a/src/qt/res/icons/light/info.png b/src/qt/res/icons/light/info.png
deleted file mode 100755
index d7a56045579265afe2b991aec135d0a185dad20a..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/icons/light/lock_closed.png b/src/qt/res/icons/light/lock_closed.png
old mode 100755
new mode 100644
index d3abf86c002b3752959f8a1c48d4b4bdcf6180f0..0677384a2b23e16bf1bea08b46b3cd37c01733dd
GIT binary patch
diff --git a/src/qt/res/icons/light/masternodes.png b/src/qt/res/icons/light/masternodes.png
old mode 100755
new mode 100644
index 3fbb59753d5c531f793a8462966ea0a807e24d3b..0f2f101557eecd03f9424e80df426bfe181fe3f0
GIT binary patch
diff --git a/src/qt/res/icons/light/overview.png b/src/qt/res/icons/light/overview.png
index 612179789d9dea46c0de0be0e07e262486888979..90e510918c7e733b8e82a4d61d90d39629319ebc 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/private.png b/src/qt/res/icons/light/private.png
deleted file mode 100755
index e99afddbeee475487f40efb809e87a6ade9780d8..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/icons/light/proposal.png b/src/qt/res/icons/light/proposal.png
old mode 100755
new mode 100644
index 3cfce8b12c8b12181bfcae174c3a82478914e462..73475989c45b0b27323bad7dbcf9268d3e67e47f
GIT binary patch
diff --git a/src/qt/res/icons/light/receive.png b/src/qt/res/icons/light/receive.png
old mode 100755
new mode 100644
index 4208201774751ddd861afede3cf956113185aa1f..04ae20f30a9a815b9b335be9fe610d76ca995532
GIT binary patch
diff --git a/src/qt/res/icons/light/refresh.png b/src/qt/res/icons/light/refresh.png
deleted file mode 100644
index 3f6490d1d5fa9149a397f57e5afcb280bd9e4479..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/icons/light/remove.png b/src/qt/res/icons/light/remove.png
index 2aed988bf04c523843c88019d309b2e300530e5f..99fd9660e5292dd7146d66b60f1539cc2dd18a78 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/send.png b/src/qt/res/icons/light/send.png
old mode 100755
new mode 100644
index 8db3aee7494ffd63bca230190f8f63fa06e500b3..2cbb38527915dc2cb82b7f1044ecf5dbecb5449c
GIT binary patch
diff --git a/src/qt/res/icons/light/synced.png b/src/qt/res/icons/light/synced.png
old mode 100755
new mode 100644
index d6d05f961a9265db2df9ee4fc44ab9076e61cf71..6a64c373b585de7e871c2e2002e2c353ad9c6de9
GIT binary patch
diff --git a/src/qt/res/icons/light/transaction_abandoned.png b/src/qt/res/icons/light/transaction_abandoned.png
old mode 100755
new mode 100644
index 07d561ac4cda8f98617819c6d050701d71c1068e..0a44de47c52d290dd9dc3034b6eb00ecfde9aed8
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_inout.png b/src/qt/res/icons/light/tx_inout.png
index 2fdd34829c70fe37cb77610d78febf2ffd6ff7c6..94ea75e1cd9c03c84dab2397140676182c0c3ea0 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_input.png b/src/qt/res/icons/light/tx_input.png
old mode 100755
new mode 100644
index d1e4d7f6851c57d597aecb15e311a1b966d8961e..31baf303ef7f02a308b307da1d518a4102674123
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_mined.png b/src/qt/res/icons/light/tx_mined.png
index 7cc230ceeddd20543d7956d2117f6a8ff49334f9..597dfeae286dec6da982f099ae9ca0410865c998 100644
GIT binary patch
diff --git a/src/qt/res/icons/light/tx_output.png b/src/qt/res/icons/light/tx_output.png
old mode 100755
new mode 100644
index 41799a8c5982038062f2c9c396ee34adbcf894cd..aada2d806e981e30adfbfe56658fe44f4fc05ce1
GIT binary patch
diff --git a/src/qt/res/icons/pac/refresh.png b/src/qt/res/icons/pac/refresh.png
deleted file mode 100644
index e09965cd878550f3fdb07cc90b2fb3d8873fa180..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/checked.png b/src/qt/res/images/light/checked.png
index 2fbe8b6260b852f87866871056e39ffe77f3cb00..66964222f78febd83aa748e0440b69a14d9740a3 100644
GIT binary patch
diff --git a/src/qt/res/images/light/checked_b.png b/src/qt/res/images/light/checked_b.png
deleted file mode 100644
index ea00a7a95809b344a3eab18ef9a441ec7886203e..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/checked_b_dis.png b/src/qt/res/images/light/checked_b_dis.png
deleted file mode 100644
index ffef8637bc45ddfd1bb098942e45f02278660299..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/checked_dis.png b/src/qt/res/images/light/checked_dis.png
deleted file mode 100644
index 09957dd4ea4bebccb8784501a8a6801dfbe29be5..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow.png b/src/qt/res/images/light/drkblue_downArrow.png
index 3135d585792fa6f196e0c87dbacf8944d5d78df2..0ae14b441cec0df915bfecdefea47d7254e961d3 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_black.png b/src/qt/res/images/light/drkblue_downArrow_black.png
deleted file mode 100644
index 5e9cc18d8ebf5441add704a7b73777fc67c352bd..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_small.png b/src/qt/res/images/light/drkblue_downArrow_small.png
index 4c465ad6c1c41f1ae63347b6981970eacd40b0d8..5552a8dc9484ad72881bba9e5d88c728cc9c7dcf 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_downArrow_small_black.png b/src/qt/res/images/light/drkblue_downArrow_small_black.png
deleted file mode 100644
index 83e714c1ba62ee82f59dbed80c582852789c390b..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_leftArrow_small.png b/src/qt/res/images/light/drkblue_leftArrow_small.png
index 10d6ed5a7ec3a10f53bf4c6da712d703918a6a0c..25cbc03b33bcdc2988540315e3ac21bb7bc79ddf 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_rightArrow_small.png b/src/qt/res/images/light/drkblue_rightArrow_small.png
index a22e5de911480688db769516984b789cb0a01730..177c16a53e73f67cd5d47f1d61b03a29b31f350e 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_upArrow_small.png b/src/qt/res/images/light/drkblue_upArrow_small.png
index 02ea1610b6465d2c42f2e5c50380239507dfaf54..b28c7f3284274ae74323539ab0c14aa6075a273b 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_upArrow_small_black.png b/src/qt/res/images/light/drkblue_upArrow_small_black.png
deleted file mode 100644
index 8b71a5ff8639f0d699f7576d12c1462d8154513a..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_walletFrame_bg.png b/src/qt/res/images/light/drkblue_walletFrame_bg.png
index 13cd838b8075542faa11817c28e7fa68c81d0b54..dceb6d56a20958246350627c0d0a7d6f4c5bd678 100644
GIT binary patch
diff --git a/src/qt/res/images/light/drkblue_walletFrame_bg2.png b/src/qt/res/images/light/drkblue_walletFrame_bg2.png
deleted file mode 100644
index 6892cb164f487055d5157b99b1637f355538a001..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/header_bkg.png b/src/qt/res/images/light/header_bkg.png
deleted file mode 100644
index cc6bf9e9a0b9ac9a4f46e0bb1386f3a9f2584c41..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/hover_profile.png b/src/qt/res/images/light/hover_profile.png
deleted file mode 100755
index 5181dc29d26db8a4fe5575f4325d052e170a142b..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/profile_bkg.png b/src/qt/res/images/light/profile_bkg.png
deleted file mode 100644
index 3d35d986fc833e083e7c48ca550945a66fce489a..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked.png b/src/qt/res/images/light/unchecked.png
index 7e367cef01463cc452117cae24e2a67c78c134f2..d48670c0c8b66f35fe047552038211f4c061e1e5 100644
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_b.png b/src/qt/res/images/light/unchecked_b.png
deleted file mode 100644
index 24f6678c9f782cb64ddba23e1b370d0a5d99c327..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_b_dis.png b/src/qt/res/images/light/unchecked_b_dis.png
deleted file mode 100644
index 20f5fdc3ad97d11e6f163421480e885a2cd796ef..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/res/images/light/unchecked_dis.png b/src/qt/res/images/light/unchecked_dis.png
deleted file mode 100644
index 76c8904893ef6d7c75cfd0bf9f08dabfce20190b..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 45509ed8975a..31dcd8602d5f 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -40,6 +40,13 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare
     for (int i = 0; i < widgets.length(); i++){
         widgets.at(i)->setFont(selectedFont);
     }
+
+    // These icons are needed on Mac also!
+    ui->addressBookButton->setIcon(QIcon(":/icons/" + theme + "/address-book"));
+    ui->pasteButton->setIcon(QIcon(":/icons/" + theme + "/editpaste"));
+    ui->deleteButton->setIcon(QIcon(":/icons/" + theme + "/remove"));
+    ui->deleteButton_is->setIcon(QIcon(":/icons/" + theme + "/remove"));
+    ui->deleteButton_s->setIcon(QIcon(":/icons/" + theme + "/remove"));
       
     // normal paccoin address field
     GUIUtil::setupAddressWidget(ui->payTo, this);
