-Add a button to swap the pre and post affine values for all selected xforms.
--Bug fixes
-Remove the ability to change spinner values with +=-=, it was conflicting with other things and added no real value.
-All file dialog opening in Linux would freeze. No longer using native file dialogs, they are broken.
-Set default open path to the desktop if there is no settings file present, which will be the case on the first run.
-Amphibole_Supergroup.ugr palette had an invalid character in two of the palette names.
--Code changes
-Change some table header padding styles to work with new Qt. Qss reload is required.
-Ensure the open folder path setting always has a valid string in it before opening a folder.
-Further work on the About box.
--Change qss files to make the text box in the About box be the same color as the one in the style dialog, so the link text is easier to see.
--This requires reloading the qss file.
--Bug fixes
-Pre/post assign method was wrong for Sphereblur, Concentric, RandCubes and PixelFlow.
--Code changes
-Make Hypershift2 use MwcNextRange() instead of MwcNext() %.
-Add m_HasPre to Xform similar to m_HasPost, to skip application of the affine if it's the ID matrix (in this case just assign the input x and y points). This gives a 5% speedup.
-Give tabs a height of 4px in the qss files. Looks a little large on 4k screens, but just right on HD screens which are much more common.
-Allow for styling of zero and non-zero variation tree nodes via qss.
-Allow for toggling whether to interpolate between colors in the palette editor, or to do hard cuts between colors.
-Allow for adjusting spinner values with the + = or up arrow keys to increase, and - _ or down arrow keys to decrease.
-Allow for responding to global presses of + = and - _ to cycle up or down to specify which xform is set as the current one.
-Allow for adding "layers" via xaos which will add a user-specified number of xforms, and set certain xaos values to 0 or 1.
-Add a new menu item under the Edit menu to copy the OpenCL iteration kernel source to the clipboard.
-Show text on the status bar which indicates that an OpenCL kernel compilation is taking place.
-Show xform name on xform combo box when expanded. Adjust size to fit all names.
-Draw post affine circles using dashed lines.
-Prevent QSS dialog from styling its editor, which makes it easier to see text when creating styles which have custom colors for text boxes.
--Bug fixes
-Fix up some table layouts which seemed to have regressed/decayed over time for reasons unknown.
-Using undo/redo would create a new flame in the library every time.
-Solo was not being preserved when using undo/redo.
--Code changes
-Make the solo flag be a part of the flame data now.
-Fix some tabification in the OpenCL code for EllipticVariation.
-Fix tabification in the varState code for OpenCL.
-Add an event called m_CompileBegun to RendererCL that is called right before an OpenCL compile is begun.
--This required making RendererCLBase not a pure virtual base class. Member functions just return defaults.
-Filter key presses on main window to only process the third one. This is due to Qt triggering three events for every key press.
-The palette preview table was installing an event filter for seemingly no reason. Remove it.
-Mark certain virtual functions as override in SpinBox and DoubleSpinBox.
--User changes
-dark.qss is now per-OS.
-Properly set/reload palette when coming from the palette editor. The latter must be done if they've modified the current palette even if they've clicked cancel.
--Bug fixes
-Make the following variations safer by using Zeps(): conic, bipolar, edisc, whorl, tan, csc, cot, tanh, sech, csch, coth, auger, bwraps, hypertile3d, hypertile3d1, ortho, poincare, rational3, barycentroid, sschecks, cscq, cschq, scry_3D, splitbrdr, hexcrop, nblur, crob.
-Fix bug enabling/disabling overwrite button in palette editor.
-Small optimization for gdoffs, use precalcAtanYX.
-Properly propagate z through circlesplit, cylinder2 and tile_log variations.
-Some values in truchet_fill could've been NaN.
--Code changes
-Make most installation files read only.
-Qualify many calls with std:: to ensure they're not colliding with glm::
-Use auto in more places.