summaryrefslogtreecommitdiff
path: root/src/modflagicondelegate.h
blob: 63ab89781eabaa02251786659f443f430012a943 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef MODFLAGICONDELEGATE_H
#define MODFLAGICONDELEGATE_H

#include <QTreeView>

#include "icondelegate.h"
#include "modinfo.h"

class ModFlagIconDelegate : public IconDelegate
{
  Q_OBJECT;

public:
  explicit ModFlagIconDelegate(QTreeView* view, int column = -1, int compactSize = 120);
  QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;

protected:
  static QList<QString> getIconsForFlags(std::vector<ModInfo::EFlag> flags, bool compact);
  static QString getFlagIcon(ModInfo::EFlag flag);

  QList<QString> getIcons(const QModelIndex &index) const override;
  size_t getNumIcons(const QModelIndex &index) const override;

  // constructor for color table
  //
  ModFlagIconDelegate() : ModFlagIconDelegate(nullptr) { }

};

#endif // MODFLAGICONDELEGATE_H