* Stable OpenOctave port light position
* More neat OpenOctave theme port lights
fillPath seems to produce more neat result when downscaled like in
minimap, compared to even fillRect. Cosmetic line is good to keep it
visible even on minimap.
* Keep minimum connection line visibility
Don't let connections to disappear on too high scales, like minimap with
very big canvas.
* connection lines: Fix line selection bug
Connection line was unselected if selection changed from input port to
output port for same connection, probably due to repaint order issue.
New variant should be more stable, yet not requiring non-standard
state variable.
* rack: Reset to noop color if unknown skin set
Some skins are initially designed to have hardcoded, color scheme. With
previously selected dark color and new dark skin, it may become close to
black.
* patchcanvas: Working Ctrl for rubberband selection
* patchcanvas: optimize calls in zoom-fit
* patchcanvas: optimize fixScaleFactors
* patchcanvas: speedup zoom_in/zoom_out
* patchcanvas: disconnect ports by Ctrl+MidButton
* patchcanvas: optimize rubberband update
* patchcanvas: correct cursor unset
* fixScaleFactor: support transform argument
* patchcanvas: speedup wheelEvent handler
Direct operations on QTransform go faster than via QGraphicsView
convenience methods.
* patchcanvas: optimize QPointF construction
* patchcanvas: Сursor for connection cut mode
* patchcanvas: rubberband scaling support
* patchcanvas: Limit top scale by canvas size
* patchcanvas: Fix box position after each movement, even creation
* minimap: Scaling support
Pressing RMB after LMB activates special scaling mode. Scroll wheel to
scale in any mode or without such.
* patchcanvas: Take port lineHinting from chosen pen
* patchcanvas: Set default port offset to 0px
Besides of more tidy look with certain themes, it also noticed to be
workaround for problem, when connection lines get under port's parent
box, after selection changes.
* patchcanvas: Finer connection placement relative to ports
More folding
Clean some magic height changes. Bottom space now consists of
max(port_spacing, port_spacingT) + border width - trailing port_spacing.
Port types are traversed in loop, using array.
More folding
Clean some magic height changes. Bottom space now consists of
max(port_spacing, port_spacingT) + border width - trailing port_spacing.
Port types are traversed in loop, using array.
Mouse buttons in nix world have numbers 1..3 for 3 primary buttons, but
qt has special meaning for numbered names, using symbolics for first
standard buttons.