diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2011-09-26 06:05:11 -0700 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2011-09-26 06:05:11 -0700 |
commit | f7f2a36925bb560363f691fc3ca3dec83830dd15 (patch) | |
tree | c09327d910abe4e7947c53dcbb5f15b01ab194c1 /src/qt/guiutil.cpp | |
parent | f8937b2d3bb545a0a6ff78031ce3cdcb3208ecbe (diff) | |
parent | 0465c41c847ddee7eeb5caefb164149400ff8395 (diff) | |
download | bitcoin-f7f2a36925bb560363f691fc3ca3dec83830dd15.tar.xz |
Merge pull request #521 from laanwj/qt
Qt GUI
Diffstat (limited to 'src/qt/guiutil.cpp')
-rw-r--r-- | src/qt/guiutil.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp new file mode 100644 index 0000000000..158b84a285 --- /dev/null +++ b/src/qt/guiutil.cpp @@ -0,0 +1,74 @@ +#include "guiutil.h" +#include "bitcoinaddressvalidator.h" +#include "walletmodel.h" +#include "bitcoinunits.h" + +#include "headers.h" + +#include <QString> +#include <QDateTime> +#include <QDoubleValidator> +#include <QFont> +#include <QLineEdit> +#include <QUrl> + +QString GUIUtil::dateTimeStr(qint64 nTime) +{ + return dateTimeStr(QDateTime::fromTime_t((qint32)nTime)); +} + +QString GUIUtil::dateTimeStr(const QDateTime &date) +{ + return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + date.toString("hh:mm"); +} + +QFont GUIUtil::bitcoinAddressFont() +{ + QFont font("Monospace"); + font.setStyleHint(QFont::TypeWriter); + return font; +} + +void GUIUtil::setupAddressWidget(QLineEdit *widget, QWidget *parent) +{ + widget->setMaxLength(BitcoinAddressValidator::MaxAddressLength); + widget->setValidator(new BitcoinAddressValidator(parent)); + widget->setFont(bitcoinAddressFont()); +} + +void GUIUtil::setupAmountWidget(QLineEdit *widget, QWidget *parent) +{ + QDoubleValidator *amountValidator = new QDoubleValidator(parent); + amountValidator->setDecimals(8); + amountValidator->setBottom(0.0); + widget->setValidator(amountValidator); + widget->setAlignment(Qt::AlignRight|Qt::AlignVCenter); +} + +bool GUIUtil::parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out) +{ + if(url->scheme() != QString("bitcoin")) + return false; + + SendCoinsRecipient rv; + rv.address = url->path(); + rv.label = url->queryItemValue("label"); + + QString amount = url->queryItemValue("amount"); + if(amount.isEmpty()) + { + rv.amount = 0; + } + else // Amount is non-empty + { + if(!BitcoinUnits::parse(BitcoinUnits::BTC, amount, &rv.amount)) + { + return false; + } + } + if(out) + { + *out = rv; + } + return true; +} |