File: FontOverrideModel.hpp

package info (click to toggle)
wsjtx 2.0.0%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 192,624 kB
  • sloc: cpp: 1,071,838; ansic: 60,751; f90: 25,266; python: 20,318; sh: 10,636; xml: 8,148; cs: 2,121; fortran: 2,051; yacc: 472; asm: 353; makefile: 316; perl: 19
file content (29 lines) | stat: -rw-r--r-- 854 bytes parent folder | download | duplicates (3)
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
#ifndef FONT_OVERRIDE_MODEL_HPP_
#define FONT_OVERRIDE_MODEL_HPP_

#include <QIdentityProxyModel>
#include <QFont>

// fix up font display as header font changes don't currently work
// from views (I think fixed in Qt 5.11.1)
class FontOverrideModel final
  : public QIdentityProxyModel
{
public:
  FontOverrideModel (QObject * parent = nullptr) : QIdentityProxyModel {parent} {}
  void set_font (QFont const& font) {font_ = font;}
  QVariant data (QModelIndex const& index, int role) const override
  {
    if (Qt::FontRole == role) return font_;
    return QIdentityProxyModel::data (index, role);
  }
  QVariant headerData (int section, Qt::Orientation orientation, int role) const override
  {
    if (Qt::FontRole == role) return font_;
    return QIdentityProxyModel::headerData (section, orientation, role);
  }
private:
  QFont font_;
};

#endif