85 Commits

Author SHA1 Message Date
Jaye Evins 1c902230fe Big-Ugly Style Update (#278)
* 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.
2026-01-07 19:43:34 -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 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 ffd634075f Reorganize icon data as an embedded icon theme (#226) 2025-08-25 23:44:40 -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
gitlost 2444cacb74 UserVariables branch merge 2019-08-21 03:37:56 +01:00
Jim Evins 1e1db1fc89 Incorporated FieldButton into ColorPaletteDialog. Tweaked ColorPaletteDialog. 2019-07-21 17:08:24 -04:00
Jim Evins 3cfda79b82 Yet another redesign of image file selection in ObjectEditor. 2019-07-21 00:59:14 -04:00
Jim Evins 87cc5d7e22 Redesigned image selection in ObjectEditor to use new FieldCombo widget. 2019-03-30 12:50:30 -04:00
Jim Evins c9e26c45fb Prototype of VariableView and EditVariableDialog user interface. 2019-03-05 21:35:11 -05:00
Jim Evins 0e60c52d4c Added ReportBugDialog to Help menu.
- Also renamed "File" toolbar to "Quick Access" toolbar (#13).
2019-01-27 21:46:56 -05:00
Jim Evins fe6dcd6a7f Cleanup of CMakeLists.txt files.
- Bumped required cmake version to 3.9.
 - Added Appveyor CI YAML file for Windows builds
2018-12-19 23:23:59 -05:00
Jim Evins b9b792272c Created placeholder for Variables page in UI. 2018-12-08 12:53:04 -05:00
Jim Evins e5cb97441d Merge branch 'ContinuousRollLabels' 2018-11-30 21:04:41 -05:00
Jim Evins 467ca9fc62 Implement continuous tape labels and path-based label shapes.
- Added "roll" as a special paper id
- Added roll_width attribute to draw tape in previews
- Updated Brother QL-500/* label templates
- Preserve print dialog settings between print jobs.
- Added path based labels for arbitrary shaped labels.
- Fleshed out implementation of continuous labels.
2018-11-30 20:30:10 -05:00
Jim Evins f5b494d714 Implemented MainWindow's TOC as a toolbar with icons and text. 2018-11-04 16:39:57 -05:00
Jim Evins 42719c03f5 Adjust width of SelectProductDialog's side panel according to its contents.
The width is determined at runtime based on the largest page in the
QTabWidget.  Without this fix, the side panel would annoyingly change
width as you selected the search tab for the first time -- this was
particularly annoying in the de_DE locale.
2018-05-24 22:05:48 -04:00
Jim Evins a0e1dae5cf Implemented TemplateDesigner. 2018-04-07 22:24:09 -04:00
Jim Evins 5e9f8355b9 Updated prerequisites and build instructions. Updated Windows install. 2017-12-13 17:09:20 -05:00
Jim Evins 4821e103bc CMake 3.2 does not support cxx_std_11 target_compile_feature. 2017-11-23 22:52:13 -05:00
Jim Evins b8ee5e1f73 Restructuring directory layout. Move towards "Modern CMake" usage. 2017-11-23 22:15:24 -05:00
Jim Evins 8bec3594ec Fleshed out SubstitutionField spec and implementation.
- Added newline modifier to spec and implementation
- Does not belong in Merge, so moved back to glabels
- Incorporated SubstitutionField into RawText
2017-11-22 13:33:30 -05:00
Jim Evins a31484700c Initial implementation of glabels-batch.
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.
2017-10-02 23:15:43 -04:00
Jim Evins 3e2b40c000 Initial implementation of Zint barcode backend. 2017-06-02 22:39:44 -04:00
Jim Evins 9601541614 Removed use of deprecated Qt APIs. 2017-05-29 21:19:47 -04:00
Jim Evins e0992db6b6 Initial implementation of GNU Barcode backend. 2017-05-29 20:43:10 -04:00
Jim Evins 662d7a9ef5 Added FindGnuBarcode cmake module. 2017-05-24 19:33:39 -04:00
Jim Evins df5b977853 Created QrEncode barcode backend. 2017-05-22 22:26:28 -04:00
Jim Evins 8e2905727a Moved EnumUtil functionality to XmlUtil. 2017-05-19 23:18:19 -04:00
Jim Evins 409ca1bf57 Added RawText type for text and barcode objects. 2017-05-06 20:08:17 -04:00
Jim Evins fdce71b042 Fixed include directory search. 2017-04-29 20:34:33 -04:00
Jim Evins cf000a5d5c Initial implementation of barcode object. 2017-04-29 19:12:20 -04:00
Jim Evins cc354d06da Modifications to build successfully with -Werror -Wall -Wpedantic. 2017-04-07 20:37:25 -04:00
Jim Evins ca3d4a5d5c First pass at setting up translation framework. 2017-03-25 23:14:49 -04:00
Jim Evins fd79d7c6bd Embed image data in glabels file. 2017-03-12 22:39:15 -04:00
Jim Evins 3162694045 Minor cleanup. 2017-02-26 20:09:29 -05:00
Jim Evins 885914d5ae Fleshing out windows(MINGW) install. 2017-02-26 19:56:07 -05:00
Jim Evins c363c340ce Some cmake cleanup. 2017-02-26 16:26:40 -05:00
Jim Evins 95467b6ed2 Fleshing out installation. 2017-02-26 15:07:44 -05:00
Jim Evins 5cf98840fc Moved compilation settings to CMakeLists.txt in glabels subdirectory. 2017-02-25 19:35:25 -05:00
Jim Evins cc83e6e433 Added windows icon file. 2017-02-25 19:04:51 -05:00
Jim Evins 44aa31d074 Some reorganization of source tree.
- Merged libglabels back into glabels.
- Created docs directory.
- Adjusted COPYING files to reflect above changes.
2017-01-14 01:38:20 -05:00
Jim Evins 9cba0d4a43 Reconcile style of include directives across all source files. 2017-01-06 19:00:59 -05:00
Jim Evins 90ea790e7a Renamed LabelRegion to just Region. Reconciled style with Size class. 2017-01-05 16:46:40 -05:00
Jim Evins 9d39b9804a Implemented reset image size button. 2017-01-02 02:01:26 -05:00
Jim Evins 4cc5882ec3 Added SVG support to image objects. 2017-01-01 23:06:03 -05:00
Jim Evins aa11fcc4e6 Some simple fleshing out of AboutDialog. 2016-12-31 00:38:18 -05:00
Jim Evins 27306808fb Initial implementation of text object. 2016-12-29 14:59:22 -05:00
Jim Evins f7ccf4ca7b Added basic image object functionality. 2016-06-26 12:49:47 -04:00