Add smooth scroll w/macOS trackpad to more widgets

This commit is contained in:
David Capello 2016-11-22 09:25:23 -03:00
parent f985e6c6c0
commit b2a25954d4
2 changed files with 14 additions and 3 deletions

View File

@ -279,7 +279,12 @@ bool FileList::onProcessMessage(Message* msg)
View* view = View::getView(this); View* view = View::getView(this);
if (view) { if (view) {
gfx::Point scroll = view->viewScroll(); gfx::Point scroll = view->viewScroll();
scroll += static_cast<MouseMessage*>(msg)->wheelDelta() * 3*(textHeight()+4*guiscale());
if (static_cast<MouseMessage*>(msg)->preciseWheel())
scroll += static_cast<MouseMessage*>(msg)->wheelDelta();
else
scroll += static_cast<MouseMessage*>(msg)->wheelDelta() * 3*(textHeight()+4*guiscale());
view->setViewScroll(scroll); view->setViewScroll(scroll);
} }
break; break;

View File

@ -382,13 +382,19 @@ bool PaletteView::onProcessMessage(Message* msg)
gfx::Point delta = static_cast<MouseMessage*>(msg)->wheelDelta(); gfx::Point delta = static_cast<MouseMessage*>(msg)->wheelDelta();
if (msg->onlyCtrlPressed()) { if (msg->onlyCtrlPressed() ||
msg->onlyCmdPressed()) {
int z = delta.x - delta.y; int z = delta.x - delta.y;
setBoxSize(m_boxsize + z); setBoxSize(m_boxsize + z);
} }
else { else {
gfx::Point scroll = view->viewScroll(); gfx::Point scroll = view->viewScroll();
scroll += delta * 3 * m_boxsize;
if (static_cast<MouseMessage*>(msg)->preciseWheel())
scroll += delta;
else
scroll += delta * 3 * m_boxsize;
view->setViewScroll(scroll); view->setViewScroll(scroll);
} }
break; break;