refactor(theme): 全部项目对话框迁移令牌 + 清理委托接管后失效的列表选中/前景死代码
This commit is contained in:
parent
b78969471e
commit
2a666663e7
|
|
@ -28,11 +28,11 @@ QString statusText(int s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 状态语义色(寻路):未开始=弱化中性、进行中=信息蓝(活动中);未知状态用中性灰。
|
// 状态语义色(寻路):未开始=弱化中性、进行中=信息蓝(活动中);未知状态用中性灰。
|
||||||
const char* statusColorHex(int s) {
|
QColor statusColor(int s) {
|
||||||
switch (s) {
|
switch (s) {
|
||||||
case 1: return "#8A93A3"; // 未开始:弱化
|
case 1: return tokenColor("text/tertiary"); // 未开始:弱化
|
||||||
case 2: return semantic::kInfo; // 进行中:活动中
|
case 2: return tokenColor("accent/primary"); // 进行中:活动中
|
||||||
default: return "#5A6B85"; // 未知:中性
|
default: return tokenColor("text/secondary"); // 未知:中性
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
@ -155,12 +155,12 @@ void ProjectListDialog::query() {
|
||||||
set(0, QString::number((pageNo_ - 1) * pageSize_ + i + 1));
|
set(0, QString::number((pageNo_ - 1) * pageSize_ + i + 1));
|
||||||
auto* nameItem = new QTableWidgetItem(QString::fromStdString(p.name));
|
auto* nameItem = new QTableWidgetItem(QString::fromStdString(p.name));
|
||||||
nameItem->setData(Qt::UserRole, QString::fromStdString(p.id));
|
nameItem->setData(Qt::UserRole, QString::fromStdString(p.id));
|
||||||
nameItem->setForeground(QColor("#2D6CB5"));
|
nameItem->setForeground(tokenColor("accent/primary"));
|
||||||
table_->setItem(i, 1, nameItem);
|
table_->setItem(i, 1, nameItem);
|
||||||
set(2, QString::fromStdString(p.code));
|
set(2, QString::fromStdString(p.code));
|
||||||
// 状态列语义着色:颜色承载“未开始/进行中”分类,进行中加粗强调(不只靠颜色)。
|
// 状态列语义着色:颜色承载“未开始/进行中”分类,进行中加粗强调(不只靠颜色)。
|
||||||
auto* statusItem = new QTableWidgetItem(statusText(p.status));
|
auto* statusItem = new QTableWidgetItem(statusText(p.status));
|
||||||
statusItem->setForeground(QColor(statusColorHex(p.status)));
|
statusItem->setForeground(statusColor(p.status));
|
||||||
if (p.status == 2) {
|
if (p.status == 2) {
|
||||||
QFont f = statusItem->font();
|
QFont f = statusItem->font();
|
||||||
f.setBold(true);
|
f.setBold(true);
|
||||||
|
|
|
||||||
|
|
@ -523,31 +523,12 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
||||||
{{geopro::app::Glyph::Plus, QStringLiteral("新建对象")}}));
|
{{geopro::app::Glyph::Plus, QStringLiteral("新建对象")}}));
|
||||||
auto* leftArea = dockManager->addDockWidget(ads::LeftDockWidgetArea, leftDock);
|
auto* leftArea = dockManager->addDockWidget(ads::LeftDockWidgetArea, leftDock);
|
||||||
|
|
||||||
// 列表选中色:写死的强调蓝(明 #C2D9F2 / 暗 #33527A)+ 适配文字,:!active 防失焦变淡;
|
|
||||||
// 与对象树选中色一致。本地 QSS 覆盖全局弱选中色,随主题重设。
|
|
||||||
auto applyListSelection = [](QListWidget* lw) {
|
|
||||||
auto styleIt = [lw]() {
|
|
||||||
const bool dark = geopro::app::isDarkTheme();
|
|
||||||
const QString selBg = dark ? QStringLiteral("#33527A") : QStringLiteral("#C2D9F2");
|
|
||||||
const QString selFg = dark ? QStringLiteral("#E8F1FB") : QStringLiteral("#14385F");
|
|
||||||
lw->setStyleSheet(QStringLiteral("QListWidget::item:selected{ background:%1; color:%2; }"
|
|
||||||
"QListWidget::item:selected:!active{ background:%1;"
|
|
||||||
" color:%2; }")
|
|
||||||
.arg(selBg, selFg));
|
|
||||||
};
|
|
||||||
styleIt();
|
|
||||||
QObject::connect(&geopro::app::ThemeManager::instance(), &geopro::app::ThemeManager::changed,
|
|
||||||
lw, [styleIt]() { styleIt(); });
|
|
||||||
};
|
|
||||||
|
|
||||||
// 左下 dock:数据真实显示栏(选中测线后列其采集批次=数据集;tab 数据/文件)。
|
// 左下 dock:数据真实显示栏(选中测线后列其采集批次=数据集;tab 数据/文件)。
|
||||||
auto* datasetTabs = new QTabWidget();
|
auto* datasetTabs = new QTabWidget();
|
||||||
auto* datasetList = new QListWidget();
|
auto* datasetList = new QListWidget();
|
||||||
applyListSelection(datasetList);
|
|
||||||
geopro::app::applyDatasetCardDelegate(datasetList);
|
geopro::app::applyDatasetCardDelegate(datasetList);
|
||||||
datasetTabs->addTab(datasetList, QStringLiteral("数据"));
|
datasetTabs->addTab(datasetList, QStringLiteral("数据"));
|
||||||
auto* fileList = new QListWidget();
|
auto* fileList = new QListWidget();
|
||||||
applyListSelection(fileList);
|
|
||||||
geopro::app::applyDatasetCardDelegate(fileList);
|
geopro::app::applyDatasetCardDelegate(fileList);
|
||||||
datasetTabs->addTab(fileList, QStringLiteral("文件"));
|
datasetTabs->addTab(fileList, QStringLiteral("文件"));
|
||||||
auto* datasetDock = new ads::CDockWidget(QStringLiteral("数据真实显示栏"));
|
auto* datasetDock = new ads::CDockWidget(QStringLiteral("数据真实显示栏"));
|
||||||
|
|
@ -562,7 +543,6 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
||||||
|
|
||||||
// 右上 dock:异常列表 / 对象属性 合并为带 Tab 表头的面板(对齐原型上半)。
|
// 右上 dock:异常列表 / 对象属性 合并为带 Tab 表头的面板(对齐原型上半)。
|
||||||
auto* anomalyList = new QListWidget();
|
auto* anomalyList = new QListWidget();
|
||||||
applyListSelection(anomalyList);
|
|
||||||
geopro::app::applyAnomalyCardDelegate(anomalyList);
|
geopro::app::applyAnomalyCardDelegate(anomalyList);
|
||||||
auto* objAttrLabel = new QLabel(QStringLiteral("(选中对象后显示其属性)"));
|
auto* objAttrLabel = new QLabel(QStringLiteral("(选中对象后显示其属性)"));
|
||||||
objAttrLabel->setWordWrap(true);
|
objAttrLabel->setWordWrap(true);
|
||||||
|
|
@ -899,7 +879,6 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
||||||
auto* m = new QListWidgetItem(QStringLiteral("加载更多(%1/%2)").arg(loaded).arg(total), lw);
|
auto* m = new QListWidgetItem(QStringLiteral("加载更多(%1/%2)").arg(loaded).arg(total), lw);
|
||||||
m->setData(geopro::app::kDsLoadMoreRole, true);
|
m->setData(geopro::app::kDsLoadMoreRole, true);
|
||||||
m->setTextAlignment(Qt::AlignCenter);
|
m->setTextAlignment(Qt::AlignCenter);
|
||||||
m->setForeground(QColor("#2D6CB5"));
|
|
||||||
}
|
}
|
||||||
return loaded;
|
return loaded;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,6 @@ void populateFileList(QListWidget* list, const std::vector<geopro::data::DsRow>&
|
||||||
if (!append && rows.empty()) {
|
if (!append && rows.empty()) {
|
||||||
auto* hint = new QListWidgetItem(QStringLiteral("(暂无文件)"), list);
|
auto* hint = new QListWidgetItem(QStringLiteral("(暂无文件)"), list);
|
||||||
hint->setFlags(Qt::NoItemFlags);
|
hint->setFlags(Qt::NoItemFlags);
|
||||||
hint->setForeground(QColor("#9AA6B6"));
|
|
||||||
hint->setTextAlignment(Qt::AlignCenter);
|
hint->setTextAlignment(Qt::AlignCenter);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue