Remove bitmap_byte_length member from zint_symbol

(was only set on BMP output to length of BMP pixel array)
EXCODE39: change to display check digit in HRT by default
CODE39/EXCODE39/LOGMARS: new hidden check digit option
  (`option_2 = 2`)
qr.c: suppress bogus gcc-13 warning (only appears on optimize)
GUI: move some symbology-specific options into Data Tab so
  separate tab unnecessary (those with few options and no
  Composite/ECI), namely: all C25XXX, CODE39/EXCODE39/LOGMARS,
  MSI_PLESSEY, CODABAR, DAFT, DPD, MAILMARK_2D, ITF-14, PZN,
  UPNQR, CHANNEL, CODE93 and VIN, adjusting grp uis.
  change Data dialog button (ellipsis) QToolButton -> QPushButton
  & vice versa zap/clear/eye/swap/scale buttons QPushButton ->
  QToolButton for better mac compat (also makes sense);
  remove some mac hacks that no longer seem necessary;
  use folder icon for Export dialog directory button
manual: document new Symbology-specific groupbox & CODE39/etc
  hidden check digit option; add annexes on Qt and Tcl backends;
  narrow some tables for better txt output;
  remove echoed image tags in txt (pandoc 3.1.5 regression?);
  add one-page HTML output to Makefile; also tex output (debug);
  add class attributes to images to aid HTML styling;
  various other fiddlings
This commit is contained in:
gitlost 2023-07-18 11:11:50 +01:00
parent d05373e7fc
commit 32c9e6a98e
56 changed files with 2419 additions and 1507 deletions

View file

@ -1,6 +1,6 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -57,6 +57,8 @@ ExportWindow::ExportWindow(BarcodeItem *bc, const QString& output_data)
QIcon closeIcon(QIcon::fromTheme(QSL("window-close"), QIcon(QSL(":res/x.svg"))));
btnCancel->setIcon(closeIcon);
QIcon folderIcon(QIcon::fromTheme(QSL("folder"), QIcon(QSL(":res/folder.svg"))));
btnDestPath->setIcon(folderIcon);
connect(btnCancel, SIGNAL( clicked( bool )), SLOT(close()));
connect(btnOK, SIGNAL( clicked( bool )), SLOT(process()));

View file

