- 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
- Allow origin to be either at the top-left corner or center of label (#174)
- For non-rectangular labels (cd, round, etc.) the origin will still
always be at the center of the label.
- User controllable grid spacing
- Added side pane for product preview and information
- Product selection is done with a separate pushbutton, so that user gets a
chance to preview the complete product information before committing to the
selection
- Supports two view modes: Grid View and List View
- View mode is automatically stored in Settings, so it will default to the
user's prefered mode
- Should address most concerns in #109 and #142
- 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