Commit Graph

616 Commits

Author SHA1 Message Date
Jaye Evins 45a92eda89 Base TemplatePicker on QListView instead of QListWidget (#276) 2026-01-05 14:09:00 -05:00
Jaye Evins 742b80fc47 Use canonical file paths for filenames in model (#275) 2026-01-02 13:34:44 -05:00
Jaye Evins d17bb2e1be Add merge input option to glabels-batch-qt. (#267,#274) 2026-01-01 19:51:38 -05:00
alextrical 3309837080 Add instructions to compile on MacOS AMD64 and ARM64 (#244)
* Add instructions to compile on MacOS AMD64 and ARM64
* Update build instructions for QT6
* Update BUILD-INSTRUCTIONS-MACOS.md
2025-12-30 21:26:00 -05:00
Martin Malec 19a8c246ad Update glabels-4 major version in doc from qt-5 to qt-6 (#269) 2025-12-30 18:48:27 -05:00
Jaye Evins ce8bbad26c Bypass Qt font metric calculations (#272)
- This originally showed up as fonts rendering differently on X11 than Wayland. (#230)
- Setting font size in points should be device and back end independent, however the same exact font face and size, on
  the same machine, sometimes results in different font metrics between the xcb and wayland Qt back ends.
- Setting font size in pixels, assuming a virtual DPI of 96 pixels/inch, results in consistent font metrics and rendering
  between these back ends. Furthermore, this virtual DPI works for either on-screen or hi-res printer QPainter contexts.
- This virtual DPI seems to work correctly with some limited testing with Windows and MacOS.
- Add rendering tests to build-tests CI script.
2025-12-30 00:33:17 -05:00
Jaye Evins 82b264a7a0 Manpages update for glabels-qt and glabels-batch-qt
- Document new verbose version option (-V/--Version) introduced in #257
2025-12-17 23:50:33 -05:00
Jaye Evins 90e236f847 Remove files from Settings::recentFileList(), if they fail to open. (#268)
- i.e. they no longer exist or have been moved
- update recent file menu in StartupView as Settings change
2025-12-17 21:26:30 -05:00
p0358 aba0f11616 Preparation for flatpack support (#255)
- Updates to project and desktop metadata in preparation for flatpak packaging
- These updates are independent of flatpack
- This commit unmingles the actual flatpack packaging from #255
2025-12-17 16:07:57 -05:00
Jaye Evins 41656aef6b Update README to specify repo is for glabels-qt
Clarify repository purpose and differentiate from legacy version.
2025-12-11 19:57:29 -05:00
Merikei 7f1fa64114 Fix typo that prevents user roll templates from having a customisable length (#263) 2025-12-10 13:38:44 -05:00
Jaye Evins 6c10571ba4 In MergeView, replace QTableWidget with QTableView with custom model (#266,#217)
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.
2025-12-10 13:17:25 -05:00
Jaye Evins f1e50d8574 Polling of available printers in now asynchronous (#264,#256)
- 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
2025-12-09 09:22:54 -05:00
Jaye Evins b6cac2d208 Fix several compile issues (#261)
Fixed several code issues.  Mostly pedantic compiler warnings.  But also a sign issue exposed by newer compilers (#228, #260)
2025-12-06 15:58:38 -05:00
Jaye Evins 44a10fc796 Make detailed version information available to command line (#257)
- 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
3.99-master602
2025-12-03 20:43:37 -05:00
Jaye Evins 98b3e32bfd Add compiled Qt translation files (.qm) to .gitignore 3.99-master601 2025-11-29 17:35:45 -05:00
Mario Blättermann 5f36799f4c Sync all translations with Transifex (#251) 2025-11-29 17:24:10 -05:00
Jaye Evins 1f4f4aa221 Reload merge data (#252,#241)
* Added reloadSource() method to Merge class.
* Added reload button to MergeView
2025-11-29 00:16:21 -05:00
Jaye Evins 1ebddfc534 Minor CI updates
Added tag-snapshot.yml script
Removed obsolete appveyor and travis scripts
3.99-master598
2025-11-25 16:23:54 -05:00
Mario Blättermann 56501b5f0a Add new Polish translation to TRANSLATION_FILES.txt (#209)
* Fetching latest translations from Transifex

* Add new Polish translation to TRANSLATION_FILES.txt
2025-11-25 15:13:25 -05:00
Mario Blättermann 083425dbdd Update Ukrainian UI translation (#221) 2025-11-25 15:12:28 -05:00
CactusCollider ce4705f8c2 Update Fedora build example (#236) 2025-11-25 15:06:20 -05:00
p0358 de0bef9ec7 Fix problematic git log usage (#249)
Switches to git commands not affected by log.* config options when building version strings.
2025-11-25 14:14:46 -05:00
Jaye Evins bcc6b3ec9d PrintView improvements (#250)
- 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
2025-11-17 17:04:04 -05:00
Jaye Evins b69ada13db Update Linux build instructions for Ubuntu 24.04
Include `build-essential` package in prerequisites to install g++, make, etc., which are probably not present on a freshly installed Ubuntu system.
2025-11-17 16:35:21 -05:00
Jaye Evins 21343d49c8 Fix typo in README regarding snapshot releases
Corrected the spelling of 'imminint' to 'imminent' in the README.
2025-11-10 20:12:36 -05:00
Jaye Evins 9d516b7e1f Minor string cleanup (#248)
- 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
2025-11-10 17:46:07 -05:00
Jaye Evins e6e08872e0 Update built-in cursors. (#246)
- 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
2025-11-05 14:29:15 -05:00
Jaye Evins 8c8e447336 Pointer cleanup (#242)
- 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
2025-10-31 16:11:28 -04:00
Jaye Evins fd10d88be5 Revise README for CI snapshots and third-party packages
Updated the README to clarify the status of continuous integration snapshots and third-party package availability.
2025-10-17 18:57:53 -04:00
Jaye Evins e5be07101b Update BUILD-INSTRUCTIONS-LINUX.md
Minor edits to Linux build instructions.
2025-09-13 17:24:15 -04:00
Jaye Evins 9e4d18c789 Add optional dependencies to windows and macos targets in build-tests.yml (#229)
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.
2025-09-10 23:27:03 -04:00
Peter Kessen 3bd78558b3 Display newlines in merge view (#108)
Display newlines in merge view as printable character
2025-09-05 14:23:52 -04:00
Jaye Evins ffd634075f Reorganize icon data as an embedded icon theme (#226) 2025-08-25 23:44:40 -04:00
Jaye Evins de85d47765 Small update to linux build instructions (#133)
Need to run ldconfig after installing zint, to update the dynamic linker's
run-time bindings.
2025-08-16 17:47:12 -04:00
Jaye Evins b6b62fcfb5 Update build-tests action to use zint-2.15.0 for ubuntu targets 2025-08-16 17:25:28 -04:00
Jaye Evins 0e7049ed73 Support libzint >= 2.15 (#225,#222,#186))
- 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>
2025-08-16 17:00:14 -04:00
Jaye Evins fa96cc5a17 Add grid settings to preferences (#224)
- 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
2025-08-14 15:47:22 -04:00
Jaye Evins f147407a46 Drag n drop (#223)
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
2025-08-12 16:06:43 -04:00
Jakob Haufe 524e9cc9e9 Fix transifex URL (#220) 2025-08-01 10:05:55 -04:00
Jaye Evins 9c3e21faf3 Add ObjectsCenter action to center objects in label both h and v. (#184) 2025-07-31 18:01:22 -04:00
Jaye Evins 475971b701 Remember most recently used printer. (#215) 2025-07-28 15:11:36 -04:00
Jaye Evins 3a4bb61f44 Updates and cleanup of multi-patform build tests (#212)
- 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.
2025-06-25 11:33:32 -04:00
Jaye Evins 4c0ce1146a Improvements to SelectTemplateDialog (#109 and #142)
- 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
2025-05-26 19:23:36 -04:00
Jaye Evins 43cbc8fc3c Added tooltips to TemplatePickerItems.
Longer names in QListWidget are often ellipsized, obsuring the template names.
The tooltips allow the user to see full names by hovering over items.
2025-05-15 18:03:23 -04:00
Jaye Evins ca68c84cad Handle filenames with periods in basename consistently. (#199)
Use QFileInfo::completeBaseName() instead of QFileInfo::baseName() in
Model::shortName().  This was already the case when building list of
recent labels in MainWindow.
2025-05-15 00:02:47 -04:00
Jaye Evins 18b0a1b09b Minor bug fixes
- model::Db::lookupPaperNameFromId() bad if-else-if
- model::StrUtil::formatFraction missing arg in QString
- Added unit tests for StrUtil
2025-05-08 11:09:11 -04:00
Jaye Evins f15c21a01d Update to Qt6
- 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
2025-05-06 18:26:53 -04:00
Mario Blättermann f683896706 Fetching latest translations from Transifex (#207) 2025-04-28 22:50:34 -04:00
Jim Lieb be567f90eb Update Qt dependency from QT 5.6 to QT 5.15 (#162)
* 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>
2025-04-28 22:16:28 -04:00