@ -20,7 +20,7 @@
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutData">
<item>
<widget class="QLabel" name="label">
<property name="text">
@ -45,7 +45,7 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="hLayoutData">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutC11">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="grpC11CheckDigits">
<property name="title">
@ -65,22 +80,6 @@
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutC25">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="grpC25Check">
<property name="title">
@ -66,19 +81,6 @@ do not display in Human Readable Text</string>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayoutC39">
<layout class="QVBoxLayout" name="vLayoutC39">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="grpC39Check">
<property name="title">
@ -42,7 +57,28 @@
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<item row="0" column="1">
<widget class="QRadioButton" name="radC39Check">
<property name="text">
<string>&amp;Mod-43 Check Digit</string>
</property>
<property name="toolTip">
<string>Add mod-43 check character</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC39CheckHide">
<property name="text">
<string>&amp;Hidden Mod-43 Check Digit</string>
</property>
<property name="toolTip">
<string>Add mod-43 check character but
do not display in Human Readable Text</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="radC39HIBC">
<property name="text">
<string>H&amp;IBC (Mod-43 Check Digit added)</string>
@ -55,32 +91,9 @@ the data with a slash &quot;/&quot;</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="radC39Check">
<property name="text">
<string>&amp;Mod-43 Check Digit</string>
</property>
<property name="toolTip">
<string>Add mod-43 check character</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacerC39">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -13,7 +13,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutC93">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="chkC93ShowChecks">
<property name="text">
@ -28,19 +43,6 @@ the Human Readable Text</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -1,7 +1,7 @@
<ui version="4.0" >
<ui version="4.0">
<class>grpChannel</class>
<widget class="QWidget" name="grpChannel" >
<property name="geometry" >
<widget class="QWidget" name="grpChannel">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -15,18 +15,33 @@
<height>16777215</height>
</size>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<layout class="QVBoxLayout" name="vLayoutChannel">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<layout class="QHBoxLayout" name="hLayoutChannel">
<item>
<widget class="QLabel" name="lblChannel" >
<property name="text" >
<widget class="QLabel" name="lblChannel">
<property name="text">
<string>&amp;Number of Channels:</string>
</property>
<property name="toolTip" >
<property name="toolTip">
<string>The number of channels determines the&lt;br /&gt;range of numbers that can be encoded&lt;table cellspacing=&quot;3&quot;&gt;
&gt;&lt;tr&gt;&lt;th align=left&gt;Channels&amp;nbsp;&lt;/th&gt;&lt;th align=left&gt;Range&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;3&amp;nbsp;&lt;/td&gt;&lt;td&gt;0 to 26&lt;/td&gt;&lt;/tr&gt;
@ -37,17 +52,17 @@
&lt;tr&gt;&lt;td&gt;8&amp;nbsp;&lt;/td&gt;&lt;td&gt;0 to 7742862&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</string>
</property>
<property name="alignment" >
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<property name="buddy">
<cstring>cmbChannel</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbChannel" >
<property name="toolTip" >
<widget class="QComboBox" name="cmbChannel">
<property name="toolTip">
<string>The number of channels determines the&lt;br /&gt;range of numbers that can be encoded&lt;table cellspacing=&quot;3&quot;&gt;
&gt;&lt;tr&gt;&lt;th align=left&gt;Channels&amp;nbsp;&lt;/th&gt;&lt;th align=left&gt;Range&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;3&amp;nbsp;&lt;/td&gt;&lt;td&gt;0 to 26&lt;/td&gt;&lt;/tr&gt;
@ -59,37 +74,37 @@
&lt;/table&gt;</string>
</property>
<item>
<property name="text" >
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>8</string>
</property>
</item>
@ -97,19 +112,6 @@
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -13,7 +13,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutCodabar">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="grpCodabarCheck">
<property name="title">
@ -60,19 +75,6 @@ not display in Human Readable Text</string>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutC1">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutC1">
<item row="0" column="0">
<widget class="QLabel" name="lblC1Size">
<property name="text">
@ -121,7 +121,7 @@ variable widths</string>
<property name="toolTip">
<string>How to process data</string>
</property>
<layout class="QGridLayout" name="gridLayoutC1EncodingMode">
<layout class="QGridLayout" name="gLayoutC1EncodingMode">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
@ -163,7 +163,7 @@ formatted with Application Identifiers (AIs)
128 symbols (not available for Version S)
(ignored if disabled)</string>
</property>
<layout class="QGridLayout" name="gridLayoutC1StructApp">
<layout class="QGridLayout" name="gLayoutC1StructApp">
<item row="0" column="0">
<widget class="QLabel" name="lblC1StructAppCount">
<property name="text">
@ -313,7 +313,7 @@ Value ranges from 1 to count
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerC1">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,9 +19,24 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutDAFT">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="hLayoutDAFT">
<item>
<widget class="QLabel" name="lblDAFTTrackerRatio">
<property name="text">
@ -85,7 +100,7 @@
</layout>
</item>
<item>
<widget class="QLabel" name="noteTrackerRatios">
<widget class="QLabel" name="noteDAFTTrackerRatios">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -93,14 +108,13 @@
</sizepolicy>
</property>
<property name="text">
<string>Examples of tracker ratios:&lt;table cellspacing=&quot;3&quot;&gt;
&lt;tr&gt;&lt;td&gt;Australia Post&amp;nbsp;&lt;/td&gt;&lt;td&gt;26%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Japan Post&amp;nbsp;&lt;/td&gt;&lt;td&gt;33%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PLANET, POSTNET&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;i&gt;25% (Tracker and Ascender only)&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Royal Mail, Dutch Post&amp;nbsp;&lt;/td&gt;&lt;td&gt;25.6%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;USPS Intelligent Mail&amp;nbsp;&lt;/td&gt;&lt;td&gt;33.1%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Default&amp;nbsp;&lt;/td&gt;&lt;td&gt;25%&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</string>
<string>Examples of tracker ratios:
Australia Post 26%,
Dutch Post &amp; Royal Mail 25.6%,
Japan Post 33%,
PLANET &amp; POSTNET &lt;i&gt;25% (Tracker and Ascender only)&lt;/i&gt;,
USPS Intelligent Mail 33.1%
</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
@ -113,19 +127,6 @@
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -13,7 +13,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutDPD">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="chkDPDRelabel">
<property name="text">
@ -29,19 +44,6 @@ Input is 27 characters</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutDot">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutDot">
<item row="0" column="0">
<widget class="QLabel" name="lblDotCols">
<property name="text">
@ -1112,7 +1112,7 @@ as 0 to 3 with the corners lit</string>
<property name="toolTip">
<string>How to process data</string>
</property>
<layout class="QGridLayout" name="gridLayoutDotEncodingMode">
<layout class="QGridLayout" name="gLayoutDotEncodingMode">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
@ -1152,7 +1152,7 @@ formatted with Application Identifiers (AIs)</string>
<string>DotCode supports Structured Append of up to
35 symbols</string>
</property>
<layout class="QGridLayout" name="gridLayoutDotStructApp">
<layout class="QGridLayout" name="gLayoutDotStructApp">
<item row="0" column="0">
<widget class="QLabel" name="lblDotStructAppCount">
<property name="text">
@ -1643,7 +1643,7 @@ Value ranges from 1 to count
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerDot">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutGrid">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutGrid">
<item row="0" column="0">
<widget class="QLabel" name="labelGridSize">
<property name="text">
@ -214,7 +214,7 @@ and Latin data</string>
<string>Grid Matrix supports Structured Append of up to
16 symbols</string>
</property>
<layout class="QGridLayout" name="gridLayoutGridStructApp">
<layout class="QGridLayout" name="gLayoutGridStructApp">
<item row="0" column="0">
<widget class="QLabel" name="lblGridStructAppCount">
<property name="text">
@ -521,7 +521,7 @@ Value ranges from 0 to 255
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerGrid">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutHX">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutHX">
<item row="0" column="0">
<widget class="QLabel" name="labelHXSize">
<property name="text">
@ -579,7 +579,7 @@ and Latin data</string>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerHX">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutITF14">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="chkITF14NoQuietZones">
<property name="text">
@ -33,19 +48,6 @@
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -1,7 +1,7 @@
<ui version="4.0" >
<ui version="4.0">
<class>grpMQR</class>
<widget class="QWidget" name="grpMQR" >
<property name="geometry" >
<widget class="QWidget" name="grpMQR">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -15,15 +15,15 @@
<height>16777215</height>
</size>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<layout class="QVBoxLayout" name="vLayoutMQR">
<item>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="lavelMQRSize" >
<property name="text" >
<layout class="QGridLayout" name="gLayoutMQR">
<item row="0" column="0">
<widget class="QLabel" name="lblMQRSize">
<property name="text">
<string>Si&amp;ze:</string>
</property>
<property name="toolTip">
@ -34,8 +34,8 @@
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QComboBox" name="cmbMQRSize" >
<item row="0" column="1">
<widget class="QComboBox" name="cmbMQRSize">
<property name="toolTip">
<string>Set size (version) of symbol</string>
</property>
@ -45,30 +45,30 @@
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>11 x 11 (Version M1)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>13 x 13 (Version M2)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>15 x 15 (Version M3)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>17 x 17 (Version M4)</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="labelMQRECC" >
<property name="text" >
<item row="1" column="0">
<widget class="QLabel" name="lblMQRECC">
<property name="text">
<string>E&amp;rror Correction:</string>
</property>
<property name="toolTip">
@ -80,8 +80,8 @@ error correction codewords</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QComboBox" name="cmbMQRECC" >
<item row="1" column="1">
<widget class="QComboBox" name="cmbMQRECC">
<property name="toolTip">
<string>Set percentage of capacity to use for
error correction codewords</string>
@ -92,24 +92,24 @@ error correction codewords</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>~20% (Level L)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>~37% (Level M)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>~55% (Level Q)</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelMQRMask">
<widget class="QLabel" name="lblMQRMask">
<property name="text">
<string>&amp;Mask:</string>
</property>
@ -170,14 +170,14 @@ and Latin data</string>
</widget>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<spacer name="vSpacerMQR">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>50</height>

