From dbb0254556ccbe1c8a7f5a7429d29b0266f1ee79 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 10 Oct 2016 13:30:01 +0200 Subject: [PATCH] Add double-click event handling to RDLabel, CustomPaintWidget & thumb --- qrenderdoc/Widgets/CustomPaintWidget.cpp | 5 +++++ qrenderdoc/Widgets/CustomPaintWidget.h | 4 +++- qrenderdoc/Widgets/RDLabel.cpp | 5 +++++ qrenderdoc/Widgets/RDLabel.h | 4 +++- qrenderdoc/Widgets/ResourcePreview.cpp | 11 +++++++++++ qrenderdoc/Widgets/ResourcePreview.h | 2 ++ 6 files changed, 29 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Widgets/CustomPaintWidget.cpp b/qrenderdoc/Widgets/CustomPaintWidget.cpp index e6c64e312..d3c248bf9 100644 --- a/qrenderdoc/Widgets/CustomPaintWidget.cpp +++ b/qrenderdoc/Widgets/CustomPaintWidget.cpp @@ -54,6 +54,11 @@ void CustomPaintWidget::mousePressEvent(QMouseEvent *e) emit clicked(e); } +void CustomPaintWidget::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit(doubleClicked(event)); +} + void CustomPaintWidget::mouseMoveEvent(QMouseEvent *e) { emit mouseMove(e); diff --git a/qrenderdoc/Widgets/CustomPaintWidget.h b/qrenderdoc/Widgets/CustomPaintWidget.h index 6764cf1f0..92f97f1f4 100644 --- a/qrenderdoc/Widgets/CustomPaintWidget.h +++ b/qrenderdoc/Widgets/CustomPaintWidget.h @@ -53,13 +53,15 @@ public: signals: void clicked(QMouseEvent *e); + void doubleClicked(QMouseEvent *e); void mouseMove(QMouseEvent *e); void resize(QResizeEvent *e); void mouseWheel(QWheelEvent *e); void keyPress(QKeyEvent *e); -private slots: +private: void mousePressEvent(QMouseEvent *e) override; + void mouseDoubleClickEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *e) override; void wheelEvent(QWheelEvent *e) override; void resizeEvent(QResizeEvent *e) override; diff --git a/qrenderdoc/Widgets/RDLabel.cpp b/qrenderdoc/Widgets/RDLabel.cpp index 14bd8e6d4..795650f5c 100644 --- a/qrenderdoc/Widgets/RDLabel.cpp +++ b/qrenderdoc/Widgets/RDLabel.cpp @@ -37,3 +37,8 @@ void RDLabel::mousePressEvent(QMouseEvent *event) { emit(clicked(event)); } + +void RDLabel::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit(doubleClicked(event)); +} diff --git a/qrenderdoc/Widgets/RDLabel.h b/qrenderdoc/Widgets/RDLabel.h index ac8815777..af489f500 100644 --- a/qrenderdoc/Widgets/RDLabel.h +++ b/qrenderdoc/Widgets/RDLabel.h @@ -35,9 +35,11 @@ public: signals: void clicked(QMouseEvent *event); + void doubleClicked(QMouseEvent *event); public slots: protected: - void mousePressEvent(QMouseEvent *event); + void mousePressEvent(QMouseEvent *event) override; + void mouseDoubleClickEvent(QMouseEvent *event) override; }; diff --git a/qrenderdoc/Widgets/ResourcePreview.cpp b/qrenderdoc/Widgets/ResourcePreview.cpp index 98be13535..a6d018c19 100644 --- a/qrenderdoc/Widgets/ResourcePreview.cpp +++ b/qrenderdoc/Widgets/ResourcePreview.cpp @@ -56,6 +56,12 @@ ResourcePreview::ResourcePreview(CaptureContext *c, IReplayOutput *output, QWidg QObject::connect(ui->thumbnail, &CustomPaintWidget::clicked, this, &ResourcePreview::clickEvent); QObject::connect(ui->slotLabel, &RDLabel::clicked, this, &ResourcePreview::clickEvent); QObject::connect(ui->descriptionLabel, &RDLabel::clicked, this, &ResourcePreview::clickEvent); + + QObject::connect(ui->thumbnail, &CustomPaintWidget::doubleClicked, this, + &ResourcePreview::doubleClickEvent); + QObject::connect(ui->slotLabel, &RDLabel::doubleClicked, this, &ResourcePreview::doubleClickEvent); + QObject::connect(ui->descriptionLabel, &RDLabel::doubleClicked, this, + &ResourcePreview::doubleClickEvent); } ResourcePreview::~ResourcePreview() @@ -68,6 +74,11 @@ void ResourcePreview::clickEvent(QMouseEvent *e) emit clicked(e); } +void ResourcePreview::doubleClickEvent(QMouseEvent *e) +{ + emit doubleClicked(e); +} + void ResourcePreview::setSlotName(const QString &n) { ui->slotLabel->setText(n); diff --git a/qrenderdoc/Widgets/ResourcePreview.h b/qrenderdoc/Widgets/ResourcePreview.h index 2983281cd..fc0654975 100644 --- a/qrenderdoc/Widgets/ResourcePreview.h +++ b/qrenderdoc/Widgets/ResourcePreview.h @@ -45,12 +45,14 @@ public: signals: void clicked(QMouseEvent *e); + void doubleClicked(QMouseEvent *e); public: void setSlotName(const QString &n); void setResourceName(const QString &n); void clickEvent(QMouseEvent *e); + void doubleClickEvent(QMouseEvent *e); WId thumbWinId();