Changeset View
Changeset View
Standalone View
Standalone View
src/qt/guiutil.cpp
Show First 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | |||||
#define NSAppKitVersionNumber10_8 1187 | #define NSAppKitVersionNumber10_8 1187 | ||||
#endif | #endif | ||||
#if !defined(NSAppKitVersionNumber10_9) | #if !defined(NSAppKitVersionNumber10_9) | ||||
#define NSAppKitVersionNumber10_9 1265 | #define NSAppKitVersionNumber10_9 1265 | ||||
#endif | #endif | ||||
#endif | #endif | ||||
namespace GUIUtil { | namespace GUIUtil { | ||||
const QString URI_SCHEME("bitcoincash"); | |||||
QString dateTimeStr(const QDateTime &date) { | QString dateTimeStr(const QDateTime &date) { | ||||
return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + | return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + | ||||
date.toString("hh:mm"); | date.toString("hh:mm"); | ||||
} | } | ||||
QString dateTimeStr(qint64 nTime) { | QString dateTimeStr(qint64 nTime) { | ||||
return dateTimeStr(QDateTime::fromTime_t((qint32)nTime)); | return dateTimeStr(QDateTime::fromTime_t((qint32)nTime)); | ||||
▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
void setupAmountWidget(QLineEdit *widget, QWidget *parent) { | void setupAmountWidget(QLineEdit *widget, QWidget *parent) { | ||||
QDoubleValidator *amountValidator = new QDoubleValidator(parent); | QDoubleValidator *amountValidator = new QDoubleValidator(parent); | ||||
amountValidator->setDecimals(8); | amountValidator->setDecimals(8); | ||||
amountValidator->setBottom(0.0); | amountValidator->setBottom(0.0); | ||||
widget->setValidator(amountValidator); | widget->setValidator(amountValidator); | ||||
widget->setAlignment(Qt::AlignRight | Qt::AlignVCenter); | widget->setAlignment(Qt::AlignRight | Qt::AlignVCenter); | ||||
} | } | ||||
QString bitcoinURIScheme(const CChainParams ¶ms, bool useCashAddr) { | |||||
if (!useCashAddr) { | |||||
return "bitcoincash"; | |||||
} | |||||
return QString::fromStdString(params.CashAddrPrefix()); | |||||
} | |||||
QString bitcoinURIScheme(const Config &cfg) { | |||||
return bitcoinURIScheme(cfg.GetChainParams(), cfg.UseCashAddrEncoding()); | |||||
} | |||||
static bool IsCashAddrEncoded(const QUrl &uri) { | static bool IsCashAddrEncoded(const QUrl &uri) { | ||||
const std::string addr = (uri.scheme() + ":" + uri.path()).toStdString(); | const std::string addr = (uri.scheme() + ":" + uri.path()).toStdString(); | ||||
auto decoded = cashaddr::Decode(addr); | auto decoded = cashaddr::Decode(addr); | ||||
return !decoded.first.empty(); | return !decoded.first.empty(); | ||||
} | } | ||||
bool parseBitcoinURI(const QString &scheme, const QUrl &uri, | bool parseBitcoinURI(const QString &scheme, const QUrl &uri, | ||||
SendCoinsRecipient *out) { | SendCoinsRecipient *out) { | ||||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | bool parseBitcoinURI(const QString &scheme, QString uri, | ||||
QUrl uriInstance(uri); | QUrl uriInstance(uri); | ||||
return parseBitcoinURI(scheme, uriInstance, out); | return parseBitcoinURI(scheme, uriInstance, out); | ||||
} | } | ||||
QString formatBitcoinURI(const Config &cfg, const SendCoinsRecipient &info) { | QString formatBitcoinURI(const Config &cfg, const SendCoinsRecipient &info) { | ||||
QString ret = info.address; | QString ret = info.address; | ||||
if (!cfg.UseCashAddrEncoding()) { | if (!cfg.UseCashAddrEncoding()) { | ||||
// prefix address with uri scheme for base58 encoded addresses. | // prefix address with uri scheme for base58 encoded addresses. | ||||
ret = (URI_SCHEME + ":%1").arg(ret); | ret = (bitcoinURIScheme(cfg) + ":%1").arg(ret); | ||||
} | } | ||||
int paramCount = 0; | int paramCount = 0; | ||||
if (info.amount) { | if (info.amount) { | ||||
ret += | ret += | ||||
QString("?amount=%1") | QString("?amount=%1") | ||||
.arg(BitcoinUnits::format(BitcoinUnits::BCH, info.amount, false, | .arg(BitcoinUnits::format(BitcoinUnits::BCH, info.amount, false, | ||||
BitcoinUnits::separatorNever)); | BitcoinUnits::separatorNever)); | ||||
▲ Show 20 Lines • Show All 756 Lines • Show Last 20 Lines |