fix(ela): 标题栏收紧 + 切换器去掉重复下拉箭头

- ElaWindow AppBarHeight 45→38(默认偏大, 更接近原生标题栏高度)(点1 过大)
- 切换器去掉文字里手加的 '▾'(ElaToolButton 给带菜单按钮自绘展开箭头, 原来与文字▾重复)(点2)
- 注: 显示为 100% 缩放, 无 DPI 模糊; 若 Ela 自带标题栏图标仍觉软, 属其 Fluent 渲染风格
This commit is contained in:
gaozheng 2026-06-10 10:51:36 +08:00
parent 5a945e51a7
commit c5393e8ac3
2 changed files with 6 additions and 7 deletions

View File

@ -233,7 +233,7 @@ void TopBar::setWorkspaces(const std::vector<data::Workspace>& list, const QStri
group->addAction(a);
if (id == currentId) currentName = name;
QObject::connect(a, &QAction::triggered, this, [this, id, name]() {
wsBtn_->setText(name + QStringLiteral("")); // 立即反馈
wsBtn_->setText(name); // 立即反馈(下拉箭头由 ElaToolButton 自绘)
emit workspaceSwitchRequested(id);
});
}
@ -242,8 +242,7 @@ void TopBar::setWorkspaces(const std::vector<data::Workspace>& list, const QStri
none->setEnabled(false);
}
wsBtn_->setMenu(menu);
wsBtn_->setText((currentName.isEmpty() ? QStringLiteral("选择空间") : currentName) +
QStringLiteral(""));
wsBtn_->setText(currentName.isEmpty() ? QStringLiteral("选择空间") : currentName);
}
void TopBar::setProjects(const std::vector<data::ProjectSummary>& list, const QString& currentId,
@ -264,7 +263,7 @@ void TopBar::setProjects(const std::vector<data::ProjectSummary>& list, const QS
group->addAction(a);
if (id == currentId) currentName = name;
QObject::connect(a, &QAction::triggered, this, [this, id, name]() {
projBtn_->setText(name + QStringLiteral(""));
projBtn_->setText(name);
emit projectSwitchRequested(id);
});
}
@ -278,12 +277,11 @@ void TopBar::setProjects(const std::vector<data::ProjectSummary>& list, const QS
QObject::connect(all, &QAction::triggered, this, [this]() { emit allProjectsRequested(); });
}
projBtn_->setMenu(menu);
projBtn_->setText((currentName.isEmpty() ? QStringLiteral("选择项目") : currentName) +
QStringLiteral(""));
projBtn_->setText(currentName.isEmpty() ? QStringLiteral("选择项目") : currentName);
}
void TopBar::setProjectButtonText(const QString& name) {
projBtn_->setText(name + QStringLiteral(""));
projBtn_->setText(name);
}
} // namespace geopro::app

View File

@ -1095,6 +1095,7 @@ int main(int argc, char* argv[])
ela->resize(1280, 800);
ela->setMinimumSize(1024, 680);
ela->setIsNavigationBarEnable(false); // 纯中心内容,不显示左侧导航栏
ela->setAppBarHeight(38); // 默认 45 偏大,收紧标题栏更接近原生
auto* inner = new QMainWindow(ela); // 以 ela 为父,避免无父期调色板/DPI 抖动(review H3)
buildWorkbench(*inner, repo, projectRepo, nav);
// 用 addPageNode 把工作台作为唯一页面放进中心页栈(填满到底边)。