File: FontOverrideModel.hpp

package info (click to toggle)
wsjtx 2.3.0%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 63,524 kB
  • sloc: cpp: 59,051; f90: 34,130; python: 27,241; ansic: 11,205; fortran: 2,051; sh: 132; makefile: 109
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