View file

@ -1,7 +1,7 @@
<ui version="4.0" >
<ui version="4.0">
<class>grpMSICheck</class>
<widget class="QWidget" name="grpMSICheck" >
<property name="geometry" >
<widget class="QWidget" name="grpMSICheck">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -15,21 +15,36 @@
<height>16777215</height>
</size>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<layout class="QVBoxLayout" name="vLayoutMSI">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<layout class="QHBoxLayout" name="hLayoutMSI">
<item>
<widget class="QLabel" name="lblMSICheck" >
<property name="text" >
<widget class="QLabel" name="lblMSICheck">
<property name="text">
<string>&amp;Check Digit:</string>
</property>
<property name="alignment" >
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<property name="buddy">
<cstring>cmbMSICheck</cstring>
</property>
<property name="toolTip">
@ -40,44 +55,44 @@ Mod-11 (NCR) uses NCR weightings</string>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbMSICheck" >
<widget class="QComboBox" name="cmbMSICheck">
<property name="toolTip">
<string>Mod-10 uses Luhn algorithm
Mod-11 (IBM) uses IBM weightings
Mod-11 (NCR) uses NCR weightings</string>
</property>
<item>
<property name="text" >
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-10</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-10 &amp; Mod-10</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-11 (IBM)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-11 (IBM) &amp; Mod-10</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-11 (NCR)</string>
</property>
</item>
<item>
<property name="text" >
<property name="text">
<string>Mod-11 (NCR) &amp; Mod-10</string>
</property>
</item>
@ -99,19 +114,6 @@ in Human Readable Text</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>31</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayoutMailmark2D">
<layout class="QVBoxLayout" name="vLayoutMailmark2D">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayoutMailmark2D">
<item row="0" column="0">
@ -98,19 +113,6 @@ size selection, suppressing rectangular version 30
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacerMailmark2D">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpMicroPDF</class>
<widget class="QWidget" name="grpMicroPDF">
<class>grpMaxicode</class>
<widget class="QWidget" name="grpMaxicode">
<property name="geometry">
<rect>
<x>0</x>
@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutMaxi">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutMaxi">
<item row="0" column="0">
<widget class="QLabel" name="lblMaxiMode">
<property name="text">
@ -94,7 +94,7 @@ Mode 6 sets the scanner (Reader Initialisation/Programming)</string>
<property name="toolTip">
<string>For Modes 2 and 3 only</string>
</property>
<layout class="QGridLayout" name="gridLayoutMaxiSCM">
<layout class="QGridLayout" name="gLayoutMaxiSCM">
<item row="0" column="0">
<widget class="QLabel" name="lblMaxiSCMPostcode">
<property name="enabled">
@ -337,7 +337,7 @@ specified as follows
<string>MaxiCode supports Structured Append of up to
8 symbols</string>
</property>
<layout class="QGridLayout" name="gridLayoutMaxiStructApp">
<layout class="QGridLayout" name="gLayoutMaxiStructApp">
<item row="0" column="0">
<widget class="QLabel" name="lblMaxiStructAppCount">
<property name="toolTip">
@ -558,7 +558,7 @@ Value ranges from 1 to count
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerMaxi">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutPZN">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="chkPZN7">
<property name="text">
@ -33,19 +48,6 @@
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,7 +19,7 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutRMQR">
<item>
<layout class="QGridLayout" name="grpRMQROptions">
<item row="0" column="0">
@ -287,7 +287,7 @@ error correction codewords</string>
<property name="toolTip">
<string>How to process data</string>
</property>
<layout class="QGridLayout" name="gridLayoutRMQREncodingMode">
<layout class="QGridLayout" name="gLayoutRMQREncodingMode">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
@ -333,7 +333,7 @@ and Latin data</string>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerRMQR">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,7 +19,22 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayoutUPNQR">
<layout class="QVBoxLayout" name="vLayoutUPNQR">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayoutUPNQR">
<item row="0" column="0">
@ -103,22 +118,6 @@ when automatically selecting a mask</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacerQR">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -19,9 +19,9 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutUltra">
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutUltra">
<item row="0" column="0">
<widget class="QRadioButton" name="radUltraAuto">
<property name="text">
@ -147,7 +147,7 @@ error correction codewords</string>
<property name="toolTip">
<string>How to process data</string>
</property>
<layout class="QGridLayout" name="gridLayoutUltraEncodingMode">
<layout class="QGridLayout" name="gLayoutUltraEncodingMode">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
@ -187,7 +187,7 @@ formatted with Application Identifiers (AIs)</string>
<string>Ultracode supports Structured Append of up to
8 symbols</string>
</property>
<layout class="QGridLayout" name="gridLayoutUltraStructApp">
<layout class="QGridLayout" name="gLayoutUltraStructApp">
<item row="0" column="0">
<widget class="QLabel" name="lblUltraStructAppCount">
<property name="text">
@ -417,7 +417,7 @@ Value ranges from 1 to 80088
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="vSpacerUltra">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>

