QTableWidget was a major bottleneck for large merge sources (#217). This is because a QTableWidgetItem needed to be created for every field in every record of the merge data, whether they are being displayed or not. This was not a problem for small merge sources (only a few dozen records max), however for larger data sets this would severely affect performance and make the application unresponsive. QTableView only renders the fields and records currently visible.
- Increased polling interval from 1s to 10s
- Use QtConcurrent::run to initiate a poll asynchronously to main event loop
- Do not initiate a poll if the previous poll has not completed
- Use copies instead of references to mCurrentAvailablePrinters in public API
- Moved detailed version information from ReportBugDialog to Version::details()
- Added QPA Platform information to verbose version information
- Added Qt version to detailed version information
- Added `-V` command line option to glabels-qt and glabels-batch-qt
- Allow printer selection directly from PrintView
- Print button bypasses the system print dialog, since label printing is quite different from typical printing tasks
- Separate button to optionally use system print dialog, if needed
- Simplified some strings to not include unnecessary markup.
- Fix translator comments so that they actually make it to glabels_C.ts file
- Reconciled the style of these comments.
- Added translator comments
- Not all Qt::CursorShapes are supported on all platforoms
- e.g. on Wayland (Ubuntu 24.04) Qt::SizeAllCursor is not available and
falls back to its arrow cursor
- added built-in Crosshair and Move cursors, so that they should be available
across all platforms
- Redesigned existing object creation cursors
- Crosshairs are now 3-pixels wide
- Added white outlines to all cursors to aid in visibility against diverse
backgrounds
- 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
Install and validate integration with as many optional dependencies on all testing platforms when doing CI build tests.
- For windows-latest, use vcpkg to install zlib, libqrencode, and zint.
- For macos-latest, use brew to install zlib, qrencode, and zint.
- Made zint version detection more robust across platforms.
- 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>
- 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 drop interface for image files, images, and text, dragged from other applications. (#153,#223)
- Lock aspect ration on new image objects by default
- Communicate context menu click location to paste actions
- Simplify creation of build matrix.
- Added macos-latest build
- Renamed VERSION to VERSION.txt, this was problematic on macos build
- Added placeholders for installing optional dependencies for windows and macos builds in the future.
- 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
Use QFileInfo::completeBaseName() instead of QFileInfo::baseName() in
Model::shortName(). This was already the case when building list of
recent labels in MainWindow.
- 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
* Update QT5 references 5.6 -> 5.15
Builds and runs but now needs deprecated -> current updates.
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Update build instructions for Fedora 35 particulars
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated QtString::sprintf with QtString::arg
This was deprecated some revisions prior to 5.15.
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated QtString::SkipEmptyParts with Qt::SkipEmptyParts
Builds now with 5.15
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated QPrinter::setPageMargins with 5.15 version
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated QImage::byteCount() with QImage::sizeInBytes()
This could be problematic if qsizetype differs from int
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated endl with QT::endl
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
* Replace deprecated QMatrix with QTransform
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
---------
Signed-off-by: Jim Lieb <lieb@sea-troll.net>
- Most libraries use the 7.5 mils for the minimum X value, not 10.
- Minimum recommended barcode height is 5 mm according to ISO/IEC 16388.
- Minimum quiet zone is 10 * X according to ISO/IEC 16388.
- Adjust minimum text sizes for reduced minimum barcode sizes
Signed-off-by: Marton Balint <cus@passwd.hu>