fix(ela): 面板占位按钮(筛选/上传/添加/导出/折叠)改 Ela 字体图标

之前用 makeGlyph 位图 + 30×30 → 偏大且发糊。改为 ElaIconButton 字体图标(actionElaIcon 映射
Glyph→ElaIconType: Filter/Upload/Plus/Download/ChevronUp), 16px 图标 + 28×28 按钮,
与顶栏 帮助/通知/设置 一致: 清晰、随主题、尺寸协调
This commit is contained in:
gaozheng 2026-06-10 11:23:54 +08:00
parent 0867636ea4
commit ec428ccaca
1 changed files with 16 additions and 4 deletions

View File

@ -2,6 +2,7 @@
#include "Theme.hpp"
#include <ElaDef.h>
#include <ElaIconButton.h>
#include <ElaToolButton.h>
@ -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;