Commit Graph

334 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 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 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 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
2025-12-03 20:43:37 -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 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 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
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 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
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 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 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
Jaye Evins f8efe3aafa Update all occurrences of my name with my legal name. 2025-04-08 18:47:02 -04:00
Jim Evins aebcda43cb Merge branch 'RefactorPrint'
- Modifies printing model to be similar to glabels-3.x.
   - Allow simple projects to print by-the-page (#51)
   - Added collated vs uncollated document merges
- Added ability to separate merge groups by page
- Updated man pages
- Updated misc developer documentation
2020-01-01 14:35:15 -05:00
Jim Evins af607ca4af Barcode tweaks.
- Add capability to disable text in glbarcode UPC/EAN barcodes. (#79)
- Add backend name to display text in BarcodeMenuButton.
2019-12-08 17:07:10 -05:00
Jim Evins f09ca36b7b Added "Open Recent" button to StartupView.
- Also disabled broken MacOS build in travis CI file
2019-11-12 21:40:43 -05:00
gitlost 7e44bbdc06 New FileUtil::makeRelativeIfInDir func; label parser_3 barcode map; unit tests 2019-08-26 03:00:32 +01:00
gitlost 2444cacb74 UserVariables branch merge 2019-08-21 03:37:56 +01:00
Jim Evins 6a789c9632 Save/restore file paths as relative to project file. 2019-08-18 21:56:37 -04:00
Jim Evins ec3d900e87 Display merge file locations as relative paths. 2019-08-12 23:03:38 -04:00
Jim Evins d4f742e7e6 Display image filenames as relative paths. 2019-08-08 07:57:12 -04:00
Jim Evins c2d9a4c075 Make sure keys are set for all apropos controls in ObjectEditor. 2019-08-05 20:26:07 -04:00
Jim Evins f41461ef26 Added color variable type. 2019-08-03 17:16:14 -04:00
Jim Evins dd41aa3dd7 Minor tweaking of EditVariablesDialog. 2019-08-03 15:31:57 -04:00
Jim Evins 48bfb68837 Make ColorHistory more robust to change in format. 2019-08-03 14:10:01 -04:00
Jim Evins f6ecdc64e0 Redesigned ColorHistory to include color description. 2019-07-24 08:25:22 -04:00
Jim Evins 1e1db1fc89 Incorporated FieldButton into ColorPaletteDialog. Tweaked ColorPaletteDialog. 2019-07-21 17:08:24 -04:00
Jim Evins 8fa34325a5 Reconciled margin of VariablesView with other views. 2019-07-21 13:44:39 -04:00
Jim Evins 5b9eba9af9 Tweaked look of image object placeholders. 2019-07-21 13:17:45 -04:00
Jim Evins 3cfda79b82 Yet another redesign of image file selection in ObjectEditor. 2019-07-21 00:59:14 -04:00
Jim Evins 4e94933dcf Redesigned FieldButton. 2019-07-20 23:18:03 -04:00
gitlost 6ab3a12b92 Share Model merge; Merge initializers; undo/redo descs (#65)
- 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.
2019-07-20 14:41:01 -04:00
gitlost 850c62ddd0 Make lockAspectRatio (sizeAspectCheck) per-object (#63)
* Make lockAspectRatio (sizeAspectCheck) per-object
* Added unit tests for XmlLabelCreator and XmlLabelParser.
2019-07-13 22:18:30 -04:00
gitlost 20157ec3ae Add missing loadRectSizePage for barcode (#62) 2019-07-06 23:46:52 -04:00
Jim Evins 25756753ac Removed new to qt 5.12 feature accidentally introduced by qt designer. 2019-05-12 18:42:45 -04:00
Jim Evins eb1e7715fb Merge branch 'master' of github.com:jimevins/glabels-qt 2019-05-12 17:35:23 -04:00
Jim Evins 33e2d3dee3 Tweaks to PrintView.
- Increased range of copies spinbox to 100x the number of iterms per page (#51)
 - Fixed issue that blocked user from holding down on spinbox controls
 - Minor layout tweaks
2019-05-12 17:30:42 -04:00
Jim Evins 3256c407fb Make version numbers of snapshots more meaningful. 2019-05-05 14:45:44 -04:00
Jim Evins d9a41c66f0 Don't emit selectionChanged if index is invalid. 2019-03-30 18:59:15 -04:00