networkstyle.h raw

   1  // Copyright (c) 2014-2019 The Limenka 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 LIMENKA_QT_NETWORKSTYLE_H
   6  #define LIMENKA_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(const 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      QColor AdjustColour(QColor colour) const;
  27      const std::pair<int, int> m_colour_shift;
  28  
  29  private:
  30      NetworkStyle(const QString &appName, const int iconColorHueShift, const int iconColorSaturationReduction, const char *titleAddText);
  31  
  32      QString appName;
  33      QIcon appIcon;
  34      QIcon trayAndWindowIcon;
  35      QString titleAddText;
  36  };
  37  
  38  #endif // LIMENKA_QT_NETWORKSTYLE_H
  39