View file

@ -19,9 +19,24 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="vLayoutVIN">
<property name="contentMargins">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gLayoutVIN">
<item row="0" column="0">
<widget class="QCheckBox" name="chkVINImportChar">
<property name="text">
@ -38,19 +53,6 @@
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View file

@ -174,11 +174,11 @@
</widget>
</item>
<item>
<widget class="QToolButton" name="btnMoreData">
<property name="minimumSize">
<widget class="QPushButton" name="btnMoreData">
<property name="maximumSize">
<size>
<width>0</width>
<height>26</height>
<width>34</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
@ -191,7 +191,7 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearData">
<widget class="QToolButton" name="btnClearData">
<property name="maximumSize">
<size>
<width>22</width>
@ -464,7 +464,7 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnZap">
<widget class="QToolButton" name="btnZap">
<property name="maximumSize">
<size>
<width>22</width>
@ -619,7 +619,7 @@ Remember to place [square brackets] around AI identifiers</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearComposite">
<widget class="QToolButton" name="btnClearComposite">
<property name="enabled">
<bool>false</bool>
</property>
@ -925,11 +925,11 @@ Extended Channel Interpretation (ECI)</string>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnMoreDataSeg1">
<property name="minimumSize">
<widget class="QPushButton" name="btnMoreDataSeg1">
<property name="maximumSize">
<size>
<width>0</width>
<height>26</height>
<width>34</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
@ -942,7 +942,7 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearDataSeg1">
<widget class="QToolButton" name="btnClearDataSeg1">
<property name="maximumSize">
<size>
<width>22</width>
@ -1186,11 +1186,11 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnMoreDataSeg2">
<property name="minimumSize">
<widget class="QPushButton" name="btnMoreDataSeg2">
<property name="maximumSize">
<size>
<width>0</width>
<height>26</height>
<width>34</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
@ -1203,7 +1203,7 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearDataSeg2">
<widget class="QToolButton" name="btnClearDataSeg2">
<property name="maximumSize">
<size>
<width>22</width>
@ -1447,11 +1447,11 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnMoreDataSeg3">
<property name="minimumSize">
<widget class="QPushButton" name="btnMoreDataSeg3">
<property name="maximumSize">
<size>
<width>0</width>
<height>26</height>
<width>34</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
@ -1464,7 +1464,7 @@ or import from file</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnClearDataSeg3">
<widget class="QToolButton" name="btnClearDataSeg3">
<property name="maximumSize">
<size>
<width>22</width>
@ -1484,6 +1484,39 @@ or import from file</string>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="grpSpecific">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>400</height>
</size>
</property>
<property name="toolTip">
<string>Additional Settings</string>
</property>
<property name="title">
<string>Options</string>
</property>
<layout class="QVBoxLayout" name="vLayoutSpecific">
</layout>
</widget>
</item>
<item>
<spacer name="vSpacerData">
<property name="orientation">
@ -1623,8 +1656,8 @@ as delimiters for GS1 Application Identifiers
<item>
<widget class="QCheckBox" name="chkCompliantHeight">
<property name="toolTip">
<string>Warn if height not compliant with specification
and use standard height (if any) for default
<string>Warn if height specified not compliant with specification,
or use standard height (if any) for default
(ignored if disabled)</string>
</property>
<property name="text">
@ -1903,6 +1936,9 @@ the barcode in X-dimensions</string>
<string>Gap between barcode and text in X-dimensions
(ignored if disabled)</string>
</property>
<property name="specialValueText">
<string>Default</string>
</property>
<property name="prefix">
<string/>
</property>
@ -1924,13 +1960,10 @@ the barcode in X-dimensions</string>
<property name="value">
<double>0.000000000000000</double>
</property>
<property name="specialValueText">
<string>Default</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QPushButton" name="btnClearTextGap">
<widget class="QToolButton" name="btnClearTextGap">
<property name="maximumSize">
<size>
<width>22</width>
@ -1989,7 +2022,7 @@ the barcode in X-dimensions</string>
</widget>
</item>
<item row="8" column="2">
<widget class="QPushButton" name="btnScale">
<widget class="QToolButton" name="btnScale">
<property name="maximumSize">
<size>
<width>22</width>
@ -2067,7 +2100,7 @@ or decimal &quot;C,M,Y,K&quot; percentages (0-100)</string>
</widget>
</item>
<item row="0" column="5">
<widget class="QPushButton" name="fgcolor">
<widget class="QToolButton" name="fgcolor">
<property name="maximumSize">
<size>
<width>22</width>
@ -2122,7 +2155,7 @@ e.g. &quot;FFFFFF00&quot;</string>
</widget>
</item>
<item row="1" column="5">
<widget class="QPushButton" name="bgcolor">
<widget class="QToolButton" name="bgcolor">
<property name="maximumSize">
<size>
<width>22</width>
@ -2173,7 +2206,7 @@ e.g. &quot;FFFFFF00&quot;</string>
</widget>
</item>
<item row="2" column="5">
<widget class="QPushButton" name="btnReverse">
<widget class="QToolButton" name="btnReverse">
<property name="maximumSize">
<size>
<width>22</width>

