41class ThemePreviewWidget :
public QWidget
45 explicit ThemePreviewWidget(QWidget *parent =
nullptr);
55 void setPreviewColors(
const QHash<ThemeManager::ThemeToken, QColor> &colors);
73 bool showColoringRules()
const {
return show_coloring_rules_; }
76 void showColoringRulesChanged(
bool show);
79 void paintEvent(QPaintEvent *evt)
override;
80 void contextMenuEvent(QContextMenuEvent *event)
override;
81 QSize minimumSizeHint()
const override;
84 QHash<ThemeManager::ThemeToken, QColor> colors_;
88 bool show_coloring_rules_ =
false;
93 QHash<QString, QPair<QColor, QColor>> ruleColors_;
101 QColor c(ThemeManager::ThemeToken token,
102 const QColor &fallback = QColor())
const;
121 QFontMetricsF labelFm;
122 QFontMetricsF monoFm;
139 struct WindowChrome {
140 QPainterPath framePath;
149 Layout buildLayout(
const QRect &content)
const;
156 WindowChrome paintWindowChrome(QPainter &p,
const QRect &outer,
157 const QColor &window);
164 void drawWindowControls(QPainter &p,
const QRectF &titleRect,
bool darkChrome);
167 void strokeWindowFrame(QPainter &p,
const WindowChrome &chrome);
175 QRectF cellRect(
const QRect &content,
int idx,
int top,
int h)
const;
178 int cellFlags(
int idx)
const;
183 void drawToolbar(QPainter &p,
const Layout &layout);
190 void drawFilterBar(QPainter &p,
const Layout &layout);
193 void drawColumnHeader(QPainter &p,
const Layout &layout);
203 void drawPacketList(QPainter &p,
const Layout &layout);
206 void rebuildRuleColors();
209 void drawDetailsPane(QPainter &p,
const Layout &layout);
212 void drawBytesPane(QPainter &p,
const Layout &layout);
215 void drawStatusBar(QPainter &p,
const Layout &layout);