// Set the vertical scrollbar
verticalScrollBar()->setPageStep(areaSize.height());
+ verticalScrollBar()->setSingleStep(areaSize.height() / 8);
const pair<int, int> extents = v_extents();
- const int extra_scroll_height = (extents.second - extents.first) / 4;
- verticalScrollBar()->setRange(extents.first - extra_scroll_height,
- extents.first + extra_scroll_height);
+ verticalScrollBar()->setRange(extents.first - (areaSize.height() / 2),
+ extents.second - (areaSize.height() / 2));
}
void View::update_layout()
void View::extents_changed(bool horz, bool vert)
{
sticky_events_ |=
- (horz ? SelectableItemHExtentsChanged : 0) |
- (vert ? SelectableItemVExtentsChanged : 0);
+ (horz ? RowItemHExtentsChanged : 0) |
+ (vert ? RowItemVExtentsChanged : 0);
lazy_event_handler_.start();
}
void View::process_sticky_events()
{
- if (sticky_events_ & SelectableItemHExtentsChanged)
+ if (sticky_events_ & RowItemHExtentsChanged)
update_layout();
- if (sticky_events_ & SelectableItemVExtentsChanged)
+ if (sticky_events_ & RowItemVExtentsChanged)
restack_all_row_items();
// Clear the sticky events