mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
macOS fix: add Move diagram item with the keyboard arrow
This commit is contained in:
@@ -360,7 +360,11 @@ void Diagram::keyPressEvent(QKeyEvent *event)
|
|||||||
#pragma message("@TODO move code to new function")
|
#pragma message("@TODO move code to new function")
|
||||||
#endif
|
#endif
|
||||||
//Move item with the keyboard arrow
|
//Move item with the keyboard arrow
|
||||||
if(event->modifiers() == Qt::NoModifier)
|
#ifdef Q_OS_MACOS
|
||||||
|
if(event->modifiers() == Qt::KeypadModifier)
|
||||||
|
#else
|
||||||
|
if(event->modifiers() == Qt::NoModifier)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
int xKeyGrid = settings.value(QStringLiteral("diagrameditor/key_Xgrid"),
|
int xKeyGrid = settings.value(QStringLiteral("diagrameditor/key_Xgrid"),
|
||||||
@@ -369,26 +373,26 @@ void Diagram::keyPressEvent(QKeyEvent *event)
|
|||||||
Diagram::yKeyGrid).toInt();
|
Diagram::yKeyGrid).toInt();
|
||||||
switch(event->key())
|
switch(event->key())
|
||||||
{
|
{
|
||||||
case Qt::Key_Left:
|
case Qt::Key_Left:
|
||||||
for (Element *item : dc.m_elements)
|
for (Element *item : dc.m_elements)
|
||||||
{
|
{
|
||||||
left_position = item->sceneBoundingRect().x();
|
left_position = item->sceneBoundingRect().x();
|
||||||
if(left_position <= 5)
|
if(left_position <= 5)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
movement = QPointF(-xKeyGrid, 0.0);
|
movement = QPointF(-xKeyGrid, 0.0);
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Right:
|
case Qt::Key_Right:
|
||||||
movement = QPointF(+xKeyGrid, 0.0);
|
movement = QPointF(+xKeyGrid, 0.0);
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Up:
|
case Qt::Key_Up:
|
||||||
for(Element *item : dc.m_elements)
|
for(Element *item : dc.m_elements)
|
||||||
{
|
{
|
||||||
top_position = item->sceneBoundingRect().y();
|
top_position = item->sceneBoundingRect().y();
|
||||||
if(top_position <= 5)
|
if(top_position <= 5)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
movement = QPointF(0.0, -yKeyGrid);
|
movement = QPointF(0.0, -yKeyGrid);
|
||||||
break;
|
break;
|
||||||
case Qt::Key_Down:
|
case Qt::Key_Down:
|
||||||
movement = QPointF(0.0, +yKeyGrid);
|
movement = QPointF(0.0, +yKeyGrid);
|
||||||
@@ -479,7 +483,7 @@ void Diagram::keyPressEvent(QKeyEvent *event)
|
|||||||
Qt::AlignRight));
|
Qt::AlignRight));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
event->ignore();
|
event->ignore();
|
||||||
QGraphicsScene::keyPressEvent(event);
|
QGraphicsScene::keyPressEvent(event);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user