refactor/pure-qt-ui #3

Merged
gaozheng merged 56 commits from refactor/pure-qt-ui into main 2026-06-10 18:41:53 +08:00
1 changed files with 16 additions and 4 deletions
Showing only changes of commit ec428ccaca - Show all commits

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;