##// END OF EJS Templates
Remove unused pending request of worker since it's already in the VC....
Remove unused pending request of worker since it's already in the VC. Fix bug with progress asynchrone computation

File last commit:

r1088:1eed201e150e
r1395:b136e07f06a8
Show More
VisualizationDragWidget.cpp
61 lines | 1.6 KiB | text/x-c | CppLexer
/ gui / src / Visualization / VisualizationDragWidget.cpp
#include "Visualization/VisualizationDragWidget.h"
#include "Visualization/VisualizationDragDropContainer.h"
#include <QApplication>
#include <QMouseEvent>
#include <SqpApplication.h>
struct VisualizationDragWidget::VisualizationDragWidgetPrivate {
QPoint m_DragStartPosition;
bool m_DragStartPositionValid = false;
explicit VisualizationDragWidgetPrivate() {}
};
VisualizationDragWidget::VisualizationDragWidget(QWidget *parent)
: QWidget{parent}, impl{spimpl::make_unique_impl<VisualizationDragWidgetPrivate>()}
{
}
QPixmap VisualizationDragWidget::customDragPixmap(const QPoint &dragPosition)
{
Q_UNUSED(dragPosition);
return QPixmap();
}
void VisualizationDragWidget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
impl->m_DragStartPosition = event->pos();
}
impl->m_DragStartPositionValid = isDragAllowed();
QWidget::mousePressEvent(event);
}
void VisualizationDragWidget::mouseMoveEvent(QMouseEvent *event)
{
if (!impl->m_DragStartPositionValid || !isDragAllowed()) {
return;
}
if (!(event->buttons() & Qt::LeftButton)) {
return;
}
if (sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::DragAndDrop
|| event->modifiers().testFlag(Qt::AltModifier)) {
if ((event->pos() - impl->m_DragStartPosition).manhattanLength()
< QApplication::startDragDistance()) {
return;
}
emit dragDetected(this, impl->m_DragStartPosition);
}
QWidget::mouseMoveEvent(event);
}