- Made greater use of smart pointers, eliminating many instances of manual memory management
- Do not use pointers at all for many non-polymorphic classes
- Assorted other code cleanup
- Update libzint support for 2.15 as new baseline version, removing support for earlier versions, avoiding '#ifdef'-hell
- Based on #186
---------
Co-authored-by: gitlost <burmartke@gmail.com>
- New baseline minimum platform is Ubuntu 22.04
- Qt6 requires at least 6.2
- some deprecations may be flagged on later versions (e.g. 6.8)
- CMake requires at least 3.22
- Include build-tests.yml github action to validate builds on mulitple platforms
- QtTest is no longer optional since it easily comes along for the ride with Qt
- Replaced QStringRef in model::SubstitutionField with simple ParserState class
- Removed deprecations up to Qt 6.2
- use "shared" pointer between Model and undo/redo instances
- adds missing initializers to Merge and Text classes
- adds checkpoints for mouse resize, barcode, and image reset.
- renames the position dialog checkpoint from Move -> Position to differentiate it from a mouse move.
- adds the Undo/Redo action descriptions to the menu items.
- adds unit tests for the Merge and Model change, and for ColorNode, RawText and TextNode.
QRcode_clearCache has been deprecated in libqrencode 4.0. In previous versions,
it was only necessary to help debug memory leaks. So it should be harmless
to remove this call.