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)
|
||||||
|
{
|
||||||
|
if (e -> button() == Qt::LeftButton)
|
||||||
|
{
|
||||||
|
//Disable views context menu
|
||||||
|
if (scene())
|
||||||
|
foreach (QGraphicsView *view, scene()->views())
|
||||||
|
view->setContextMenuPolicy(Qt::NoContextMenu);
|
||||||
|
|
||||||
first_move_ = true;
|
first_move_ = true;
|
||||||
if (e -> modifiers() & Qt::ControlModifier) {
|
if (e -> modifiers() & Qt::ControlModifier)
|
||||||
setSelected(!isSelected());
|
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,7 +22,8 @@
|
|||||||
|
|
||||||
class Diagram;
|
class Diagram;
|
||||||
|
|
||||||
class QetGraphicsItem : public QGraphicsObject {
|
class QetGraphicsItem : public QGraphicsObject
|
||||||
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -39,10 +40,6 @@ class QetGraphicsItem : public QGraphicsObject {
|
|||||||
virtual void editProperty () {}
|
virtual void editProperty () {}
|
||||||
virtual QString name ()const {return QString("");}
|
virtual QString name ()const {return QString("");}
|
||||||
|
|
||||||
signals:
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
|
|
||||||
//protected method
|
//protected method
|
||||||
protected:
|
protected:
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *e);
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *e);
|
||||||
|
|||||||
Reference in New Issue
Block a user