mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
Qet graphics item : disable context menu from view when right button is holded
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3593 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -90,11 +90,20 @@ void QetGraphicsItem::applyRotation(const qreal &angle) {
|
|||||||
*handle the mouse click
|
*handle the mouse click
|
||||||
* @param e
|
* @param e
|
||||||
*/
|
*/
|
||||||
void QetGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *e) {
|
void QetGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *e)
|
||||||
first_move_ = true;
|
{
|
||||||
if (e -> modifiers() & Qt::ControlModifier) {
|
if (e -> button() == Qt::LeftButton)
|
||||||
setSelected(!isSelected());
|
{
|
||||||
|
//Disable views context menu
|
||||||
|
if (scene())
|
||||||
|
foreach (QGraphicsView *view, scene()->views())
|
||||||
|
view->setContextMenuPolicy(Qt::NoContextMenu);
|
||||||
|
|
||||||
|
first_move_ = true;
|
||||||
|
if (e -> modifiers() & Qt::ControlModifier)
|
||||||
|
setSelected(!isSelected());
|
||||||
}
|
}
|
||||||
|
|
||||||
QGraphicsItem::mousePressEvent(e);
|
QGraphicsItem::mousePressEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,5 +157,13 @@ void QetGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
|
|||||||
*/
|
*/
|
||||||
void QetGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
|
void QetGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
|
||||||
if (diagram()) diagram() -> endMoveElements();
|
if (diagram()) diagram() -> endMoveElements();
|
||||||
if (!(e -> modifiers() & Qt::ControlModifier)) QGraphicsItem::mouseReleaseEvent(e);
|
|
||||||
|
if (!(e -> modifiers() & Qt::ControlModifier))
|
||||||
|
QGraphicsItem::mouseReleaseEvent(e);
|
||||||
|
|
||||||
|
//Enable views context menu
|
||||||
|
if (e -> button() == Qt::LeftButton)
|
||||||
|
if (scene())
|
||||||
|
foreach (QGraphicsView *view, scene()->views())
|
||||||
|
view -> setContextMenuPolicy(Qt::DefaultContextMenu);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,39 +22,36 @@
|
|||||||
|
|
||||||
class Diagram;
|
class Diagram;
|
||||||
|
|
||||||
class QetGraphicsItem : public QGraphicsObject {
|
class QetGraphicsItem : public QGraphicsObject
|
||||||
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//constructor destructor
|
//constructor destructor
|
||||||
QetGraphicsItem(QGraphicsItem *parent = 0);
|
QetGraphicsItem(QGraphicsItem *parent = 0);
|
||||||
virtual ~QetGraphicsItem() = 0;
|
virtual ~QetGraphicsItem() = 0;
|
||||||
|
|
||||||
//public methode
|
//public methode
|
||||||
Diagram * diagram() const;
|
Diagram *diagram () const;
|
||||||
virtual void setPos(const QPointF &p);
|
virtual void setPos (const QPointF &p);
|
||||||
virtual void setPos(qreal x, qreal y);
|
virtual void setPos (qreal x, qreal y);
|
||||||
virtual void rotateBy(const qreal &);
|
virtual void rotateBy (const qreal &);
|
||||||
virtual void applyRotation(const qreal &);
|
virtual void applyRotation (const qreal &);
|
||||||
virtual void editProperty (){}
|
virtual void editProperty () {}
|
||||||
virtual QString name()const {return QString("");}
|
virtual QString name ()const {return QString("");}
|
||||||
|
|
||||||
signals:
|
//protected method
|
||||||
|
|
||||||
public slots:
|
|
||||||
|
|
||||||
//protected method
|
|
||||||
protected:
|
protected:
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *e);
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *e);
|
||||||
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e);
|
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e);
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *e);
|
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *e);
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *e);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *e);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool is_movable_;
|
bool is_movable_;
|
||||||
bool first_move_;
|
bool first_move_;
|
||||||
bool snap_to_grid_;
|
bool snap_to_grid_;
|
||||||
QPointF mouse_to_origin_movement_;
|
QPointF mouse_to_origin_movement_;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user