canaba: display the opened dbc files in the window title bar. (#27939)

* show dbc file name on the window title

* Show all dbc files opened on each bus

* check d
pull/27943/head
Dean Lee 2 years ago committed by GitHub
parent f79654a1e7
commit 30ff0bface
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      tools/cabana/mainwin.cc

@ -474,24 +474,34 @@ void MainWindow::updateLoadSaveMenus() {
open_dbc_for_source->setEnabled(sources.size() > 0); open_dbc_for_source->setEnabled(sources.size() > 0);
open_dbc_for_source->clear(); open_dbc_for_source->clear();
std::map<QString, QStringList> dbc_files;
for (uint8_t source : sources_sorted) { for (uint8_t source : sources_sorted) {
if (source >= 64) continue; // Sent and blocked buses are handled implicitly if (source >= 64) continue; // Sent and blocked buses are handled implicitly
QAction *action = new QAction(this); QAction *action = new QAction(this);
auto d = dbc()->findDBCFile(source); auto d = dbc()->findDBCFile(source);
QString name = tr("no DBC"); QString name = tr("no DBC");
if (d && !d->second->name().isEmpty()) { if (d) {
name = tr("%1").arg(d->second->name()); if (!d->second->name().isEmpty()) {
} else if (d) { name = tr("%1").arg(d->second->name());
name = "untitled"; } else {
name = "untitled";
}
dbc_files[d->second->filename].push_back(QString::number(source));
} }
action->setText(tr("Bus %1 (current: %2)").arg(source).arg(name)); action->setText(tr("Bus %1 (current: %2)").arg(source).arg(name));
action->setData(source); action->setData(source);
QObject::connect(action, &QAction::triggered, this, &MainWindow::openFileForSource); QObject::connect(action, &QAction::triggered, this, &MainWindow::openFileForSource);
open_dbc_for_source->addAction(action); open_dbc_for_source->addAction(action);
} }
QStringList title;
for (auto &[filename, sources] : dbc_files) {
QString bus = dbc_files.size() == 1 ? "all" : sources.join(",");
title.push_back("[" + bus + "]" + QFileInfo(filename).baseName());
}
setWindowFilePath(title.join(" | "));
} }
void MainWindow::updateRecentFiles(const QString &fn) { void MainWindow::updateRecentFiles(const QString &fn) {

Loading…
Cancel
Save