Changeset View
Changeset View
Standalone View
Standalone View
src/qt/bitcoinunits.h
// Copyright (c) 2011-2016 The Bitcoin Core developers | // Copyright (c) 2011-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_QT_BITCOINUNITS_H | #ifndef BITCOIN_QT_BITCOINUNITS_H | ||||
#define BITCOIN_QT_BITCOINUNITS_H | #define BITCOIN_QT_BITCOINUNITS_H | ||||
#include <amount.h> | #include <amount.h> | ||||
#include <QAbstractListModel> | #include <QAbstractListModel> | ||||
#include <QString> | #include <QString> | ||||
// U+2009 THIN SPACE = UTF-8 E2 80 89 | // U+2009 THIN SPACE = UTF-8 E2 80 89 | ||||
#define REAL_THIN_SP_CP 0x2009 | #define REAL_THIN_SP_CP 0x2009 | ||||
#define REAL_THIN_SP_UTF8 "\xE2\x80\x89" | #define REAL_THIN_SP_UTF8 "\xE2\x80\x89" | ||||
#define REAL_THIN_SP_HTML " " | |||||
// U+200A HAIR SPACE = UTF-8 E2 80 8A | |||||
#define HAIR_SP_CP 0x200A | |||||
#define HAIR_SP_UTF8 "\xE2\x80\x8A" | |||||
#define HAIR_SP_HTML " " | |||||
// U+2006 SIX-PER-EM SPACE = UTF-8 E2 80 86 | |||||
#define SIXPEREM_SP_CP 0x2006 | |||||
#define SIXPEREM_SP_UTF8 "\xE2\x80\x86" | |||||
#define SIXPEREM_SP_HTML " " | |||||
// U+2007 FIGURE SPACE = UTF-8 E2 80 87 | |||||
#define FIGURE_SP_CP 0x2007 | |||||
#define FIGURE_SP_UTF8 "\xE2\x80\x87" | |||||
#define FIGURE_SP_HTML " " | |||||
// QMessageBox seems to have a bug whereby it doesn't display thin/hair spaces | // QMessageBox seems to have a bug whereby it doesn't display thin/hair spaces | ||||
// correctly. Workaround is to display a space in a small font. If you change | // correctly. Workaround is to display a space in a small font. If you change | ||||
// this, please test that it doesn't cause the parent span to start wrapping. | // this, please test that it doesn't cause the parent span to start wrapping. | ||||
#define HTML_HACK_SP \ | #define HTML_HACK_SP \ | ||||
"<span style='white-space: nowrap; font-size: 6pt'> </span>" | "<span style='white-space: nowrap; font-size: 6pt'> </span>" | ||||
// Define THIN_SP_* variables to be our preferred type of thin space | // Define THIN_SP_* variables to be our preferred type of thin space | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | public: | ||||
}; | }; | ||||
int rowCount(const QModelIndex &parent) const override; | int rowCount(const QModelIndex &parent) const override; | ||||
QVariant data(const QModelIndex &index, int role) const override; | QVariant data(const QModelIndex &index, int role) const override; | ||||
///@} | ///@} | ||||
static QString removeSpaces(QString text) { | static QString removeSpaces(QString text) { | ||||
text.remove(' '); | text.remove(' '); | ||||
text.remove(QChar(THIN_SP_CP)); | text.remove(QChar(THIN_SP_CP)); | ||||
#if (THIN_SP_CP != REAL_THIN_SP_CP) | |||||
text.remove(QChar(REAL_THIN_SP_CP)); | |||||
#endif | |||||
return text; | return text; | ||||
} | } | ||||
//! Return maximum number of base units (Satoshis) | //! Return maximum number of base units (Satoshis) | ||||
static Amount maxMoney(); | static Amount maxMoney(); | ||||
private: | private: | ||||
QList<BitcoinUnits::Unit> unitlist; | QList<BitcoinUnits::Unit> unitlist; | ||||
}; | }; | ||||
typedef BitcoinUnits::Unit BitcoinUnit; | typedef BitcoinUnits::Unit BitcoinUnit; | ||||
#endif // BITCOIN_QT_BITCOINUNITS_H | #endif // BITCOIN_QT_BITCOINUNITS_H |