]> git.sesse.net Git - nageru/commitdiff
Make it possible to switch camera angles by clicking on the preview displays.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Sep 2018 23:00:10 +0000 (01:00 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 19 Sep 2018 23:00:10 +0000 (01:00 +0200)
jpeg_frame_view.cpp
jpeg_frame_view.h
mainwindow.cpp

index 5ef2f0b8ab3a66fb661ebb384eb2717420c5423c..8e22f629541903fc2b2d20d1399aa18c33ec57fd 100644 (file)
@@ -10,6 +10,8 @@
 #include <thread>
 #include <utility>
 
+#include <QMouseEvent>
+
 #include <movit/resource_pool.h>
 #include <movit/init.h>
 #include <movit/util.h>
@@ -310,3 +312,10 @@ void JPEGFrameView::setDecodedFrame(std::shared_ptr<Frame> frame)
                update();
        });
 }
+
+void JPEGFrameView::mousePressEvent(QMouseEvent *event)
+{
+       if (event->type() == QEvent::MouseButtonPress && event->button() == Qt::LeftButton) {
+               emit clicked();
+       }
+}
index 5d97b074b5d706164ce33542053d86448a97fac4..2f31c1b1d88206150935b2d02a147be61ed98f68 100644 (file)
@@ -43,10 +43,15 @@ public:
                update_frame();
        }
 
+       void mousePressEvent(QMouseEvent *event) override;
+
        unsigned get_stream_idx() const { return stream_idx; }
 
        void setDecodedFrame(std::shared_ptr<Frame> frame);
 
+signals:
+       void clicked();
+
 protected:
        void initializeGL() override;
        void resizeGL(int width, int height) override;
index 0e73b990e0b7387a3931dea135c3c0d6792e0d4a..b1fa281cb933930b28984e53f41f15d42c790f38 100644 (file)
@@ -60,18 +60,22 @@ MainWindow::MainWindow()
 
        QShortcut *preview_1 = new QShortcut(QKeySequence(Qt::Key_1), this);
        connect(preview_1, &QShortcut::activated, ui->preview_1_btn, &QPushButton::click);
+       connect(ui->input1_display, &JPEGFrameView::clicked, ui->preview_1_btn, &QPushButton::click);
        connect(ui->preview_1_btn, &QPushButton::clicked, [this]{ preview_angle_clicked(0); });
 
        QShortcut *preview_2 = new QShortcut(QKeySequence(Qt::Key_2), this);
        connect(preview_2, &QShortcut::activated, ui->preview_2_btn, &QPushButton::click);
+       connect(ui->input2_display, &JPEGFrameView::clicked, ui->preview_2_btn, &QPushButton::click);
        connect(ui->preview_2_btn, &QPushButton::clicked, [this]{ preview_angle_clicked(1); });
 
        QShortcut *preview_3 = new QShortcut(QKeySequence(Qt::Key_3), this);
        connect(preview_3, &QShortcut::activated, ui->preview_3_btn, &QPushButton::click);
+       connect(ui->input3_display, &JPEGFrameView::clicked, ui->preview_3_btn, &QPushButton::click);
        connect(ui->preview_3_btn, &QPushButton::clicked, [this]{ preview_angle_clicked(2); });
 
        QShortcut *preview_4 = new QShortcut(QKeySequence(Qt::Key_4), this);
        connect(preview_4, &QShortcut::activated, ui->preview_4_btn, &QPushButton::click);
+       connect(ui->input4_display, &JPEGFrameView::clicked, ui->preview_4_btn, &QPushButton::click);
        connect(ui->preview_4_btn, &QPushButton::clicked, [this]{ preview_angle_clicked(3); });
 
        connect(ui->playlist_duplicate_btn, &QPushButton::clicked, this, &MainWindow::playlist_duplicate);