diff --git a/src/app/PanelHeader.cpp b/src/app/PanelHeader.cpp index e953b8c..1969565 100644 --- a/src/app/PanelHeader.cpp +++ b/src/app/PanelHeader.cpp @@ -2,6 +2,7 @@ #include "Theme.hpp" +#include #include #include @@ -58,12 +59,23 @@ QLabel* makeBadge(QWidget* parent) return badge; } -// 表头操作按钮(Fluent ElaIconButton;图标沿用项目 glyph 像素图)。 +// 表头操作 Glyph → Ela 字体图标(Fluent,清晰且随主题;不再用位图 makeGlyph 以免发糊)。 +ElaIconType::IconName actionElaIcon(Glyph g) +{ + switch (g) { + case Glyph::Filter: return ElaIconType::Filter; + case Glyph::Upload: return ElaIconType::Upload; + case Glyph::Plus: return ElaIconType::Plus; + case Glyph::Download: return ElaIconType::Download; + case Glyph::Collapse: return ElaIconType::ChevronUp; + default: return ElaIconType::Ellipsis; + } +} + +// 表头操作按钮(Fluent ElaIconButton 字体图标,固定 28×28,与顶栏图标按钮一致)。 QWidget* makeActionButton(QWidget* parent, const HeaderAction& a) { - auto* btn = new ElaIconButton( - makeGlyph(a.first, QColor("#5A6B85"), kActionIcon).pixmap(kActionIcon, kActionIcon), parent); - btn->setFixedSize(30, 30); // QPixmap 构造不设尺寸,显式固定防变形 + auto* btn = new ElaIconButton(actionElaIcon(a.first), 16, 28, 28, parent); btn->setCursor(Qt::PointingHandCursor); btn->setToolTip(a.second + QStringLiteral("(占位)")); return btn;