qt: fix unicode character display on osx when building with 10.7 sdk
Conflicts:
src/qt/bitcoin.cpp
Rebased-From: 292cc072
This commit is contained in:
parent
bba0175022
commit
f62031b895
@ -61,6 +61,7 @@ Wallet:
|
|||||||
GUI:
|
GUI:
|
||||||
- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
|
- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
|
||||||
- AvailableCoins: acquire cs_main mutex
|
- AvailableCoins: acquire cs_main mutex
|
||||||
|
- Fix unicode character display on MacOSX
|
||||||
|
|
||||||
Miscellaneous:
|
Miscellaneous:
|
||||||
- key.cpp: fail with a friendlier message on missing ssl EC support
|
- key.cpp: fail with a friendlier message on missing ssl EC support
|
||||||
|
@ -475,6 +475,9 @@ int main(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
Q_INIT_RESOURCE(bitcoin);
|
Q_INIT_RESOURCE(bitcoin);
|
||||||
|
|
||||||
|
GUIUtil::SubstituteFonts();
|
||||||
|
|
||||||
BitcoinApplication app(argc, argv);
|
BitcoinApplication app(argc, argv);
|
||||||
#if QT_VERSION > 0x050100
|
#if QT_VERSION > 0x050100
|
||||||
// Generate high-dpi pixmaps
|
// Generate high-dpi pixmaps
|
||||||
|
@ -61,6 +61,13 @@
|
|||||||
static boost::filesystem::detail::utf8_codecvt_facet utf8;
|
static boost::filesystem::detail::utf8_codecvt_facet utf8;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(Q_OS_MAC)
|
||||||
|
extern double NSAppKitVersionNumber;
|
||||||
|
#if !defined(NSAppKitVersionNumber10_9)
|
||||||
|
#define NSAppKitVersionNumber10_9 1265
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace GUIUtil {
|
namespace GUIUtil {
|
||||||
|
|
||||||
QString dateTimeStr(const QDateTime &date)
|
QString dateTimeStr(const QDateTime &date)
|
||||||
@ -372,6 +379,26 @@ ToolTipToRichTextFilter::ToolTipToRichTextFilter(int size_threshold, QObject *pa
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SubstituteFonts()
|
||||||
|
{
|
||||||
|
#if defined(Q_OS_MAC)
|
||||||
|
// Background:
|
||||||
|
// OSX's default font changed in 10.9 and QT is unable to find it with its
|
||||||
|
// usual fallback methods when building against the 10.7 sdk or lower.
|
||||||
|
// The 10.8 SDK added a function to let it find the correct fallback font.
|
||||||
|
// If this fallback is not properly loaded, some characters may fail to
|
||||||
|
// render correctly.
|
||||||
|
//
|
||||||
|
// Solution: If building with the 10.7 SDK or lower and the user's platform
|
||||||
|
// is 10.9 or higher at runtime, substitute the correct font. This needs to
|
||||||
|
// happen before the QApplication is created.
|
||||||
|
#if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8
|
||||||
|
if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_9)
|
||||||
|
QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande");
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
|
bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
|
||||||
{
|
{
|
||||||
if(evt->type() == QEvent::ToolTipChange)
|
if(evt->type() == QEvent::ToolTipChange)
|
||||||
|
@ -106,6 +106,10 @@ namespace GUIUtil
|
|||||||
representation if needed. This assures that Qt can word-wrap long tooltip messages.
|
representation if needed. This assures that Qt can word-wrap long tooltip messages.
|
||||||
Tooltips longer than the provided size threshold (in characters) are wrapped.
|
Tooltips longer than the provided size threshold (in characters) are wrapped.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Replace invalid default fonts with known good ones
|
||||||
|
void SubstituteFonts();
|
||||||
|
|
||||||
class ToolTipToRichTextFilter : public QObject
|
class ToolTipToRichTextFilter : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Loading…
Reference in New Issue
Block a user