From daea877c07a51d82903880e9464eace38ef9a95d Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Sat, 3 Dec 2022 05:15:14 +0800 Subject: [PATCH] Cabana: add shortcuts (#26528) add shortcuts --- tools/cabana/detailwidget.cc | 4 ++-- tools/cabana/mainwin.cc | 11 ++++++++++- tools/cabana/mainwin.h | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/cabana/detailwidget.cc b/tools/cabana/detailwidget.cc index c20e2b672e..5035bf49b4 100644 --- a/tools/cabana/detailwidget.cc +++ b/tools/cabana/detailwidget.cc @@ -85,9 +85,9 @@ DetailWidget::DetailWidget(ChartsWidget *charts, QWidget *parent) : charts(chart tab_widget = new QTabWidget(this); tab_widget->setTabPosition(QTabWidget::South); - tab_widget->addTab(scroll, "Msg"); + tab_widget->addTab(scroll, "&Msg"); history_log = new HistoryLog(this); - tab_widget->addTab(history_log, "Logs"); + tab_widget->addTab(history_log, "&Logs"); main_layout->addWidget(tab_widget); QObject::connect(binary_view, &BinaryView::signalClicked, this, &DetailWidget::showForm); diff --git a/tools/cabana/mainwin.cc b/tools/cabana/mainwin.cc index 324323ac44..6a298bc228 100644 --- a/tools/cabana/mainwin.cc +++ b/tools/cabana/mainwin.cc @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +83,7 @@ MainWindow::MainWindow() : QMainWindow() { setCentralWidget(central_widget); createActions(); createStatusBar(); + createShortcuts(); qRegisterMetaType("uint64_t"); qRegisterMetaType("ReplyMsgType"); @@ -156,6 +158,12 @@ void MainWindow::createStatusBar() { statusBar()->addPermanentWidget(progress_bar); } +void MainWindow::createShortcuts() { + auto shortcut = new QShortcut(QKeySequence(Qt::Key_Space), this, nullptr, nullptr, Qt::ApplicationShortcut); + QObject::connect(shortcut, &QShortcut::activated, []() { can->pause(!can->isPaused()); }); + // TODO: add more shortcuts here. +} + void MainWindow::loadDBCFromName(const QString &name) { if (name != dbc()->name()) dbc()->open(name); @@ -225,7 +233,8 @@ void MainWindow::dockCharts(bool dock) { floating_window->deleteLater(); floating_window = nullptr; } else if (!dock && !floating_window) { - floating_window = new QWidget(nullptr); + floating_window = new QWidget(this); + floating_window->setWindowFlags(Qt::Window); floating_window->setWindowTitle("Charts - Cabana"); floating_window->setLayout(new QVBoxLayout()); floating_window->layout()->addWidget(charts_widget); diff --git a/tools/cabana/mainwin.h b/tools/cabana/mainwin.h index bb9280c3ea..5d377c44ca 100644 --- a/tools/cabana/mainwin.h +++ b/tools/cabana/mainwin.h @@ -35,6 +35,7 @@ signals: protected: void createActions(); void createStatusBar(); + void createShortcuts(); void closeEvent(QCloseEvent *event) override; void updateDownloadProgress(uint64_t cur, uint64_t total, bool success); void setOption();