View file

@ -184,22 +184,6 @@ static const struct bstyle_item bstyle_items[] = {
};
#ifdef Q_OS_MACOS
/* Helper to make widgets look ok on macOS */
void MainWindow::mac_hack(QWidget *win)
{
if (!win) {
return;
}
QList<QWidget *> widgets = win->findChildren<QWidget *>();
for (int i = 0, cnt = widgets.size(); i < cnt; i++) {
widgets[i]->setAttribute(Qt::WA_MacNormalSize);
}
QList<QGroupBox *> grps = win->findChildren<QGroupBox *>();
for (int i = 0, cnt = grps.size(); i < cnt; i++) {
// TODO: top of groupbox too near to previous element - how to fix??
grps[i]->setAlignment(Qt::AlignHCenter); // Poor man's workaround for above
}
}
/* Helper to make data tab vertical layouts look ok on macOS */
void MainWindow::mac_hack_vLayouts(QWidget *win)
@ -208,7 +192,7 @@ void MainWindow::mac_hack_vLayouts(QWidget *win)
for (int i = 0, cnt = vlayouts.size(); i < cnt; i++) {
if (vlayouts[i]->objectName() == "vLayoutData" || vlayouts[i]->objectName() == "vLayoutComposite"
|| vlayouts[i]->objectName() == "vLayoutSegs") {
vlayouts[i]->setSpacing(0);
vlayouts[i]->setSpacing(2);
// If set spacing on QVBoxLayout then it seems its QHBoxLayout children inherit this so undo
QList<QHBoxLayout *> hlayouts = vlayouts[i]->findChildren<QHBoxLayout *>();
for (int j = 0, cnt = hlayouts.size(); j < cnt; j++) {
@ -257,7 +241,6 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
QVariant saved_geometry = settings.value(QSL("studio/window_geometry"));
#ifdef Q_OS_MACOS
QApplication::setDesktopSettingsAware(false); // Makes group boxes use standard font (may do other stuff)
// Standard width 360 too narrow
if (saved_geometry.isNull()) {
// Seems this is necessary on macOS to get a reasonable initial height
@ -265,7 +248,6 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
} else {
setMinimumSize(QSize(460, 0));
}
mac_hack(this);
mac_hack_vLayouts(this);
mac_hack_statusBars(this, "statusBar");
vLayoutTabData->setContentsMargins(QMargins(20, 0, 20, 0));
@ -654,13 +636,13 @@ void MainWindow::reverse_colours()
update_preview();
}
void MainWindow::setColorTxtBtn(const QString &colorStr, QLineEdit *txt, QPushButton* btn) {
void MainWindow::setColorTxtBtn(const QString &colorStr, QLineEdit *txt, QToolButton* btn) {
if (colorStr != txt->text()) {
int cursorPos = txt->cursorPosition();
txt->setText(colorStr);
txt->setCursorPosition(cursorPos);
}
btn->setStyleSheet(QSL("QPushButton {background-color:") + str_to_qcolor(colorStr).name() + QSL(";}"));
btn->setStyleSheet(QSL("QToolButton {background-color:") + str_to_qcolor(colorStr).name() + QSL(";}"));
}
bool MainWindow::save()
@ -1096,7 +1078,7 @@ void MainWindow::on_bgcolor_clicked()
SLOT(bgcolor_changed(const QColor&)));
}
void MainWindow::color_clicked(QString &colorStr, QLineEdit *txt, QPushButton *btn, const QString& title,
void MainWindow::color_clicked(QString &colorStr, QLineEdit *txt, QToolButton *btn, const QString& title,
QByteArray& geometry, const char *color_changed)
{
QString original = colorStr;
@ -1148,7 +1130,7 @@ void MainWindow::bgcolor_edited()
color_edited(m_bgstr, txt_bgcolor, bgcolor);
}
void MainWindow::color_edited(QString &colorStr, QLineEdit *txt, QPushButton *btn)
void MainWindow::color_edited(QString &colorStr, QLineEdit *txt, QToolButton *btn)
{
QString new_str = txt->text().trimmed();
if (new_str.indexOf(colorRE) != 0) {
@ -1694,9 +1676,16 @@ void MainWindow::change_options()
}
statusBar->clearMessage();
if (tabMain->count() == 3)
tabMain->removeTab(1);
grpSpecific->hide();
if (m_optionWidget) {
if (tabMain->count() == 3) {
tabMain->removeTab(1);
} else {
vLayoutSpecific->removeWidget(m_optionWidget);
}
delete m_optionWidget;
m_optionWidget = nullptr;
}
chkComposite->setText(tr("Add &2D Component"));
combobox_item_enabled(cmbCompType, 3, false); // CC-C
btype->setItemText(0, tr("No border"));
@ -1837,7 +1826,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("MSI Pless&ey"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("cmbMSICheck")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(get_widget(QSL("cmbMSICheck")), SIGNAL(currentIndexChanged( int )), SLOT(msi_plessey_ui_set()));
connect(get_widget(QSL("chkMSICheckText")), SIGNAL(toggled( bool )), SLOT(update_preview()));
@ -1849,7 +1839,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("Cod&e 11"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("radC11TwoCheckDigits")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC11OneCheckDigit")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC11NoCheckDigits")), SIGNAL(toggled( bool )), SLOT(update_preview()));
@ -1861,11 +1852,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
static const QString names[] = {
QSL("Standard"), QSL("Interleaved"), QSL("IATA"), QSL(""), QSL("Data Logic"), QSL("Industrial")
};
/*: %1 is name of variant (Standard, Interleaved, IATA, Data Logic, Industrial) */
tabMain->insertTab(1, m_optionWidget, tr("Cod&e 2 of 5 %1").arg(names[symbology - BARCODE_C25STANDARD]));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("radC25Stand")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC25Check")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC25CheckHide")), SIGNAL(toggled( bool )), SLOT(update_preview()));
@ -1878,15 +1866,13 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("radC39Stand")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC39Check")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radC39CheckHide")), SIGNAL(toggled( bool )), SLOT(update_preview()));
QRadioButton *radC39HIBC = m_optionWidget->findChild<QRadioButton*>(QSL("radC39HIBC"));
if (symbology == BARCODE_EXCODE39 || symbology == BARCODE_LOGMARS) {
if (symbology == BARCODE_EXCODE39) {
tabMain->insertTab(1, m_optionWidget, tr("Cod&e 39 Extended"));
} else {
tabMain->insertTab(1, m_optionWidget, tr("LOGM&ARS"));
}
if (radC39HIBC->isChecked()) {
radC39HIBC->setChecked(false);
m_optionWidget->findChild<QRadioButton*>(QSL("radC39Stand"))->setChecked(true);
@ -1895,7 +1881,6 @@ void MainWindow::change_options()
radC39HIBC->hide();
} else {
connect(get_widget(QSL("radC39HIBC")), SIGNAL(toggled( bool )), SLOT(update_preview()));
tabMain->insertTab(1, m_optionWidget, tr("Cod&e 39"));
radC39HIBC->setEnabled(true);
radC39HIBC->show();
}
@ -1929,7 +1914,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("Cod&abar"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("radCodabarStand")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radCodabarCheckHide")), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(get_widget(QSL("radCodabarCheck")), SIGNAL(toggled( bool )), SLOT(update_preview()));
@ -1964,8 +1950,9 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("D&AFT"));
set_smaller_font(QSL("noteTrackerRatios"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
set_smaller_font(QSL("noteDAFTTrackerRatios"));
connect(get_widget(QSL("spnDAFTTrackerRatio")), SIGNAL(valueChanged( double )), SLOT(daft_ui_set()));
connect(get_widget(QSL("spnDAFTTrackerRatio")), SIGNAL(valueChanged( double )), SLOT(update_preview()));
connect(get_widget(QSL("btnDAFTTrackerDefault")), SIGNAL(clicked( bool )), SLOT(daft_tracker_default()));
@ -1979,7 +1966,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("DPD Cod&e"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("chkDPDRelabel")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2012,8 +2000,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
structapp_ui_set();
tabMain->insertTab(1, m_optionWidget, tr("2D M&ailmark"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("cmbMailmark2DSize")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(get_widget(QSL("chkMailmark2DRectangle")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2025,7 +2013,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("ITF-1&4"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("chkITF14NoQuietZones")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2035,7 +2024,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("PZN"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("chkPZN7")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2067,7 +2057,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("UP&NQR"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("cmbUPNQRMask")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(get_widget(QSL("chkUPNQRFast")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2161,7 +2152,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("Channel Cod&e"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("cmbChannel")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
} else if (symbology == BARCODE_CODEONE) {
@ -2209,7 +2201,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("Cod&e 93"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("chkC93ShowChecks")), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
@ -2324,7 +2317,8 @@ void MainWindow::change_options()
m_optionWidget = uiload.load(&file);
file.close();
load_sub_settings(settings, symbology);
tabMain->insertTab(1, m_optionWidget, tr("&VIN"));
vLayoutSpecific->addWidget(m_optionWidget);
grpSpecific->show();
connect(get_widget(QSL("chkVINImportChar")), SIGNAL(toggled( bool )), SLOT(update_preview()));
} else {
@ -2332,10 +2326,6 @@ void MainWindow::change_options()
load_sub_settings(settings, symbology);
}
#ifdef Q_OS_MACOS
mac_hack(m_optionWidget);
#endif
switch (symbology) {
case BARCODE_CODE128:
case BARCODE_EANX:
@ -2916,24 +2906,31 @@ void MainWindow::update_preview()
break;
case BARCODE_CODE39:
if (get_rad_val(QSL("radC39HIBC")))
if (get_rad_val(QSL("radC39HIBC"))) {
m_bc.bc.setSymbol(BARCODE_HIBC_39);
else {
} else {
m_bc.bc.setSymbol(BARCODE_CODE39);
if (get_rad_val(QSL("radC39Check")))
if (get_rad_val(QSL("radC39Check"))) {
m_bc.bc.setOption2(1);
} else if (get_rad_val(QSL("radC39CheckHide"))) {
m_bc.bc.setOption2(2);
}
}
break;
case BARCODE_EXCODE39:
m_bc.bc.setSymbol(BARCODE_EXCODE39);
if (get_rad_val(QSL("radC39Check")))
if (get_rad_val(QSL("radC39Check"))) {
m_bc.bc.setOption2(1);
} else if (get_rad_val(QSL("radC39CheckHide"))) {
m_bc.bc.setOption2(2);
}
break;
case BARCODE_LOGMARS:
m_bc.bc.setSymbol(BARCODE_LOGMARS);
if (get_rad_val(QSL("radC39Check"))) {
m_bc.bc.setOption2(1);
} else if (get_rad_val(QSL("radC39CheckHide"))) {
m_bc.bc.setOption2(2);
}
break;
@ -4225,16 +4222,17 @@ void MainWindow::save_sub_settings(QSettings &settings, int symbology)
case BARCODE_CODE39:
case BARCODE_HIBC_39:
settings.setValue(QSL("studio/bc/code39/check_digit"), get_rad_grp_index(
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39HIBC")));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39HIBC")
<< QSL("radC39CheckHide")));
break;
case BARCODE_EXCODE39:
settings.setValue(QSL("studio/bc/excode39/check_digit"), get_rad_grp_index(
QStringList() << QSL("radC39Stand") << QSL("radC39Check")));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39CheckHide")));
break;
case BARCODE_LOGMARS:
settings.setValue(QSL("studio/bc/logmars/check_digit"), get_rad_grp_index(
QStringList() << QSL("radC39Stand") << QSL("radC39Check")));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39CheckHide")));
break;
case BARCODE_CODE16K:
@ -4660,16 +4658,17 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
case BARCODE_CODE39:
case BARCODE_HIBC_39:
set_rad_from_setting(settings, QSL("studio/bc/code39/check_digit"),
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39HIBC"));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39HIBC")
<< QSL("radC39CheckHide"));
break;
case BARCODE_EXCODE39:
set_rad_from_setting(settings, QSL("studio/bc/excode39/check_digit"),
QStringList() << QSL("radC39Stand") << QSL("radC39Check"));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39CheckHide"));
break;
case BARCODE_LOGMARS:
set_rad_from_setting(settings, QSL("studio/bc/logmars/check_digit"),
QStringList() << QSL("radC39Stand") << QSL("radC39Check"));
QStringList() << QSL("radC39Stand") << QSL("radC39Check") << QSL("radC39CheckHide"));
break;
case BARCODE_CODE16K:

View file

@ -28,6 +28,7 @@ class QLabel;
class QShortcut;
class QDoubleSpinBox;
class QPushButton;
class QToolButton;
#include "ui_mainWindow.h"
#include "barcodeitem.h"
@ -45,7 +46,6 @@ public:
static QString get_zint_version(void);
#ifdef Q_OS_MACOS
static void mac_hack(QWidget *win);
static void mac_hack_vLayouts(QWidget *win);
static void mac_hack_statusBars(QWidget *win, const char *name = nullptr);
#endif
@ -136,10 +136,10 @@ protected:
bool clear_data_eci_seg(int seg_no);
void color_clicked(QString &colorStr, QLineEdit *txt, QPushButton *btn, const QString& title,
void color_clicked(QString &colorStr, QLineEdit *txt, QToolButton *btn, const QString& title,
QByteArray& geometry, const char *color_changed);
void color_edited(QString &colorStr, QLineEdit *txt, QPushButton *btn);
void setColorTxtBtn(const QString &colorStr, QLineEdit *txt, QPushButton* btn);
void color_edited(QString &colorStr, QLineEdit *txt, QToolButton *btn);
void setColorTxtBtn(const QString &colorStr, QLineEdit *txt, QToolButton* btn);
virtual void resizeEvent(QResizeEvent *event) override;
virtual bool event(QEvent *event) override;

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder"><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"/></svg>

After

Width:  |  Height:  |  Size: 351 B

View file

@ -41,6 +41,7 @@
<file>res/copy.svg</file>
<file>res/delete.svg</file>
<file>res/download.svg</file>
<file>res/folder.svg</file>
<file>res/help-circle.svg</file>
<file>res/menu.svg</file>
<file>res/monitor-bg.svg</file>