forked from mirror/openmw-tes3mp
get modifiers from event instead of from the application
This commit is contained in:
parent
d2e92fd36f
commit
843225996c
4 changed files with 11 additions and 10 deletions
|
@ -150,7 +150,7 @@ void CSVRender::PagedWorldspaceWidget::addEditModeSelectorButtons (
|
||||||
"terrain-move");
|
"terrain-move");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVRender::PagedWorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button)
|
void CSVRender::PagedWorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button, bool shift)
|
||||||
{
|
{
|
||||||
if (tag && tag->getElement()==Element_CellArrow)
|
if (tag && tag->getElement()==Element_CellArrow)
|
||||||
{
|
{
|
||||||
|
@ -178,7 +178,7 @@ void CSVRender::PagedWorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> t
|
||||||
|
|
||||||
bool modified = false;
|
bool modified = false;
|
||||||
|
|
||||||
if (QApplication::keyboardModifiers() & Qt::ShiftModifier)
|
if (shift)
|
||||||
{
|
{
|
||||||
if (button=="p-edit")
|
if (button=="p-edit")
|
||||||
addCellSelection (x, y);
|
addCellSelection (x, y);
|
||||||
|
@ -217,7 +217,7 @@ void CSVRender::PagedWorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldspaceWidget::handleMouseClick (tag, button);
|
WorldspaceWidget::handleMouseClick (tag, button, shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVRender::PagedWorldspaceWidget::referenceableDataChanged (const QModelIndex& topLeft,
|
void CSVRender::PagedWorldspaceWidget::referenceableDataChanged (const QModelIndex& topLeft,
|
||||||
|
|
|
@ -102,7 +102,7 @@ namespace CSVRender
|
||||||
|
|
||||||
virtual void addEditModeSelectorButtons (CSVWidget::SceneToolMode *tool);
|
virtual void addEditModeSelectorButtons (CSVWidget::SceneToolMode *tool);
|
||||||
|
|
||||||
virtual void handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button);
|
virtual void handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button, bool shift);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
|
|
|
@ -413,7 +413,7 @@ osg::ref_ptr<CSVRender::TagBase> CSVRender::WorldspaceWidget::mousePick (QMouseE
|
||||||
std::string CSVRender::WorldspaceWidget::mapButton (QMouseEvent *event)
|
std::string CSVRender::WorldspaceWidget::mapButton (QMouseEvent *event)
|
||||||
{
|
{
|
||||||
std::pair<Qt::MouseButton, bool> phyiscal (
|
std::pair<Qt::MouseButton, bool> phyiscal (
|
||||||
event->button(), QApplication::keyboardModifiers() & Qt::ControlModifier);
|
event->button(), event->modifiers() & Qt::ControlModifier);
|
||||||
|
|
||||||
std::map<std::pair<Qt::MouseButton, bool>, std::string>::const_iterator iter =
|
std::map<std::pair<Qt::MouseButton, bool>, std::string>::const_iterator iter =
|
||||||
mButtonMapping.find (phyiscal);
|
mButtonMapping.find (phyiscal);
|
||||||
|
@ -548,7 +548,7 @@ void CSVRender::WorldspaceWidget::mouseMoveEvent (QMouseEvent *event)
|
||||||
|
|
||||||
double factor = mDragFactor;
|
double factor = mDragFactor;
|
||||||
|
|
||||||
if (QApplication::keyboardModifiers() & Qt::ShiftModifier)
|
if (event->modifiers() & Qt::ShiftModifier)
|
||||||
factor *= mDragShiftFactor;
|
factor *= mDragShiftFactor;
|
||||||
|
|
||||||
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
||||||
|
@ -593,7 +593,7 @@ void CSVRender::WorldspaceWidget::mouseReleaseEvent (QMouseEvent *event)
|
||||||
{
|
{
|
||||||
osg::ref_ptr<TagBase> tag = mousePick (event);
|
osg::ref_ptr<TagBase> tag = mousePick (event);
|
||||||
|
|
||||||
handleMouseClick (tag, button);
|
handleMouseClick (tag, button, event->modifiers() & Qt::ShiftModifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -614,7 +614,7 @@ void CSVRender::WorldspaceWidget::wheelEvent (QWheelEvent *event)
|
||||||
{
|
{
|
||||||
double factor = mDragWheelFactor;
|
double factor = mDragWheelFactor;
|
||||||
|
|
||||||
if (QApplication::keyboardModifiers() & Qt::ShiftModifier)
|
if (event->modifiers() & Qt::ShiftModifier)
|
||||||
factor *= mDragShiftFactor;
|
factor *= mDragShiftFactor;
|
||||||
|
|
||||||
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
||||||
|
@ -639,7 +639,7 @@ void CSVRender::WorldspaceWidget::keyPressEvent (QKeyEvent *event)
|
||||||
RenderWidget::keyPressEvent(event);
|
RenderWidget::keyPressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVRender::WorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button)
|
void CSVRender::WorldspaceWidget::handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button, bool shift)
|
||||||
{
|
{
|
||||||
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent());
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,8 @@ namespace CSVRender
|
||||||
virtual void wheelEvent (QWheelEvent *event);
|
virtual void wheelEvent (QWheelEvent *event);
|
||||||
virtual void keyPressEvent (QKeyEvent *event);
|
virtual void keyPressEvent (QKeyEvent *event);
|
||||||
|
|
||||||
virtual void handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button);
|
virtual void handleMouseClick (osg::ref_ptr<TagBase> tag, const std::string& button,
|
||||||
|
bool shift);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue