    QObject::connect(this, &MainWindow::updateProgressBar, this, &MainWindow::updateDownloadProgress);
    QObject::connect(messages_widget, &MessagesWidget::msgSelectionChanged, center_widget, &CenterWidget::setMessage);
    QObject::connect(charts_widget, &ChartsWidget::dock, this, &MainWindow::dockCharts);
    QObject::connect(can, &AbstractStream::streamStarted, this, &MainWindow::loadDBCFromFingerprint);
    QObject::connect(dbc(), &DBCManager::DBCFileChanged, this, &MainWindow::DBCFileChanged);
    QObject::connect(UndoStack::instance(), &QUndoStack::cleanChanged, this, &MainWindow::undoStackCleanChanged);
    QObject::connect(UndoStack::instance(), &QUndoStack::indexChanged, this, &MainWindow::undoStackIndexChanged);
    QObject::connect(&settings, &Settings::changed, this, &MainWindow::updateStatus);
  }
 
</s>
  QObject::connect(can, &AbstractStream::eventsMerged, this, &MainWindow::updateStatus);
    QObject::connect(this, &MainWindow::updateProgressBar, this, &MainWindow::updateDownloadProgress);
    QObject::connect(messages_widget, &MessagesWidget::msgSelectionChanged, center_widget, &CenterWidget::setMessage);
    QObject::connect(charts_widget, &ChartsWidget::dock, this, &MainWindow::dockCharts);
    QObject::connect(can, &AbstractStream::streamStarted, this, &MainWindow::loadDBCFromFingerprint);
  QObject::connect(can, &AbstractStream::eventsMerged, this, &MainWindow::updateStatus);
    QObject::connect(dbc(), &DBCManager::DBCFileChanged, this, &MainWindow::DBCFileChanged);
    QObject::connect(UndoStack::instance(), &QUndoStack::cleanChanged, this, &MainWindow::undoStackCleanChanged);
    QObject::connect(UndoStack::instance(), &QUndoStack::indexChanged, this, &MainWindow::undoStackIndexChanged);
    QObject::connect(&settings, &Settings::changed, this, &MainWindow::updateStatus);
  }
keep keep keep add keep keep keep keep keep
 cabana: dispaly current FPS & cached minitues on statusbar (#27430)

dispaly current FPS & cached minitues on statusbar
tools/cabana/mainwin.cc