mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-27 08:52:05 +08:00
cabana: dispaly current FPS & cached minitues on statusbar (#27430)
dispaly current FPS & cached minitues on statusbar
This commit is contained in:
@@ -63,9 +63,11 @@ MainWindow::MainWindow() : QMainWindow() {
|
||||
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);
|
||||
}
|
||||
|
||||
void MainWindow::createActions() {
|
||||
@@ -179,6 +181,9 @@ void MainWindow::createStatusBar() {
|
||||
progress_bar->setVisible(false);
|
||||
statusBar()->addWidget(new QLabel(tr("For Help, Press F1")));
|
||||
statusBar()->addPermanentWidget(progress_bar);
|
||||
|
||||
statusBar()->addPermanentWidget(status_label = new QLabel(this));
|
||||
updateStatus();
|
||||
}
|
||||
|
||||
void MainWindow::createShortcuts() {
|
||||
@@ -403,6 +408,18 @@ void MainWindow::updateDownloadProgress(uint64_t cur, uint64_t total, bool succe
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::updateStatus() {
|
||||
float cached_minutes = 0;
|
||||
if (!can->liveStreaming()) {
|
||||
if (auto events = can->events(); !events->empty()) {
|
||||
cached_minutes = (events->back()->mono_time - events->front()->mono_time) / (1e9 * 60);
|
||||
}
|
||||
} else {
|
||||
settings.max_cached_minutes = settings.max_cached_minutes;
|
||||
}
|
||||
status_label->setText(tr("Cached Minutes:%1 FPS:%2").arg(cached_minutes, 0, 'f', 1).arg(settings.fps));
|
||||
}
|
||||
|
||||
void MainWindow::dockCharts(bool dock) {
|
||||
if (dock && floating_window) {
|
||||
floating_window->removeEventFilter(charts_widget);
|
||||
|
||||
@@ -56,6 +56,7 @@ protected:
|
||||
void undoStackCleanChanged(bool clean);
|
||||
void undoStackIndexChanged(int index);
|
||||
void onlineHelp();
|
||||
void updateStatus();
|
||||
|
||||
VideoWidget *video_widget = nullptr;
|
||||
QDockWidget *video_dock;
|
||||
@@ -65,6 +66,7 @@ protected:
|
||||
QWidget *floating_window = nullptr;
|
||||
QVBoxLayout *charts_layout;
|
||||
QProgressBar *progress_bar;
|
||||
QLabel *status_label;
|
||||
QJsonDocument fingerprint_to_dbc;
|
||||
QSplitter *video_splitter;;
|
||||
QString current_file = "";
|
||||
|
||||
Reference in New Issue
Block a user