diff --git a/README b/README index f5abd0a7..4a62662b 100644 --- a/README +++ b/README @@ -20,7 +20,7 @@ HIBC PDF417, HIBC MicroPDF417, HIBC QR Code, HIBC Aztec Code, Japanese Postal Code, Code 49, Channel Code, Code One, Grid Matrix, FIM and Flattermarken, Codablock-F, DotCode, Han Xin Code, rMQR and Ultracode. -Output can be saved as BMP, EPS, GIF, PCX, TIF, EMF, PNG or SVG. +Output can be saved as BMP, EPS, GIF, PCX, TIF, EMF, PNG or SVG. PROJECT HISTORY --------------- @@ -275,6 +275,9 @@ Bugs: - Fix QPainterPath dependency for Visual Studio Version 2.9.2 not released yet: +***Incompatible change** +- Add halign to struct zint_vector_string NOTE: backward incompatible UPC/EAN + Changes: - Command line switches -d or -i for code data may now be at any position. - Add rotation for vector formats @@ -287,8 +290,8 @@ Changes: - Remove backend Qt interface and incorporate into frontend GUI - Add ZPL compatibility mode (preliminary) - Remove version info from zint.h and put in zintconfig.h via zintconfig.h.in -- Add halign to struct zint_vector_string NOTE: backward incompatible UPC/EAN - Add ZBarcode_Cap() +- Add GUI symbology filter, separate settings for each symbology - Require cmake 3.5, use PNG::PNG and add Qt6 build option - Make library fully stack-based so reentrant apart from file operations - Performance improvements (large data) for Aztec, Han Xin, Grid Matrix, PDF417 @@ -300,6 +303,8 @@ Changes: - png.c: Use palette for file size savings - tif.c: Use palette/bilevel/LZW to reduce file size, alpha/CMYK support - Option gs1parens (GS1PARENS_MODE) +- MAXICODE: Rejig raster output to more closely match ISO 16023:2000 +- C25STANDARD/C25INTER/C25IATA/C25LOGIC/C25IND: add check digit option (#216) Bugs: - Code16k selects GS1 mode by default in GUI diff --git a/frontend_qt/extData.ui b/frontend_qt/extData.ui index fb852138..3f104bc8 100644 --- a/frontend_qt/extData.ui +++ b/frontend_qt/extData.ui @@ -14,8 +14,8 @@ Input Data - - images/zint.pngimages/zint.png + + :res/zint-qt.ico:res/zint-qt.ico true diff --git a/frontend_qt/extExport.ui b/frontend_qt/extExport.ui index f8f3f1bb..6bccdc6e 100644 --- a/frontend_qt/extExport.ui +++ b/frontend_qt/extExport.ui @@ -32,8 +32,8 @@ Export Barcodes - - images/zint.pngimages/zint.png + + :res/zint-qt.ico:res/zint-qt.ico diff --git a/frontend_qt/extSequence.ui b/frontend_qt/extSequence.ui index 43deb3a5..dd90edc0 100644 --- a/frontend_qt/extSequence.ui +++ b/frontend_qt/extSequence.ui @@ -14,8 +14,8 @@ Sequence Export - - images/zint.pngimages/zint.png + + :res/zint-qt.ico:res/zint-qt.ico true diff --git a/frontend_qt/images/rotateleft.png b/frontend_qt/images/rotateleft.png deleted file mode 100644 index 8cfa9319..00000000 Binary files a/frontend_qt/images/rotateleft.png and /dev/null differ diff --git a/frontend_qt/images/rotateright.png b/frontend_qt/images/rotateright.png deleted file mode 100644 index ec5e8664..00000000 Binary files a/frontend_qt/images/rotateright.png and /dev/null differ diff --git a/frontend_qt/images/zint.png b/frontend_qt/images/zint.png deleted file mode 100644 index dc723995..00000000 Binary files a/frontend_qt/images/zint.png and /dev/null differ diff --git a/frontend_qt/images/zoomin.png b/frontend_qt/images/zoomin.png deleted file mode 100644 index 8b0daeea..00000000 Binary files a/frontend_qt/images/zoomin.png and /dev/null differ diff --git a/frontend_qt/images/zoomout.png b/frontend_qt/images/zoomout.png deleted file mode 100644 index 1575dd24..00000000 Binary files a/frontend_qt/images/zoomout.png and /dev/null differ diff --git a/frontend_qt/mainWindow.ui b/frontend_qt/mainWindow.ui index 60841693..9eb2b282 100644 --- a/frontend_qt/mainWindow.ui +++ b/frontend_qt/mainWindow.ui @@ -30,7 +30,7 @@ - :/images/zint.png:/images/zint.png + :/res/zint-qt.ico:/res/zint-qt.ico false @@ -878,11 +878,11 @@ to delimit GS1 application identifiers - Show text in image + Show Human Readable Text in image (ignored if disabled) - Show H&uman Readable Text + Show Te&xt true @@ -1083,7 +1083,7 @@ to delimit GS1 application identifiers About Zint - &About + Abo&ut @@ -1133,10 +1133,10 @@ to delimit GS1 application identifiers - Quit Zint Barcode Studio + Exit Zint Barcode Studio - E&xit + &Quit diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp index a01efb96..d006cc13 100644 --- a/frontend_qt/mainwindow.cpp +++ b/frontend_qt/mainwindow.cpp @@ -143,7 +143,7 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl) int cnt = metaObject()->enumerator(0).keyCount(); for (int i = 0; i < cnt; i++) { bstyle->addItem(metaObject()->enumerator(0).key(i)); - bstyle->setItemText(i, bstyle_text[i]); + bstyle->setItemText(i, tr(bstyle_text[i])); } #ifdef _WIN32 bstyle->setMaxVisibleItems(cnt); /* Apart from increasing combo size, seems to be needed for filter to work */ @@ -155,8 +155,8 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl) bstyle->setCurrentIndex(settings.value("studio/symbology", 10).toInt()); - txtData->setText(settings.value("studio/data", "Your Data Here!").toString()); - txtComposite->setText(settings.value("studio/composite_text", "Your Data Here!").toString()); + txtData->setText(settings.value("studio/data", tr("Your Data Here!")).toString()); + txtComposite->setText(settings.value("studio/composite_text", tr("Your Data Here!")).toString()); chkComposite->setChecked(settings.value("studio/chk_composite").toInt() ? true : false); cmbCompType->setCurrentIndex(settings.value("studio/comp_type", 0).toInt()); cmbECI->setCurrentIndex(settings.value("studio/appearance/eci", 0).toInt()); @@ -293,7 +293,7 @@ bool MainWindow::save() QString suffix; save_dialog.setAcceptMode(QFileDialog::AcceptSave); - save_dialog.setWindowTitle("Save Barcode Image"); + save_dialog.setWindowTitle(tr("Save Barcode Image")); save_dialog.setDirectory(settings.value("studio/default_dir", QDir::toNativeSeparators(QDir::homePath())).toString()); #ifdef NO_PNG @@ -305,21 +305,21 @@ bool MainWindow::save() #endif if (QString::compare(suffix, "png", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Portable Network Graphic (*.png)"); + save_dialog.selectNameFilter(tr("Portable Network Graphic (*.png)")); if (QString::compare(suffix, "eps", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Encapsulated PostScript (*.eps)"); + save_dialog.selectNameFilter(tr("Encapsulated PostScript (*.eps)")); if (QString::compare(suffix, "gif", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Graphics Interchange Format (*.gif)"); + save_dialog.selectNameFilter(tr("Graphics Interchange Format (*.gif)")); if (QString::compare(suffix, "svg", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Scalable Vector Graphic (*.svg)"); + save_dialog.selectNameFilter(tr("Scalable Vector Graphic (*.svg)")); if (QString::compare(suffix, "bmp", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Windows Bitmap (*.bmp)"); + save_dialog.selectNameFilter(tr("Windows Bitmap (*.bmp)")); if (QString::compare(suffix, "pcx", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("ZSoft PC Painter Image (*.pcx)"); + save_dialog.selectNameFilter(tr("ZSoft PC Painter Image (*.pcx)")); if (QString::compare(suffix, "emf", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Enhanced Metafile (*.emf)"); + save_dialog.selectNameFilter(tr("Enhanced Metafile (*.emf)")); if (QString::compare(suffix, "tif", Qt::CaseInsensitive) == 0) - save_dialog.selectNameFilter("Tagged Image File Format (*.tif)"); + save_dialog.selectNameFilter(tr("Tagged Image File Format (*.tif)")); if (save_dialog.exec()) { filename = save_dialog.selectedFiles().at(0); @@ -335,7 +335,7 @@ bool MainWindow::save() return false; } - if(m_bc.bc.save_to_file(filename) == false) { + if (m_bc.bc.save_to_file(filename) == false) { if (m_bc.bc.getError() >= ZINT_ERROR) { QMessageBox::critical(this, tr("Save Error"), m_bc.bc.error_message()); return false; @@ -353,13 +353,13 @@ bool MainWindow::save() void MainWindow::about() { QString zint_version; - + int lib_version = ZBarcode_Version(); int version_major = lib_version / 10000; int version_minor = (lib_version % 10000) / 100; int version_release = lib_version % 100; int version_build; - + if (version_release > 10) { /* This is a test release */ version_release = version_release / 10; @@ -415,7 +415,7 @@ int MainWindow::open_sequence_dialog() void MainWindow::on_fgcolor_clicked() { QColor temp = m_fgcolor; - m_fgcolor=QColorDialog::getColor(m_fgcolor,this,"Set foreground colour",QColorDialog::ShowAlphaChannel); + m_fgcolor = QColorDialog::getColor(m_fgcolor, this, tr("Set foreground colour"), QColorDialog::ShowAlphaChannel); if (m_fgcolor.isValid()) { update_preview(); } else { @@ -426,7 +426,7 @@ void MainWindow::on_fgcolor_clicked() void MainWindow::on_bgcolor_clicked() { QColor temp = m_bgcolor; - m_bgcolor=QColorDialog::getColor(m_bgcolor,this,"Set background colour",QColorDialog::ShowAlphaChannel); + m_bgcolor = QColorDialog::getColor(m_bgcolor, this, tr("Set background colour"), QColorDialog::ShowAlphaChannel); if (m_bgcolor.isValid()) { update_preview(); } else { @@ -605,7 +605,7 @@ void MainWindow::change_options() save_sub_settings(settings, m_symbology); } - if (tabMain->count()==3) + if (tabMain->count() == 3) tabMain->removeTab(1); chkComposite->setText(tr("Add &2D Component")); @@ -613,72 +613,62 @@ void MainWindow::change_options() btype->setItemText(0, tr("No border")); combobox_item_enabled(cmbFontSetting, 1, true); - if (symbology == BARCODE_CODE128) - { + if (symbology == BARCODE_CODE128) { QFile file(":/grpC128.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 128")); + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 128")); chkComposite->setText(tr("Add &2D Component (GS1-128 only)")); connect(m_optionWidget->findChild("radC128EAN"), SIGNAL(toggled( bool )), SLOT(composite_ean_check())); connect(m_optionWidget->findChild("radC128Stand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC128CSup"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC128EAN"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC128HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_PDF417) - { + } else if (symbology == BARCODE_PDF417) { QFile file(":/grpPDF417.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("PDF41&7")); + tabMain->insertTab(1, m_optionWidget, tr("PDF41&7")); connect(m_optionWidget->findChild("cmbPDFECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbPDFCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radPDFTruncated"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radPDFStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radPDFHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - - if (symbology == BARCODE_MICROPDF417) - { + } else if (symbology == BARCODE_MICROPDF417) { QFile file(":/grpMicroPDF.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Micro PDF41&7")); + tabMain->insertTab(1, m_optionWidget, tr("Micro PDF41&7")); connect(m_optionWidget->findChild("cmbMPDFCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radMPDFStand"), SIGNAL(toggled( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_DOTCODE) - { + } else if (symbology == BARCODE_DOTCODE) { QFile file(":/grpDotCode.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("DotCod&e")); + tabMain->insertTab(1, m_optionWidget, tr("DotCod&e")); connect(m_optionWidget->findChild("cmbDotCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbDotMask"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radDotStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radDotGS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_AZTEC) - { + } else if (symbology == BARCODE_AZTEC) { QFile file(":/grpAztec.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Aztec Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("Aztec Cod&e")); connect(m_optionWidget->findChild("radAztecAuto"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radAztecSize"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radAztecECC"), SIGNAL(clicked( bool )), SLOT(update_preview())); @@ -687,35 +677,29 @@ void MainWindow::change_options() connect(m_optionWidget->findChild("radAztecStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radAztecGS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radAztecHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_MSI_PLESSEY) - { + } else if (symbology == BARCODE_MSI_PLESSEY) { QFile file(":/grpMSICheck.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("MSI Pless&ey")); + tabMain->insertTab(1, m_optionWidget, tr("MSI Pless&ey")); connect(m_optionWidget->findChild("cmbMSICheck"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODE11) - { + } else if (symbology == BARCODE_CODE11) { QFile file(":/grpC11.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 11")); + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 11")); connect(m_optionWidget->findChild("radC11TwoCheckDigits"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC11OneCheckDigit"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC11NoCheckDigits"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_C25STANDARD || symbology == BARCODE_C25INTER || symbology == BARCODE_C25IATA - || symbology == BARCODE_C25LOGIC || symbology == BARCODE_C25IND) - { + } else if (symbology == BARCODE_C25STANDARD || symbology == BARCODE_C25INTER || symbology == BARCODE_C25IATA + || symbology == BARCODE_C25LOGIC || symbology == BARCODE_C25IND) { QFile file(":/grpC25.ui"); if (file.open(QIODevice::ReadOnly)) { m_optionWidget = uiload.load(&file); @@ -726,94 +710,79 @@ void MainWindow::change_options() connect(m_optionWidget->findChild("radC25Check"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC25CheckHide"), SIGNAL(clicked( bool )), SLOT(update_preview())); } - } - if ((symbology == BARCODE_CODE39) || (symbology == BARCODE_EXCODE39)) - { + } else if (symbology == BARCODE_CODE39 || symbology == BARCODE_EXCODE39) { QFile file(":/grpC39.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); connect(m_optionWidget->findChild("radC39Stand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC39Check"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC39HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); - if (symbology == BARCODE_EXCODE39) - { - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 39 Extended")); - if(m_optionWidget->findChild("radC39HIBC")->isChecked() == true) - { + if (symbology == BARCODE_EXCODE39) { + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 39 Extended")); + if (m_optionWidget->findChild("radC39HIBC")->isChecked()) { m_optionWidget->findChild("radC39HIBC")->setChecked(false); m_optionWidget->findChild("radC39Stand")->setChecked(true); } m_optionWidget->findChild("radC39HIBC")->setEnabled(false); - } - else { - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 39")); + } else { + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 39")); m_optionWidget->findChild("radC39HIBC")->setEnabled(true); } - } - if (symbology == BARCODE_LOGMARS) - { + } else if (symbology == BARCODE_LOGMARS) { QFile file(":/grpLOGMARS.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("LOGMARS")); + tabMain->insertTab(1, m_optionWidget, tr("LOGM&ARS")); connect(m_optionWidget->findChild("radLOGMARSStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radLOGMARSCheck"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODE16K) - { + } else if (symbology == BARCODE_CODE16K) { QFile file(":/grpC16k.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 16K")); + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 16K")); btype->setItemText(0, tr("Default (bind)")); connect(m_optionWidget->findChild("cmbC16kRowSepHeight"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC16kStand"), SIGNAL(toggled( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODABAR) - { + } else if (symbology == BARCODE_CODABAR) { QFile file(":/grpCodabar.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Codabar")); + tabMain->insertTab(1, m_optionWidget, tr("Cod&abar")); connect(m_optionWidget->findChild("chkCodabarCheck"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODABLOCKF) - { + } else if (symbology == BARCODE_CODABLOCKF) { QFile file (":/grpCodablockF.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Codablock&-F")); + tabMain->insertTab(1, m_optionWidget, tr("Codablock&-F")); btype->setItemText(0, tr("Default (bind)")); connect(m_optionWidget->findChild("cmbCbfWidth"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbCbfHeight"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbCbfRowSepHeight"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radCbfStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radCbfHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_DATAMATRIX) - { + } else if (symbology == BARCODE_DATAMATRIX) { QFile file(":/grpDM.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Data Matrix")); + tabMain->insertTab(1, m_optionWidget, tr("D&ata Matrix")); connect(m_optionWidget->findChild("radDM200Stand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radDM200GS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radDM200HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); @@ -821,21 +790,17 @@ void MainWindow::change_options() connect(m_optionWidget->findChild("chkDMRectangle"), SIGNAL(stateChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkDMRE"), SIGNAL(stateChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkDMGSSep"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_ITF14) - { + } else if (symbology == BARCODE_ITF14) { btype->setItemText(0, tr("Default (box, non-zero width)")); - } - if (symbology == BARCODE_QRCODE) - { + } else if (symbology == BARCODE_QRCODE) { QFile file(":/grpQR.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("QR Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("QR Cod&e")); connect(m_optionWidget->findChild("cmbQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbQRMask"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); @@ -843,165 +808,140 @@ void MainWindow::change_options() connect(m_optionWidget->findChild("radQRGS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radQRHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkQRFullMultibyte"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_RMQR) - { + } else if (symbology == BARCODE_RMQR) { QFile file(":/grpRMQR.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("rMQR Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("rMQR Cod&e")); connect(m_optionWidget->findChild("cmbRMQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbRMQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radRMQRStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radRMQRGS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkRMQRFullMultibyte"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_HANXIN) - { - QFile file (":/grpHX.ui"); + } else if (symbology == BARCODE_HANXIN) { + QFile file(":/grpHX.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Han Xin Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("Han Xin Cod&e")); cmbECI->setItemText(25, tr("29: GB 18030 (PRC)")); connect(m_optionWidget->findChild("cmbHXSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbHXECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbHXMask"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkHXFullMultibyte"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_MICROQR) - { + } else if (symbology == BARCODE_MICROQR) { QFile file(":/grpMQR.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Micro QR Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("Micro QR Cod&e")); connect(m_optionWidget->findChild("cmbMQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbMQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbMQRMask"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkMQRFullMultibyte"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_GRIDMATRIX) - { + } else if (symbology == BARCODE_GRIDMATRIX) { QFile file(":/grpGrid.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Grid Matrix")); + tabMain->insertTab(1, m_optionWidget, tr("Grid M&atrix")); connect(m_optionWidget->findChild("cmbGridSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbGridECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkGridFullMultibyte"), SIGNAL(stateChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_MAXICODE) - { + } else if (symbology == BARCODE_MAXICODE) { QFile file(":/grpMaxicode.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("MaxiCod&e")); + tabMain->insertTab(1, m_optionWidget, tr("MaxiCod&e")); connect(m_optionWidget->findChild("cmbMaxiMode"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbMaxiMode"), SIGNAL(currentIndexChanged( int )), SLOT(maxi_primary())); connect(m_optionWidget->findChild("txtMaxiPrimary"), SIGNAL(textChanged( const QString& )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkMaxiSCMVV"), SIGNAL(stateChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("chkMaxiSCMVV"), SIGNAL(stateChanged( int )), SLOT(maxi_primary())); connect(m_optionWidget->findChild("spnMaxiSCMVV"), SIGNAL(valueChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_CHANNEL) - { + } else if (symbology == BARCODE_CHANNEL) { QFile file(":/grpChannel.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Channel Cod&e")); + tabMain->insertTab(1, m_optionWidget, tr("Channel Cod&e")); connect(m_optionWidget->findChild("cmbChannel"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODEONE) - { + } else if (symbology == BARCODE_CODEONE) { QFile file(":/grpCodeOne.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Code On&e")); + tabMain->insertTab(1, m_optionWidget, tr("Code On&e")); connect(m_optionWidget->findChild("cmbC1Size"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC1GS1"), SIGNAL(toggled( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_CODE49) - { + } else if (symbology == BARCODE_CODE49) { QFile file(":/grpC49.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Cod&e 49")); + tabMain->insertTab(1, m_optionWidget, tr("Cod&e 49")); connect(m_optionWidget->findChild("cmbC49RowSepHeight"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radC49GS1"), SIGNAL(toggled( bool )), SLOT(update_preview())); - } - - if (symbology == BARCODE_DBAR_EXPSTK) - { + } else if (symbology == BARCODE_DBAR_EXPSTK) { QFile file(":/grpDBExtend.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("GS1 DataBar Stack&ed")); + tabMain->insertTab(1, m_optionWidget, tr("GS1 DataBar Stack&ed")); connect(m_optionWidget->findChild("cmbCols"), SIGNAL(currentIndexChanged ( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_ULTRA) - { + } else if (symbology == BARCODE_ULTRA) { QFile file(":/grpUltra.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("Ultracod&e")); + tabMain->insertTab(1, m_optionWidget, tr("Ultracod&e")); connect(m_optionWidget->findChild("radUltraAuto"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radUltraEcc"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("cmbUltraEcc"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); connect(m_optionWidget->findChild("radUltraStand"), SIGNAL(clicked( bool )), SLOT(update_preview())); connect(m_optionWidget->findChild("radUltraGS1"), SIGNAL(clicked( bool )), SLOT(update_preview())); - } - if (symbology == BARCODE_UPCA || symbology == BARCODE_UPCA_CHK || symbology == BARCODE_UPCA_CC) - { + } else if (symbology == BARCODE_UPCA || symbology == BARCODE_UPCA_CHK || symbology == BARCODE_UPCA_CC) { QFile file(":/grpUPCA.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1, m_optionWidget, tr("UPC-A")); + tabMain->insertTab(1, m_optionWidget, tr("UPC-&A")); combobox_item_enabled(cmbFontSetting, 1, false); if (cmbFontSetting->currentIndex() == 1) { cmbFontSetting->setCurrentIndex(0); } connect(m_optionWidget->findChild("cmbUPCAAddonGap"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_EANX || symbology == BARCODE_EANX_CHK || symbology == BARCODE_EANX_CC + } else if (symbology == BARCODE_EANX || symbology == BARCODE_EANX_CHK || symbology == BARCODE_EANX_CC || symbology == BARCODE_UPCE || symbology == BARCODE_UPCE_CHK || symbology == BARCODE_UPCE_CC - || symbology == BARCODE_ISBNX) - { + || symbology == BARCODE_ISBNX) { QFile file(":/grpUPCEAN.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); if (symbology == BARCODE_UPCE || symbology == BARCODE_UPCE_CHK || symbology == BARCODE_UPCE_CC) { tabMain->insertTab(1, m_optionWidget, tr("UPC-&E")); @@ -1015,21 +955,18 @@ void MainWindow::change_options() cmbFontSetting->setCurrentIndex(0); } connect(m_optionWidget->findChild("cmbUPCEANAddonGap"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview())); - } - if (symbology == BARCODE_VIN) - { + } else if (symbology == BARCODE_VIN) { QFile file(":/grpVIN.ui"); if (!file.open(QIODevice::ReadOnly)) return; - m_optionWidget=uiload.load(&file); + m_optionWidget = uiload.load(&file); file.close(); - tabMain->insertTab(1,m_optionWidget,tr("&VIN")); + tabMain->insertTab(1, m_optionWidget, tr("&VIN")); connect(m_optionWidget->findChild("chkVINImportChar"), SIGNAL(clicked( bool )), SLOT(update_preview())); } - switch (symbology) - { + switch (symbology) { case BARCODE_CODE128: case BARCODE_EANX: case BARCODE_UPCA: @@ -1046,6 +983,7 @@ void MainWindow::change_options() grpComposite->hide(); break; } + cmbECI->setEnabled(m_bc.bc.supportsECI(symbology)); /* Will need checking again in update_preview() as encoding mode dependent (HIBC) */ chkGS1Parens->setEnabled(m_bc.bc.supportsGS1(symbology)); /* Ditto (GS1) */ chkRInit->setEnabled(m_bc.bc.supportsReaderInit(symbology)); /* Ditto (HIBC and GS1) */ @@ -1073,8 +1011,7 @@ void MainWindow::change_options() void MainWindow::composite_ui_set() { - if (!grpComposite->isHidden() && chkComposite->isChecked()) - { + if (!grpComposite->isHidden() && chkComposite->isChecked()) { lblCompType->setEnabled(true); cmbCompType->setEnabled(true); lblComposite->setEnabled(true); @@ -1085,9 +1022,7 @@ void MainWindow::composite_ui_set() radioButton->setChecked(true); } } - } - else - { + } else { lblCompType->setEnabled(false); cmbCompType->setEnabled(false); lblComposite->setEnabled(false); @@ -1097,7 +1032,7 @@ void MainWindow::composite_ui_set() void MainWindow::composite_ean_check() { - if (metaObject()->enumerator(0).value(bstyle->currentIndex())!=BARCODE_CODE128) + if (metaObject()->enumerator(0).value(bstyle->currentIndex()) != BARCODE_CODE128) return; QRadioButton *radioButton = m_optionWidget->findChild("radC128EAN"); if (radioButton && !radioButton->isChecked()) @@ -1106,10 +1041,10 @@ void MainWindow::composite_ean_check() void MainWindow::maxi_primary() { - if (metaObject()->enumerator(0).value(bstyle->currentIndex())!=BARCODE_MAXICODE) + if (metaObject()->enumerator(0).value(bstyle->currentIndex()) != BARCODE_MAXICODE) return; QCheckBox *chkMaxiSCMVV = m_optionWidget->findChild("chkMaxiSCMVV"); - if(m_optionWidget->findChild("cmbMaxiMode")->currentIndex() == 0) { + if (m_optionWidget->findChild("cmbMaxiMode")->currentIndex() == 0) { m_optionWidget->findChild("lblMaxiPrimary")->setEnabled(true); m_optionWidget->findChild("txtMaxiPrimary")->setEnabled(true); chkMaxiSCMVV->setEnabled(true); diff --git a/frontend_qt/res/qtZint.rc b/frontend_qt/res/qtZint.rc index d2ab4a91..9e7342e9 100644 --- a/frontend_qt/res/qtZint.rc +++ b/frontend_qt/res/qtZint.rc @@ -58,7 +58,7 @@ BEGIN VALUE "InternalName", "qtZint" - VALUE "LegalCopyright", "Copyright © 2020 Robin Stuart & BogDan Vatra" + VALUE "LegalCopyright", "Copyright © 2021 Robin Stuart & BogDan Vatra" VALUE "License", "GNU General Public License version 3" @@ -84,4 +84,4 @@ BEGIN END -100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "zint.ico" +100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "zint-qt.ico" diff --git a/frontend_qt/res/zint.ico b/frontend_qt/res/zint.ico deleted file mode 100644 index c952376a..00000000 Binary files a/frontend_qt/res/zint.ico and /dev/null differ diff --git a/frontend_qt/resources.qrc b/frontend_qt/resources.qrc index 8313dd05..3ce904f9 100644 --- a/frontend_qt/resources.qrc +++ b/frontend_qt/resources.qrc @@ -1,37 +1,33 @@ - images/zoomout.png - images/rotateleft.png - images/rotateright.png - images/zoomin.png grpAztec.ui grpC11.ui + grpC128.ui + grpC16k.ui grpC25.ui grpC39.ui - grpDM.ui - grpMSICheck.ui - grpC128.ui - grpChannel.ui - grpLOGMARS.ui - grpMicroPDF.ui - grpMaxicode.ui - grpPDF417.ui - grpC16k.ui - grpMQR.ui - grpQR.ui - grpCodeOne.ui grpC49.ui - grpGrid.ui - grpDBExtend.ui - images/zint.png - grpHX.ui - grpDotCode.ui + grpChannel.ui grpCodabar.ui grpCodablockF.ui + grpCodeOne.ui + grpDBExtend.ui + grpDM.ui + grpDotCode.ui + grpGrid.ui + grpHX.ui + grpLOGMARS.ui + grpMaxicode.ui + grpMicroPDF.ui + grpMQR.ui + grpMSICheck.ui + grpPDF417.ui + grpQR.ui grpRMQR.ui grpUltra.ui grpUPCA.ui grpUPCEAN.ui grpVIN.ui + res/zint-qt.ico diff --git a/win32/zint_cmdline_vc6/zint_black_vc6.ico b/win32/zint_cmdline_vc6/zint_black_vc6.ico index 387c650d..9f0ae7a2 100644 Binary files a/win32/zint_cmdline_vc6/zint_black_vc6.ico and b/win32/zint_cmdline_vc6/zint_black_vc6.ico differ diff --git a/zint-qt.desktop b/zint-qt.desktop index 2d46bc7a..cd0010e9 100644 --- a/zint-qt.desktop +++ b/zint-qt.desktop @@ -1,8 +1,12 @@ [Desktop Entry] +Version=1.0 +Encoding=UTF-8 Name=Zint Barcode Studio -GenericName=Zint Barcode Studio +GenericName=Barcode Generator +Comment=GUI for the creation of barcodes Exec=zint-qt -Icon=zint +Icon=zint-qt Terminal=false Type=Application Categories=Utility; +Keywords=barcode;studio; diff --git a/zint.png b/zint.png deleted file mode 100644 index dc723995..00000000 Binary files a/zint.png and /dev/null differ