networkstyle.h raw

   1  // Copyright (c) 2014-present The Bitcoin Core developers
   2  // Distributed under the MIT software license, see the accompanying
   3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  #ifndef BITCOIN_QT_NETWORKSTYLE_H
   6  #define BITCOIN_QT_NETWORKSTYLE_H
   7  
   8  #include <util/chaintype.h>
   9  
  10  #include <QIcon>
  11  #include <QPixmap>
  12  #include <QString>
  13  
  14  /* Coin network-specific GUI style information */
  15  class NetworkStyle
  16  {
  17  public:
  18      /** Get style associated with provided network id, or 0 if not known */
  19      static const NetworkStyle* instantiate(ChainType networkId);
  20  
  21      const QString &getAppName() const { return appName; }
  22      const QIcon &getAppIcon() const { return appIcon; }
  23      const QIcon &getTrayAndWindowIcon() const { return trayAndWindowIcon; }
  24      const QString &getTitleAddText() const { return titleAddText; }
  25  
  26  private:
  27      NetworkStyle(const QString& appName, int iconColorHueShift, int iconColorSaturationReduction, const char* titleAddText);
  28  
  29      QString appName;
  30      QIcon appIcon;
  31      QIcon trayAndWindowIcon;
  32      QString titleAddText;
  33  };
  34  
  35  #endif // BITCOIN_QT_NETWORKSTYLE_H
  36