diff --git a/tools/cabana/chartswidget.cc b/tools/cabana/chartswidget.cc index a271df9dd7..d482b71cb3 100644 --- a/tools/cabana/chartswidget.cc +++ b/tools/cabana/chartswidget.cc @@ -22,6 +22,7 @@ ChartsWidget::ChartsWidget(QWidget *parent) : QWidget(parent) { // toolbar QToolBar *toolbar = new QToolBar(tr("Charts"), this); toolbar->setIconSize({16, 16}); + toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); QAction *new_plot_btn = toolbar->addAction(utils::icon("file-plus"), ""); new_plot_btn->setToolTip(tr("New Plot")); @@ -36,17 +37,16 @@ ChartsWidget::ChartsWidget(QWidget *parent) : QWidget(parent) { stretch_label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); toolbar->addWidget(stretch_label); - toolbar->addWidget(new QLabel(tr("Range:"))); - toolbar->addWidget(range_lb = new QLabel(this)); + range_lb_action = toolbar->addWidget(range_lb = new QLabel(this)); range_slider = new QSlider(Qt::Horizontal, this); range_slider->setToolTip(tr("Set the chart range")); range_slider->setRange(1, settings.max_cached_minutes * 60); range_slider->setSingleStep(1); range_slider->setPageStep(60); // 1 min - toolbar->addWidget(range_slider); + range_slider_action = toolbar->addWidget(range_slider); reset_zoom_btn = toolbar->addAction(utils::icon("zoom-out"), ""); - reset_zoom_btn->setToolTip(tr("Reset zoom (drag on chart to zoom X-Axis)")); + reset_zoom_btn->setToolTip(tr("Reset zoom")); remove_all_btn = toolbar->addAction(utils::icon("x"), ""); remove_all_btn->setToolTip(tr("Remove all charts")); dock_btn = toolbar->addAction(""); @@ -159,12 +159,15 @@ void ChartsWidget::setMaxChartRange(int value) { } void ChartsWidget::updateToolBar() { - range_lb->setText(QString(" %1:%2 ").arg(max_chart_range / 60, 2, 10, QLatin1Char('0')).arg(max_chart_range % 60, 2, 10, QLatin1Char('0'))); title_label->setText(tr("Charts: %1").arg(charts.size())); - dock_btn->setIcon(utils::icon(docking ? "arrow-up-right" : "arrow-down-left")); - dock_btn->setToolTip(docking ? tr("Undock charts") : tr("Dock charts")); + range_lb->setText(QString("Range: %1:%2 ").arg(max_chart_range / 60, 2, 10, QLatin1Char('0')).arg(max_chart_range % 60, 2, 10, QLatin1Char('0'))); + range_lb_action->setVisible(!is_zoomed); + range_slider_action->setVisible(!is_zoomed); + reset_zoom_btn->setVisible(is_zoomed); + reset_zoom_btn->setText(is_zoomed ? tr("Zoomin: %1-%2").arg(zoomed_range.first, 0, 'f', 2).arg(zoomed_range.second, 0, 'f', 2) : ""); remove_all_btn->setEnabled(!charts.isEmpty()); - reset_zoom_btn->setEnabled(is_zoomed); + dock_btn->setIcon(utils::icon(docking ? "arrow-up-right-square" : "arrow-down-left-square")); + dock_btn->setToolTip(docking ? tr("Undock charts") : tr("Dock charts")); } void ChartsWidget::settingChanged() { diff --git a/tools/cabana/chartswidget.h b/tools/cabana/chartswidget.h index 66ef98991f..dc92be89f9 100644 --- a/tools/cabana/chartswidget.h +++ b/tools/cabana/chartswidget.h @@ -134,6 +134,8 @@ private: QLabel *title_label; QLabel *range_lb; QSlider *range_slider; + QAction *range_lb_action; + QAction *range_slider_action; bool docking = true; QAction *dock_btn; QAction *reset_zoom_btn;