Browse Source
Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track of network-specific theming in a central place. Also makes GUI no longer dependent on the network ID enumeration, which alleviates concerns about #4802.pull/145/head
Wladimir J. van der Laan
10 years ago
committed by
jtimon
8 changed files with 125 additions and 75 deletions
@ -0,0 +1,47 @@ |
|||
// Copyright (c) 2014 The Bitcoin developers
|
|||
// Distributed under the MIT software license, see the accompanying
|
|||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|||
|
|||
#include "networkstyle.h" |
|||
|
|||
#include "guiconstants.h" |
|||
|
|||
#include <QApplication> |
|||
|
|||
static const struct { |
|||
const char *networkId; |
|||
const char *appName; |
|||
const char *appIcon; |
|||
const char *titleAddText; |
|||
const char *splashImage; |
|||
} network_styles[] = { |
|||
{"main", QAPP_APP_NAME_DEFAULT, ":/icons/bitcoin", "", ":/images/splash"}, |
|||
{"test", QAPP_APP_NAME_TESTNET, ":/icons/bitcoin_testnet", QT_TRANSLATE_NOOP("SplashScreen", "[testnet]"), ":/images/splash_testnet"}, |
|||
{"regtest", QAPP_APP_NAME_TESTNET, ":/icons/bitcoin_testnet", "[regtest]", ":/images/splash_testnet"} |
|||
}; |
|||
static const unsigned network_styles_count = sizeof(network_styles)/sizeof(*network_styles); |
|||
|
|||
// titleAddText needs to be const char* for tr()
|
|||
NetworkStyle::NetworkStyle(const QString &appName, const QString &appIcon, const char *titleAddText, const QString &splashImage): |
|||
appName(appName), |
|||
appIcon(appIcon), |
|||
titleAddText(qApp->translate("SplashScreen", titleAddText)), |
|||
splashImage(splashImage) |
|||
{ |
|||
} |
|||
|
|||
const NetworkStyle *NetworkStyle::instantiate(const QString &networkId) |
|||
{ |
|||
for (unsigned x=0; x<network_styles_count; ++x) |
|||
{ |
|||
if (networkId == network_styles[x].networkId) |
|||
{ |
|||
return new NetworkStyle( |
|||
network_styles[x].appName, |
|||
network_styles[x].appIcon, |
|||
network_styles[x].titleAddText, |
|||
network_styles[x].splashImage); |
|||
} |
|||
} |
|||
return 0; |
|||
} |
@ -0,0 +1,33 @@ |
|||
// Copyright (c) 2014 The Bitcoin developers
|
|||
// Distributed under the MIT software license, see the accompanying
|
|||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|||
|
|||
#ifndef H_NETWORKSTYLE |
|||
#define H_NETWORKSTYLE |
|||
|
|||
#include <QIcon> |
|||
#include <QPixmap> |
|||
#include <QString> |
|||
|
|||
/* Coin network-specific GUI style information */ |
|||
class NetworkStyle |
|||
{ |
|||
public: |
|||
/** Get style associated with provided BIP70 network id, or 0 if not known */ |
|||
static const NetworkStyle *instantiate(const QString &networkId); |
|||
|
|||
const QString &getAppName() const { return appName; } |
|||
const QIcon &getAppIcon() const { return appIcon; } |
|||
const QString &getTitleAddText() const { return titleAddText; } |
|||
const QPixmap &getSplashImage() const { return splashImage; } |
|||
|
|||
private: |
|||
NetworkStyle(const QString &appName, const QString &appIcon, const char *titleAddText, const QString &splashImage); |
|||
|
|||
QString appName; |
|||
QIcon appIcon; |
|||
QString titleAddText; |
|||
QPixmap splashImage; |
|||
}; |
|||
|
|||
#endif // H_NETWORKSTYLE
|
Loading…
Reference in new issue