Scroll wheel (and possibly touchpad) better handled, see #3923

This commit is contained in:
Hombre 2018-03-23 23:21:05 +01:00
parent 806e1b32bb
commit bf6702fa56
2 changed files with 13 additions and 9 deletions

View File

@ -289,7 +289,7 @@ void CropWindow::scroll (int state, GdkScrollDirection direction, int x, int y)
if (direction == GDK_SCROLL_UP && !isMaxZoom()) {
zoomIn (true, newCenterX, newCenterY);
} else if (!isMinZoom()) {
} else if (direction == GDK_SCROLL_DOWN && !isMinZoom()) {
zoomOut (true, newCenterX, newCenterY);
}
}

View File

@ -71,20 +71,24 @@ void ThumbBrowserBase::scrollChanged ()
void ThumbBrowserBase::scroll (int direction)
{
// GUI already acquired when here
if (arrangement == TB_Vertical) {
vscroll.set_value (vscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * vscroll.get_adjustment()->get_step_increment());
} else {
hscroll.set_value (hscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * hscroll.get_adjustment()->get_step_increment());
if (direction == GDK_SCROLL_UP || direction == GDK_SCROLL_DOWN) {
if (arrangement == TB_Vertical) {
vscroll.set_value (vscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * vscroll.get_adjustment()->get_step_increment());
} else {
hscroll.set_value (hscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * hscroll.get_adjustment()->get_step_increment());
}
}
}
void ThumbBrowserBase::scrollPage (int direction)
{
// GUI already acquired when here
if (arrangement == TB_Vertical) {
vscroll.set_value (vscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * vscroll.get_adjustment()->get_page_increment());
} else {
hscroll.set_value (hscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * hscroll.get_adjustment()->get_page_increment());
if (direction == GDK_SCROLL_UP || direction == GDK_SCROLL_DOWN) {
if (arrangement == TB_Vertical) {
vscroll.set_value (vscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * vscroll.get_adjustment()->get_page_increment());
} else {
hscroll.set_value (hscroll.get_value() + (direction == GDK_SCROLL_DOWN ? +1 : -1) * hscroll.get_adjustment()->get_page_increment());
}
}
}