Add ability to move result widget with middle button
This commit is contained in:
parent
013370e51e
commit
bbe7d0a729
@ -150,19 +150,35 @@ void ResultWidget::updateSettings()
|
|||||||
|
|
||||||
bool ResultWidget::eventFilter(QObject *watched, QEvent *event)
|
bool ResultWidget::eventFilter(QObject *watched, QEvent *event)
|
||||||
{
|
{
|
||||||
if (event->type() == QEvent::MouseButtonPress) {
|
if (event->type() == QEvent::WindowDeactivate)
|
||||||
const auto button = static_cast<QMouseEvent *>(event)->button();
|
|
||||||
if (button == Qt::RightButton) {
|
|
||||||
contextMenu_->exec(QCursor::pos());
|
|
||||||
} else {
|
|
||||||
hide();
|
|
||||||
}
|
|
||||||
} else if (event->type() == QEvent::WindowDeactivate) {
|
|
||||||
hide();
|
hide();
|
||||||
}
|
|
||||||
return QWidget::eventFilter(watched, event);
|
return QWidget::eventFilter(watched, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ResultWidget::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
const auto button = event->button();
|
||||||
|
if (button == Qt::RightButton) {
|
||||||
|
contextMenu_->exec(QCursor::pos());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (button == Qt::MiddleButton) {
|
||||||
|
lastPos_ = event->pos();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResultWidget::mouseMoveEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (!(event->buttons() & Qt::MiddleButton))
|
||||||
|
return;
|
||||||
|
|
||||||
|
move(pos() + event->pos() - lastPos_);
|
||||||
|
}
|
||||||
|
|
||||||
void ResultWidget::edit()
|
void ResultWidget::edit()
|
||||||
{
|
{
|
||||||
representer_.edit(task_);
|
representer_.edit(task_);
|
||||||
|
@ -21,6 +21,10 @@ public:
|
|||||||
|
|
||||||
bool eventFilter(QObject* watched, QEvent* event) override;
|
bool eventFilter(QObject* watched, QEvent* event) override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void mousePressEvent(QMouseEvent* event) override;
|
||||||
|
void mouseMoveEvent(QMouseEvent* event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void edit();
|
void edit();
|
||||||
void copyImage();
|
void copyImage();
|
||||||
@ -34,4 +38,5 @@ private:
|
|||||||
QLabel* separator_;
|
QLabel* separator_;
|
||||||
QLabel* translated_;
|
QLabel* translated_;
|
||||||
QMenu* contextMenu_;
|
QMenu* contextMenu_;
|
||||||
|
QPoint lastPos_;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user