* Bulk replaced tabs with spaces
* Bulk removed trailing whitespace from lines
* Replaced c-style comments with c++-style comments in file banners
* Replace nested namespace definitions with single concise definitions (C++17), this keeps the indentation more manageable
* Cleanup ordering and spacing of include directives
* Bulk renaming of header file extensions from '.h' to '.hpp'.
* Update CODING-STYLE.md
* Update target_compile_features from cxx_std_11 to cxx_std_20.
* Refresh .clang-format file. Still needs a lot of tweaking.
- 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
- 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
Note: must currently use QGuiApplication instead of QCoreApplication to
support QFont. Unfortunately, this means that glabels-batch must run
within a windowing system. Ideally, it would not have this requirement.