|
|
|
@ -3,6 +3,7 @@
@@ -3,6 +3,7 @@
|
|
|
|
|
#include "main.h" |
|
|
|
|
|
|
|
|
|
#include <QFont> |
|
|
|
|
#include <QColor> |
|
|
|
|
|
|
|
|
|
const QString AddressTableModel::Send = "S"; |
|
|
|
|
const QString AddressTableModel::Receive = "R"; |
|
|
|
@ -21,6 +22,16 @@ struct AddressTableEntry
@@ -21,6 +22,16 @@ struct AddressTableEntry
|
|
|
|
|
AddressTableEntry() {} |
|
|
|
|
AddressTableEntry(Type type, const QString &label, const QString &address): |
|
|
|
|
type(type), label(label), address(address) {} |
|
|
|
|
|
|
|
|
|
bool isDefaultAddress() const |
|
|
|
|
{ |
|
|
|
|
std::vector<unsigned char> vchPubKey; |
|
|
|
|
if (CWalletDB("r").ReadDefaultKey(vchPubKey)) |
|
|
|
|
{ |
|
|
|
|
return address == QString::fromStdString(PubKeyToAddress(vchPubKey)); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// Private implementation
|
|
|
|
@ -110,9 +121,30 @@ QVariant AddressTableModel::data(const QModelIndex &index, int role) const
@@ -110,9 +121,30 @@ QVariant AddressTableModel::data(const QModelIndex &index, int role) const
|
|
|
|
|
} |
|
|
|
|
else if (role == Qt::FontRole) |
|
|
|
|
{ |
|
|
|
|
QFont font; |
|
|
|
|
if(index.column() == Address) |
|
|
|
|
{ |
|
|
|
|
return GUIUtil::bitcoinAddressFont(); |
|
|
|
|
font = GUIUtil::bitcoinAddressFont(); |
|
|
|
|
} |
|
|
|
|
if(rec->isDefaultAddress()) |
|
|
|
|
{ |
|
|
|
|
font.setBold(true); |
|
|
|
|
} |
|
|
|
|
return font; |
|
|
|
|
} |
|
|
|
|
else if (role == Qt::ForegroundRole) |
|
|
|
|
{ |
|
|
|
|
// Show default address in alternative color
|
|
|
|
|
if(rec->isDefaultAddress()) |
|
|
|
|
{ |
|
|
|
|
return QColor(0,0,255); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (role == Qt::ToolTipRole) |
|
|
|
|
{ |
|
|
|
|
if(rec->isDefaultAddress()) |
|
|
|
|
{ |
|
|
|
|
return tr("Default receiving address"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (role == TypeRole) |
|
|
|
|