Merged in mmastriani/fractorium_michel (pull request #26)

Fixed Grid and Solution for sensitive mouse
This commit is contained in:
Michel Mastriani 2019-06-12 02:15:53 +00:00 committed by Matt Feemster
commit 29407d5949
2 changed files with 11 additions and 8 deletions

View File

@ -261,6 +261,7 @@ void FractoriumEmberController<T>::OpenAndPrepFiles(const QStringList& filenames
FillLibraryTree(append ? previousSize - 1 : 0);
ClearUndo();
m_GLController->ClearControl();
SetEmber(previousSize, false);
}
}
@ -279,7 +280,7 @@ void Fractorium::OnActionOpen(bool checked) { m_Controller->OpenAndPrepFiles(Set
template <typename T>
void FractoriumEmberController<T>::SaveCurrentAsXml()
{
QString filename;
QString filename;
auto s = m_Fractorium->m_Settings;
if (s->SaveAutoUnique() && m_LastSaveCurrent != "")
@ -321,6 +322,8 @@ void FractoriumEmberController<T>::SaveCurrentAsXml()
else
m_Fractorium->ShowCritical("Save Failed", "Could not save file, try saving to a different folder.");
}
m_GLController->ClearControl();
}
void Fractorium::OnActionSaveCurrentAsXml(bool checked) { m_Controller->SaveCurrentAsXml(); }
@ -364,6 +367,8 @@ void FractoriumEmberController<T>::SaveEntireFileAsXml()
else
m_Fractorium->ShowCritical("Save Failed", "Could not save file, try saving to a different folder.");
}
m_GLController->ClearControl();
}
void Fractorium::OnActionSaveEntireFileAsXml(bool checked) { m_Controller->SaveEntireFileAsXml(); }

View File

@ -374,7 +374,7 @@ void GLEmberControllerBase::ClearControl() { m_DragModifier &= ~et(eDragModifier
template <typename T>
void GLEmberController<T>::ClearWindow()
{
auto ember = m_FractoriumEmberController->CurrentEmber();
auto ember = m_FractoriumEmberController->CurrentEmber();
m_GL->makeCurrent();
m_GL->glClearColor(ember->m_Background.r, ember->m_Background.g, ember->m_Background.b, 1.0);
m_GL->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@ -804,7 +804,7 @@ bool GLEmberControllerBase::KeyPress_(QKeyEvent* e)
{
SetControl();
return true;
}
}
return false;
}
@ -829,7 +829,7 @@ bool GLEmberControllerBase::KeyRelease_(QKeyEvent* e)
{
if (e->key() == Qt::Key_Control)
{
ClearControl();
ClearControl();
return true;
}
@ -1116,12 +1116,10 @@ void GLEmberController<T>::Wheel(QWheelEvent* e)
}
else
{
if (m_Fractorium->DrawImage())
if (m_Fractorium->DrawImage() && (!(e->buttons() & Qt::MiddleButton)) && (!(e->modifiers() & Qt::ShiftModifier))) //Middle button does whole image translation, so ignore the mouse wheel while panning to avoid inadvertent zooming. ShiftModifier for sensitive mouse.
{
auto ember = m_FractoriumEmberController->CurrentEmber();
if (!(e->buttons() & Qt::MiddleButton))//Middle button does whole image translation, so ignore the mouse wheel while panning to avoid inadvertent zooming.
m_Fractorium->SetScale(ember->m_PixelsPerUnit + (e->angleDelta().y() >= 0 ? 50 : -50));
m_Fractorium->SetScale(ember->m_PixelsPerUnit + (e->angleDelta().y() >= 0 ? 50 : -50));
}
}
}