]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.cpp
Fix clazy warnings
[pulseview.git] / pv / mainwindow.cpp
index e33901a222c1db720adf58acba7f684be122d142..0b68b1d7a9a9b2530bd58872b119f3ad5ae65fe2 100644 (file)
@@ -261,7 +261,7 @@ shared_ptr<subwindows::SubWindowBase> MainWindow::add_subwindow(
        shared_ptr<subwindows::SubWindowBase> v;
 
        QMainWindow *main_window = nullptr;
-       for (auto entry : session_windows_)
+       for (auto& entry : session_windows_)
                if (entry.first.get() == &session)
                        main_window = entry.second;
 
@@ -304,7 +304,7 @@ shared_ptr<subwindows::SubWindowBase> MainWindow::add_subwindow(
                QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);
 
        QAbstractButton *close_btn =
-               dock->findChildren<QAbstractButton*>
+               dock->findChildren<QAbstractButton*>  // clazy:exclude=detaching-temporary
                        ("qt_dockwidget_closebutton").front();
 
        connect(close_btn, SIGNAL(clicked(bool)),
@@ -514,9 +514,13 @@ void MainWindow::setup_ui()
        zoom_in_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Plus), this, SLOT(on_zoom_in_shortcut_triggered()));
        zoom_in_shortcut_->setAutoRepeat(false);
 
+       zoom_in_shortcut_2_ = new QShortcut(QKeySequence(Qt::Key_Up), this, SLOT(on_zoom_in_shortcut_triggered()));
+
        zoom_out_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Minus), this, SLOT(on_zoom_out_shortcut_triggered()));
        zoom_out_shortcut_->setAutoRepeat(false);
 
+       zoom_out_shortcut_2_ = new QShortcut(QKeySequence(Qt::Key_Down), this, SLOT(on_zoom_out_shortcut_triggered()));
+
        home_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Home), this, SLOT(on_scroll_to_start_triggered()));
        home_shortcut_->setAutoRepeat(false);
 
@@ -864,9 +868,12 @@ void MainWindow::on_show_decoder_selector(Session *session)
 {
 #ifdef ENABLE_DECODE
        // Close dock widget if it's already showing and return
-       for (auto entry : sub_windows_) {
+       for (auto& entry : sub_windows_) {
                QDockWidget* dock = entry.first;
-               if (dynamic_pointer_cast<subwindows::decoder_selector::SubWindow>(entry.second)) {
+               shared_ptr<subwindows::SubWindowBase> decoder_selector =
+                       dynamic_pointer_cast<subwindows::decoder_selector::SubWindow>(entry.second);
+
+               if (decoder_selector && (&decoder_selector->session() == session)) {
                        sub_windows_.erase(dock);
                        dock->close();
                        return;
@@ -874,7 +881,7 @@ void MainWindow::on_show_decoder_selector(Session *session)
        }
 
        // We get a pointer and need a reference
-       for (shared_ptr<Session> s : sessions_)
+       for (shared_ptr<Session>& s : sessions_)
                if (s.get() == session)
                        add_subwindow(subwindows::SubWindowTypeDecoderSelector, *s);
 #endif