Widgets: No scrolling with scrollable ancestor

New ScrollProtected class decorator for widgets.

Suppress value changes by scrolling if a widget:

  • has a scrollable ancestor (new)
  • is not focused
  • and the Shift key is not pressed (new)

Logic implemented for these widgets:

  • Inkscape::UI::Widget::SpinButton
  • Inkscape::UI::Widget::MarkerComboBox
  • Inkscape::UI::Widget::DashSelector
  • InkScale (#1587 (closed))

Applied to these dialogs:

  • Align and Distribute dialog (combo boxes)
  • Export dialog (spin buttons)
  • Object Properties dialog (image rendering combo box)
  • Spellcheck dialog (language combo box)
  • Fill and Stroke (color channel spin boxes)
  • Text and Font (font size combo box)

Also makes Inkscape::UI::Widget::SpinButton defocusing more generic by focusing the parent scroll window if no defocus widget was set (improves #314).

Fixes #31 (closed) Fixes #1587 (closed)

Edited by Thomas Holder

Merge request reports

Loading