zint/frontend_qt/mainwindow.cpp

1044 lines
42 KiB
C++
Raw Normal View History

2008-07-19 02:49:14 +12:00
/***************************************************************************
2009-04-27 10:04:51 +12:00
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
* Copyright (C) 2009-2017 by Robin Stuart <rstuart114@gmail.com> *
2008-07-19 02:49:14 +12:00
* *
* This program is free software: you can redistribute it and/or modify *
2008-07-19 02:49:14 +12:00
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
2008-07-19 02:49:14 +12:00
* (at your option) any later version. *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
2008-07-19 02:49:14 +12:00
***************************************************************************/
#include <QDebug>
#include <QGraphicsScene>
#include <QImage>
#include <QColorDialog>
2009-05-22 09:00:23 +12:00
#include <QUiLoader>
#include <QFile>
2016-12-12 04:29:06 +13:00
#include <QRadioButton>
#include <QFileDialog>
#include <QMessageBox>
#include <QSettings>
2017-04-22 23:21:27 +12:00
#include <QClipboard>
#include <QMimeData>
#include <QColor>
2008-07-19 02:49:14 +12:00
#include "mainwindow.h"
#include "datawindow.h"
#include "sequencewindow.h"
2009-04-27 10:04:51 +12:00
#include <stdio.h>
2008-07-19 02:49:14 +12:00
2016-12-12 04:29:06 +13:00
MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl)
2009-05-22 09:00:23 +12:00
: QWidget(parent, fl),m_optionWidget(0)
2008-07-19 02:49:14 +12:00
{
2017-10-24 08:37:52 +13:00
2017-07-28 03:01:53 +12:00
QCoreApplication::setOrganizationName("zint");
QCoreApplication::setOrganizationDomain("zint.org.uk");
QCoreApplication::setApplicationName("Barcode Studio");
2017-10-24 08:37:52 +13:00
QSettings settings;
2009-05-20 02:05:26 +12:00
2009-04-27 10:04:51 +12:00
char bstyle_text[][50] = {
2009-10-21 22:08:44 +13:00
"Australia Post Redirect Code",
2009-04-27 10:04:51 +12:00
"Australia Post Reply-Paid",
"Australia Post Routing Code",
2009-10-21 22:08:44 +13:00
"Australia Post Standard Customer",
"Aztec Code (ISO 24778)",
2009-04-27 10:04:51 +12:00
"Aztec Runes",
2009-05-17 02:19:43 +12:00
"Channel Code",
2009-07-05 08:48:42 +12:00
"Codabar",
"Codablock-F",
2009-04-27 10:04:51 +12:00
"Code 11",
2009-10-21 22:08:44 +13:00
"Code 128 (ISO 15417)",
2009-04-27 10:04:51 +12:00
"Code 16k",
"Code 2 of 5 Data Logic",
"Code 2 of 5 IATA",
"Code 2 of 5 Industrial",
"Code 2 of 5 Interleaved",
"Code 2 of 5 Matrix",
"Code 32 (Italian Pharmacode)",
2009-10-21 22:08:44 +13:00
"Code 39 (ISO 16388)",
2009-04-27 10:04:51 +12:00
"Code 39 Extended",
2009-05-10 23:47:20 +12:00
"Code 49",
2017-10-24 08:37:52 +13:00
"Code 93",
2009-07-05 08:48:42 +12:00
"Code One",
2009-10-21 22:08:44 +13:00
"Data Matrix (ISO 16022)",
2009-04-27 10:04:51 +12:00
"Deutsche Post Identcode",
"Deutsche Post Leitcode",
"DotCode",
2009-04-27 10:04:51 +12:00
"Dutch Post KIX",
"EAN-14",
"European Article Number (EAN)",
2009-10-21 22:08:44 +13:00
"Facing Identification Mark (FIM)",
2009-04-27 10:04:51 +12:00
"Flattermarken",
2009-10-21 22:08:44 +13:00
"Grid Matrix",
"GS1 DataBar Expanded Omnidirectional",
"GS1 DataBar Expanded Stacked Omnidirectional",
"GS1 DataBar Limited",
2017-10-24 08:37:52 +13:00
"GS1 DataBar Omnidirectional",
"GS1 DataBar Stacked",
2017-10-24 08:37:52 +13:00
"GS1 DataBar Stacked Omnidirectional",
"Han Xin (Chinese Sensible) Code",
"ITF-14",
2009-04-27 10:04:51 +12:00
"International Standard Book Number (ISBN)",
"Japanese Postal Barcode",
"Korean Postal Barcode",
"LOGMARS",
2009-10-21 22:08:44 +13:00
"Maxicode (ISO 16023)",
"MicroPDF417 (ISO 24728)",
2009-04-27 10:04:51 +12:00
"Micro QR Code",
"MSI Plessey",
"NVE-18",
2009-10-21 22:08:44 +13:00
"PDF417 (ISO 15438)",
2009-04-27 10:04:51 +12:00
"Pharmacode",
"Pharmacode 2-track",
"Pharma Zentralnummer (PZN)",
"PLANET",
"Postnet",
2009-10-21 22:08:44 +13:00
"QR Code (ISO 18004)",
2009-04-27 10:04:51 +12:00
"Royal Mail 4-state Barcode",
2018-02-10 09:55:17 +13:00
"Royal Mail 4-state Mailmark",
2009-04-27 10:04:51 +12:00
"Telepen",
"Telepen Numeric",
"UK Plessey",
2017-07-24 05:09:30 +12:00
"UPNQR",
2009-10-21 22:08:44 +13:00
"Universal Product Code (UPC-A)",
"Universal Product Code (UPC-E)",
"USPS Intelligent Mail"
2008-10-08 03:28:32 +13:00
};
2017-10-24 08:37:52 +13:00
2009-05-20 02:05:26 +12:00
/* createActions();
createMenus(); */
2017-10-24 08:37:52 +13:00
2016-12-15 12:33:17 +13:00
scene = new QGraphicsScene(this);
2017-10-24 08:37:52 +13:00
2008-07-19 02:49:14 +12:00
setupUi(this);
2016-12-15 12:33:17 +13:00
view->setScene(scene);
2017-10-24 08:37:52 +13:00
m_fgcolor=qRgb(settings.value("studio/ink/red", 0).toInt(),
settings.value("studio/ink/green", 0).toInt(),
settings.value("studio/ink/blue", 0).toInt());
m_bgcolor=qRgb(settings.value("studio/paper/red", 0xff).toInt(),
settings.value("studio/paper/green", 0xff).toInt(),
settings.value("studio/paper/blue", 0xff).toInt());
2008-10-08 03:28:32 +13:00
for (int i=0;i<metaObject()->enumerator(0).keyCount();i++) {
2008-09-24 21:38:32 +12:00
bstyle->addItem(metaObject()->enumerator(0).key(i));
2008-10-08 03:28:32 +13:00
bstyle->setItemText(i,bstyle_text[i]);
}
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());
heightb->setValue(settings.value("studio/appearance/height", 50).toInt());
bwidth->setValue(settings.value("studio/appearance/border", 50).toInt());
spnWhitespace->setValue(settings.value("studio/appearance/whitespace", 0).toInt());
spnScale->setValue(settings.value("studio/appearance/scale", 1.0).toFloat());
btype->setCurrentIndex(settings.value("studio/appearance/border_type", 0).toInt());
2009-04-27 10:04:51 +12:00
change_options();
2016-12-15 12:33:17 +13:00
scene->addItem(&m_bc);
2009-04-27 10:04:51 +12:00
update_preview();
connect(bstyle, SIGNAL(currentIndexChanged( int )), SLOT(change_options()));
connect(bstyle, SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(heightb, SIGNAL(valueChanged( int )), SLOT(update_preview()));
connect(bwidth, SIGNAL(valueChanged( int )), SLOT(update_preview()));
connect(btype, SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(txtData, SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
connect(txtComposite, SIGNAL(textChanged()), SLOT(update_preview()));
connect(chkComposite, SIGNAL(stateChanged( int )), SLOT(composite_enable()));
connect(chkComposite, SIGNAL(stateChanged( int )), SLOT(update_preview()));
connect(cmbCompType, SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(spnWhitespace, SIGNAL(valueChanged( int )), SLOT(update_preview()));
2009-05-20 02:05:26 +12:00
connect(btnAbout, SIGNAL(clicked( bool )), SLOT(about()));
connect(btnSave, SIGNAL(clicked( bool )), SLOT(save()));
connect(spnScale, SIGNAL(valueChanged( double )), SLOT(change_print_scale()));
connect(btnExit, SIGNAL(clicked( bool )), SLOT(quit_now()));
2009-07-17 00:59:22 +12:00
connect(btnReset, SIGNAL(clicked( bool )), SLOT(reset_view()));
connect(btnMoreData, SIGNAL(clicked( bool )), SLOT(open_data_dialog()));
connect(btnSequence, SIGNAL(clicked( bool )), SLOT(open_sequence_dialog()));
2009-11-03 23:52:34 +13:00
connect(chkHRTHide, SIGNAL(stateChanged( int )), SLOT(update_preview()));
2017-05-16 08:12:19 +12:00
connect(btnCopySVG, SIGNAL(clicked( bool )), SLOT(copy_to_clipboard_svg()));
connect(btnCopyBMP, SIGNAL(clicked( bool )), SLOT(copy_to_clipboard_bmp()));
2008-07-19 02:49:14 +12:00
}
MainWindow::~MainWindow()
{
QSettings settings;
2017-10-24 08:37:52 +13:00
settings.setValue("studio/symbology", bstyle->currentIndex());
settings.setValue("studio/ink/red", m_fgcolor.red());
settings.setValue("studio/ink/green", m_fgcolor.green());
settings.setValue("studio/ink/blue", m_fgcolor.blue());
settings.setValue("studio/paper/red", m_bgcolor.red());
settings.setValue("studio/paper/green", m_bgcolor.green());
settings.setValue("studio/paper/blue", m_bgcolor.blue());
settings.setValue("studio/data", txtData->text());
settings.setValue("studio/composite_text", txtComposite->toPlainText());
settings.setValue("studio/appearance/height", heightb->value());
settings.setValue("studio/appearance/border", bwidth->value());
settings.setValue("studio/appearance/whitespace", spnWhitespace->value());
settings.setValue("studio/appearance/scale", spnScale->value());
settings.setValue("studio/appearance/border_type", btype->currentIndex());
2008-07-19 02:49:14 +12:00
}
2009-07-17 00:59:22 +12:00
2016-12-15 12:33:17 +13:00
void MainWindow::resizeEvent(QResizeEvent* event)
{
QWidget::resizeEvent(event);
update_preview();
2008-07-19 02:49:14 +12:00
}
2009-07-17 00:59:22 +12:00
void MainWindow::reset_view()
{
m_fgcolor=qRgb(0,0,0);
m_bgcolor=qRgb(0xff,0xff,0xff);
update_preview();
}
2009-05-20 02:05:26 +12:00
bool MainWindow::save()
{
QSettings settings;
QFileDialog save_dialog;
QString filename;
QString suffix;
save_dialog.setAcceptMode(QFileDialog::AcceptSave);
save_dialog.setWindowTitle("Save Barcode Image");
save_dialog.setDirectory(settings.value("studio/default_dir", QDir::toNativeSeparators(QDir::homePath())).toString());
2017-10-24 08:37:52 +13:00
#ifdef NO_PNG
suffix = settings.value("studio/default_suffix", "gif").toString();
save_dialog.setNameFilter(tr("Encapsulated Post Script (*.eps);;Graphics Interchange Format (*.gif);;Scalable Vector Graphic (*.svg);;Windows Bitmap (*.bmp);;ZSoft PC Painter Image (*.pcx);;Extended Metafile (*.emf);;Tagged Image File Format (*.tif)"));
#else
suffix = settings.value("studio/default_suffix", "png").toString();
save_dialog.setNameFilter(tr("Portable Network Graphic (*.png);;Encapsulated Post Script (*.eps);;Graphics Interchange Format (*.gif);;Scalable Vector Graphic (*.svg);;Windows Bitmap (*.bmp);;ZSoft PC Painter Image (*.pcx);;Extended Metafile (*.emf);;Tagged Image File Format (*.tif)"));
#endif
2017-10-24 08:37:52 +13:00
if (QString::compare(suffix, "png", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Portable Network Graphic (*.png)");
if (QString::compare(suffix, "eps", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Encapsulated Post Script (*.eps)");
if (QString::compare(suffix, "gif", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Graphics Interchange Format (*.gif)");
if (QString::compare(suffix, "svg", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Scalable Vector Graphic (*.svg)");
if (QString::compare(suffix, "bmp", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Windows Bitmap (*.bmp)");
if (QString::compare(suffix, "pcx", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("ZSoft PC Painter Image (*.pcx)");
if (QString::compare(suffix, "emf", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Extended Metafile (*.emf)");
if (QString::compare(suffix, "tif", Qt::CaseInsensitive) == 0)
save_dialog.selectNameFilter("Tagged Image File Format (*.tif)");
2017-10-24 08:37:52 +13:00
if (save_dialog.exec()) {
filename = save_dialog.selectedFiles().at(0);
if ((filename.lastIndexOf(".") == -1) || (filename.lastIndexOf(".") < (filename.length() - 5))) {
suffix = save_dialog.selectedNameFilter();
suffix = suffix.mid((suffix.lastIndexOf(".") + 1), 3);
filename.append(".");
filename.append(suffix);
} else {
suffix = filename.right(filename.length() - (filename.lastIndexOf('.') + 1));
}
} else {
return false;
}
if(m_bc.bc.save_to_file(filename) == false) {
if (m_bc.bc.getError() > 4) {
2009-05-20 02:05:26 +12:00
QMessageBox::critical(this,tr("Save Error"),m_bc.bc.error_message());
return false;
} else {
QMessageBox::warning(this, tr("Save Warning"),m_bc.bc.error_message());
return true;
}
2009-05-20 02:05:26 +12:00
}
2017-10-24 08:37:52 +13:00
settings.setValue("studio/default_dir", filename.mid(0, filename.lastIndexOf(QDir::separator())));
settings.setValue("studio/default_suffix", suffix);
return true;
2009-05-20 02:05:26 +12:00
}
void MainWindow::about()
{
QMessageBox::about(this, tr("About Zint"),
tr("<h2>Zint Barcode Studio 2.6.2</h2>"
2009-11-03 23:52:34 +13:00
"<p>A free barcode generator"
2017-04-11 21:31:18 +12:00
"<p>Instruction manual is available at the project homepage:<br>"
"<a href=\"http://www.zint.org.uk\">http://www.zint.org.uk</a>"
2018-02-10 09:55:17 +13:00
"<p>Copyright &copy; 2006-2018 Robin Stuart and others.<br>"
2017-04-11 21:31:18 +12:00
"Qt back end by BogDan Vatra<br>"
"Windows port by Harald Oehlmann</p>"
"<p>Qt version " QT_VERSION_STR
2016-12-12 04:29:06 +13:00
"<p>With thanks to Norbert Szab&oacute;, Robert Elliott, "
2017-04-11 21:31:18 +12:00
"Milton Neal and many others at Sourceforge."
2009-11-03 23:52:34 +13:00
"<p>Released under the GNU General Public License ver. 3 or later.<br>"
"\"QR Code\" is a Registered Trademark of Denso Corp.<br>"
2009-09-30 00:15:16 +13:00
"\"Telepen\" is a Registered Trademark of SB Electronics."
2009-11-03 23:52:34 +13:00
"<p><table border=1><tr><td><small>Currently supported standards include:<br>"
"EN 797:1996, EN 798:1996, EN 12323:2005, ISO/IEC 15417:2007,<br>"
2017-04-11 21:31:18 +12:00
"ISO/IEC 15438:2015, ISO/IEC 16022:2006, ISO/IEC 16023:2000,<br>"
"ISO/IEC 16388:2007, ISO/IEC 18004:2015, ISO/IEC 24723:2010,<br>"
"ISO/IEC 24724:2011, ISO/IEC 24728:2006, ISO/IEC 24778:2008,<br>"
2009-11-03 23:52:34 +13:00
"ANSI-HIBC 2.3-2009, ANSI/AIM BC6-2000, ANSI/AIM BC12-1998,<br>"
2016-12-12 04:29:06 +13:00
"AIMD014 (v 1.63), USPS-B-3200</small></td></tr></table>"
2009-05-20 02:05:26 +12:00
));
}
2008-07-19 02:49:14 +12:00
int MainWindow::open_data_dialog()
{
int retval;
DataWindow dlg(txtData->text());
retval = dlg.exec();
if (dlg.Valid == 1)
txtData->setText(dlg.DataOutput);
return retval;
}
int MainWindow::open_sequence_dialog()
{
SequenceWindow dlg;
2009-09-21 03:40:46 +12:00
dlg.barcode = &m_bc;
return dlg.exec();
}
2008-07-19 02:49:14 +12:00
void MainWindow::on_fgcolor_clicked()
{
QColor temp = m_fgcolor;
m_fgcolor=QColorDialog::getColor(m_fgcolor,this,"Set foreground colour");
if (m_fgcolor.isValid()) {
update_preview();
} else {
m_fgcolor = temp;
}
2008-07-19 02:49:14 +12:00
}
void MainWindow::on_bgcolor_clicked()
{
QColor temp = m_bgcolor;
m_bgcolor=QColorDialog::getColor(m_bgcolor,this,"Set background colour");
if (m_bgcolor.isValid()) {
update_preview();
} else {
m_bgcolor = temp;
}
2008-07-19 02:49:14 +12:00
}
2009-05-20 02:05:26 +12:00
void MainWindow::change_print_scale()
{
/* This value is only used when printing (saving) to file */
m_bc.bc.setScale((float)spnScale->value());
}
void MainWindow::quit_now()
{
2009-05-22 09:00:23 +12:00
close();
2009-05-20 02:05:26 +12:00
}
2017-05-16 08:12:19 +12:00
void MainWindow::copy_to_clipboard_svg()
2017-04-22 23:21:27 +12:00
{
QClipboard *clipboard = QGuiApplication::clipboard();
QMimeData *data = new QMimeData;
2017-04-22 23:44:32 +12:00
QString filename = ".zint.svg";
double scale = spnScale->value();
2017-05-16 08:12:19 +12:00
spnScale->setValue(5);
2017-04-22 23:21:27 +12:00
if (!m_bc.bc.save_to_file(filename)) {
return;
}
data->setImageData(QImage(filename));
clipboard->setMimeData(data, QClipboard::Clipboard);
QFile::remove(filename);
2017-04-22 23:44:32 +12:00
spnScale->setValue(scale);
2017-04-22 23:21:27 +12:00
}
2017-05-16 08:12:19 +12:00
void MainWindow::copy_to_clipboard_bmp()
{
QClipboard *clipboard = QGuiApplication::clipboard();
QMimeData *data = new QMimeData;
QString filename = ".zint.bmp";
if (!m_bc.bc.save_to_file(filename)) {
return;
}
data->setImageData(QImage(filename));
clipboard->setMimeData(data, QClipboard::Clipboard);
QFile::remove(filename);
}
2009-04-27 10:04:51 +12:00
void MainWindow::change_options()
2008-07-19 02:49:14 +12:00
{
2009-05-22 09:00:23 +12:00
QUiLoader uiload;
2009-04-27 10:04:51 +12:00
2009-05-22 09:00:23 +12:00
if (tabMain->count()==3)
tabMain->removeTab(1);
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE128)
2008-09-24 21:38:32 +12:00
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpC128.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Code 128"));
2009-04-27 10:04:51 +12:00
chkComposite->setText(tr("Add 2D Component (GS1-128 only)"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radC128EAN"), SIGNAL(toggled( bool )), SLOT(composite_ean_check()));
connect(m_optionWidget->findChild<QObject*>("radC128Stand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radC128CSup"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radC128EAN"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radC128HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
2017-10-24 08:37:52 +13:00
}
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
chkComposite->setText(tr("Add 2D Component"));
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_PDF417)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpPDF417.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("PDF417"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("codewords"), SIGNAL(valueChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbPDFECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbPDFCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radPDFTruncated"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radPDFStand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radPDFHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MICROPDF417)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpMicroPDF.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Micro PDF417"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("cmbMPDFCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radMPDFStand"), SIGNAL(toggled( bool )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2016-08-21 00:21:05 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_DOTCODE)
{
QFile file(":/grpDotCode.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("DotCode"));
connect(m_optionWidget->findChild<QObject*>("cmbDotCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radDotStan"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radDotGs1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("txtDotSize"), SIGNAL(textChanged( QString )), SLOT(update_preview()));
2016-08-21 00:21:05 +12:00
}
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_AZTEC)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpAztec.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Aztec Code"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radAztecAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radAztecSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radAztecECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbAztecSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbAztecECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-11-03 23:52:34 +13:00
connect(m_optionWidget->findChild<QObject*>("radAztecStand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radAztecGS1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radAztecHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MSI_PLESSEY)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpMSICheck.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("MSI Plessey"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("cmbMSICheck"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
if((metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE39) ||
(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_EXCODE39))
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpC39.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Code 39"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radC39Stand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radC39Check"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radC39HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
2017-10-24 08:37:52 +13:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_EXCODE39)
2009-05-22 09:00:23 +12:00
{
2017-10-24 08:37:52 +13:00
if(m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->isChecked() == true)
2009-05-22 09:00:23 +12:00
{
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setChecked(false);
m_optionWidget->findChild<QRadioButton*>("radC39Stand")->setChecked(true);
}
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setEnabled(false);
2017-10-24 08:37:52 +13:00
}
else
2009-05-22 09:00:23 +12:00
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setEnabled(true);
2009-04-27 10:04:51 +12:00
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE16K)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpC16k.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Code 16K"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radC16kStand"), SIGNAL(toggled( bool )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2017-10-24 08:37:52 +13:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODABLOCKF)
{
QFile file (":/grpCodablockF.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Codablock-F"));
connect(m_optionWidget->findChild<QObject*>("radCbfAutosize"), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radCbfSetWidth"), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radCbfSetHeight"), SIGNAL(toggled( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbCbfWidth"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbCbfHeight"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
}
2017-10-24 08:37:52 +13:00
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_DATAMATRIX)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpDM.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Data Matrix"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radDM200Stand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radDM200GS1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radDM200HIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbDM200Size"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-11-03 04:47:08 +13:00
connect(m_optionWidget->findChild<QObject*>("chkDMRectangle"), SIGNAL(stateChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("chkDMRE"), SIGNAL(stateChanged( int )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2017-10-24 08:37:52 +13:00
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_QRCODE)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpQR.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("QR Code"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radQRAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radQRSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radQRECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radQRStand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radQRGS1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radQRHIBC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2017-10-24 08:37:52 +13:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_HANXIN)
{
QFile file (":/grpHX.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Han Xin Code"));
connect(m_optionWidget->findChild<QObject*>("radHXAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radHXSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radHXECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbHXSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbHXECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
}
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MICROQR)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpMQR.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Micro QR Code"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("radMQRAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radMQRSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radMQRECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbMQRSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbMQRECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2017-10-24 08:37:52 +13:00
2009-11-01 11:43:40 +13:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_GRIDMATRIX)
{
QFile file(":/grpGrid.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Grid Matrix"));
connect(m_optionWidget->findChild<QObject*>("radGridAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radGridSize"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radGridECC"), SIGNAL(clicked( bool )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbGridSize"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbGridECC"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
}
2009-04-27 10:04:51 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MAXICODE)
{
2009-05-27 11:07:16 +12:00
QFile file(":/grpMaxicode.ui");
2009-05-22 09:00:23 +12:00
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Maxicode"));
2009-05-27 11:07:16 +12:00
connect(m_optionWidget->findChild<QObject*>("cmbMaxiMode"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("cmbMaxiMode"), SIGNAL(currentIndexChanged( int )), SLOT(maxi_primary()));
connect(m_optionWidget->findChild<QObject*>("txtMaxiPrimary"), SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
2009-04-27 10:04:51 +12:00
}
2017-10-24 08:37:52 +13:00
2009-05-17 02:19:43 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CHANNEL)
{
2009-05-22 09:00:23 +12:00
QFile file(":/grpChannel.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Channel Code"));
2009-05-22 09:00:23 +12:00
connect(m_optionWidget->findChild<QObject*>("cmbChannel"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-05-17 02:19:43 +12:00
}
2017-10-24 08:37:52 +13:00
2009-07-05 21:29:48 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODEONE)
{
QFile file(":/grpCodeOne.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Code One"));
connect(m_optionWidget->findChild<QObject*>("cmbC1Size"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
2009-07-14 07:04:52 +12:00
connect(m_optionWidget->findChild<QObject*>("radC1GS1"), SIGNAL(toggled( bool )), SLOT(update_preview()));
2009-07-05 21:29:48 +12:00
}
2009-04-27 10:04:51 +12:00
2009-07-14 07:04:52 +12:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE49)
{
QFile file(":/grpC49.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Code 49"));
connect(m_optionWidget->findChild<QObject*>("radC49GS1"), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
2017-10-24 08:37:52 +13:00
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_RSS_EXPSTACK)
{
QFile file(":/grpDBExtend.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("GS1 DataBar Stacked"));
connect(m_optionWidget->findChild<QObject*>("cmbCols"), SIGNAL(currentIndexChanged ( int )), SLOT(update_preview()));
}
2009-04-27 10:04:51 +12:00
switch(metaObject()->enumerator(0).value(bstyle->currentIndex()))
{
case BARCODE_CODE128:
case BARCODE_EANX:
case BARCODE_UPCA:
case BARCODE_UPCE:
case BARCODE_RSS14:
case BARCODE_RSS_LTD:
case BARCODE_RSS_EXP:
case BARCODE_RSS14STACK:
case BARCODE_RSS14STACK_OMNI:
case BARCODE_RSS_EXPSTACK:
grpComposite->show();
2008-09-24 21:38:32 +12:00
break;
2009-04-27 10:04:51 +12:00
default:
chkComposite->setChecked(false);
grpComposite->hide();
2008-09-24 21:38:32 +12:00
break;
}
2009-05-22 09:00:23 +12:00
tabMain->setCurrentIndex(0);
2008-07-19 02:49:14 +12:00
}
2009-04-27 10:04:51 +12:00
void MainWindow::composite_enable()
{
2017-10-24 08:37:52 +13:00
if(chkComposite->isChecked() == true)
2009-05-22 09:00:23 +12:00
{
2009-04-27 10:04:51 +12:00
lblCompType->setEnabled(true);
cmbCompType->setEnabled(true);
lblComposite->setEnabled(true);
txtComposite->setEnabled(true);
2009-05-22 09:00:23 +12:00
if (metaObject()->enumerator(0).value(bstyle->currentIndex())==BARCODE_CODE128)
m_optionWidget->findChild<QRadioButton*>("radC128EAN")->setChecked(true);
}
else
{
2009-04-27 10:04:51 +12:00
lblCompType->setEnabled(false);
cmbCompType->setEnabled(false);
lblComposite->setEnabled(false);
txtComposite->setEnabled(false);
}
}
void MainWindow::composite_ean_check()
{
2009-05-22 09:00:23 +12:00
if (metaObject()->enumerator(0).value(bstyle->currentIndex())!=BARCODE_CODE128)
return;
if(!m_optionWidget->findChild<QRadioButton*>("radC128EAN")->isChecked())
2009-04-27 10:04:51 +12:00
chkComposite->setChecked(false);
}
void MainWindow::maxi_primary()
2008-10-08 03:28:32 +13:00
{
2009-05-27 11:07:16 +12:00
if (metaObject()->enumerator(0).value(bstyle->currentIndex())!=BARCODE_MAXICODE)
return;
if(m_optionWidget->findChild<QComboBox*>("cmbMaxiMode")->currentIndex() == 0) {
m_optionWidget->findChild<QLabel*>("lblMaxiPrimary")->setEnabled(true);
m_optionWidget->findChild<QLineEdit*>("txtMaxiPrimary")->setEnabled(true);
2009-04-27 10:04:51 +12:00
} else {
2009-05-27 11:07:16 +12:00
m_optionWidget->findChild<QLabel*>("lblMaxiPrimary")->setEnabled(false);
m_optionWidget->findChild<QLineEdit*>("txtMaxiPrimary")->setEnabled(false);
2009-04-27 10:04:51 +12:00
}
2008-10-08 03:28:32 +13:00
}
2009-04-27 10:04:51 +12:00
void MainWindow::update_preview()
2008-10-08 03:28:32 +13:00
{
2016-12-15 12:33:17 +13:00
int width = view->geometry().width();
int height = view->geometry().height();
2017-10-24 08:37:52 +13:00
2016-12-15 12:33:17 +13:00
//m_bc.ar=(Zint::QZint::AspectRatioMode)1;
2009-04-27 10:04:51 +12:00
if(chkComposite->isChecked() == true) {
m_bc.bc.setPrimaryMessage(txtData->text());
m_bc.bc.setText(txtComposite->toPlainText());
} else {
m_bc.bc.setText(txtData->text());
/*m_bc.bc.setPrimaryMessage(txtComposite->text());*/
}
m_bc.bc.setSecurityLevel(0);
m_bc.bc.setWidth(0);
m_bc.bc.setInputMode(UNICODE_MODE);
2016-12-12 04:29:06 +13:00
m_bc.bc.setHideText(0);
2009-11-03 23:52:34 +13:00
if(chkHRTHide->isChecked() == false) {
2016-12-12 04:29:06 +13:00
m_bc.bc.setHideText(1);
2009-11-03 23:52:34 +13:00
}
2009-04-27 10:04:51 +12:00
switch(metaObject()->enumerator(0).value(bstyle->currentIndex()))
{
case BARCODE_CODE128:
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC128Stand")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_CODE128);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC128CSup")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_CODE128B);
2009-05-22 09:00:23 +12:00
2017-10-24 08:37:52 +13:00
if(m_optionWidget->findChild<QRadioButton*>("radC128EAN")->isChecked())
2009-05-22 09:00:23 +12:00
{
2017-10-24 08:37:52 +13:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_EAN128_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_EAN128);
}
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC128HIBC")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_HIBC_128);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_EANX:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_EANX_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_EANX);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_UPCA:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_UPCA_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_UPCA);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_UPCE:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_UPCE_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_UPCE);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS14:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS_LTD:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_LTD_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_LTD);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS_EXP:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_EXP_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_EXP);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS14STACK:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14STACK_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14STACK);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS14STACK_OMNI:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14_OMNI_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS14STACK_OMNI);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_RSS_EXPSTACK:
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_EXPSTACK_CC);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_RSS_EXPSTACK);
2017-10-24 08:37:52 +13:00
if(m_optionWidget->findChild<QComboBox*>("cmbCols")->currentIndex() != 0)
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbCols")->currentIndex());
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_PDF417:
2009-05-22 09:00:23 +12:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbPDFCols")->currentIndex());
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbPDFECC")->currentIndex()-1);
m_bc.bc.setPdf417CodeWords(m_optionWidget->findChild<QSpinBox*>("codewords")->value());
if(m_optionWidget->findChild<QRadioButton*>("radPDFStand")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_PDF417);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radPDFTruncated")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_PDF417TRUNC);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radPDFHIBC")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_HIBC_PDF);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_MICROPDF417:
2009-05-22 09:00:23 +12:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMPDFCols")->currentIndex());
if(m_optionWidget->findChild<QRadioButton*>("radMPDFStand")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_MICROPDF417);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radMPDFHIBC")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_HIBC_MICPDF);
break;
2009-05-22 09:00:23 +12:00
2016-08-21 00:21:05 +12:00
case BARCODE_DOTCODE:
m_bc.bc.setSymbol(BARCODE_DOTCODE);
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbDotCols")->currentIndex());
if(m_optionWidget->findChild<QRadioButton*>("radDotGs1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
m_bc.bc.setDotSize(m_optionWidget->findChild<QLineEdit*>("txtDotSize")->text().toFloat());
2016-08-21 00:21:05 +12:00
break;
2009-04-27 10:04:51 +12:00
case BARCODE_AZTEC:
m_bc.bc.setSymbol(BARCODE_AZTEC);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radAztecSize")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbAztecSize")->currentIndex() + 1);
if(m_optionWidget->findChild<QRadioButton*>("radAztecECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbAztecECC")->currentIndex() + 1);
2009-11-03 23:52:34 +13:00
if(m_optionWidget->findChild<QRadioButton*>("radAztecGS1")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setInputMode(GS1_MODE);
2009-11-03 23:52:34 +13:00
if(m_optionWidget->findChild<QRadioButton*>("radAztecHIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_AZTEC);
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2016-04-08 04:13:43 +12:00
case BARCODE_MSI_PLESSEY:
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_MSI_PLESSEY);
2009-05-22 09:00:23 +12:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMSICheck")->currentIndex());
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_CODE39:
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_39);
else
2009-05-22 09:00:23 +12:00
{
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_CODE39);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC39Check")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setWidth(1);
}
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_EXCODE39:
m_bc.bc.setSymbol(BARCODE_EXCODE39);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC39Check")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setWidth(1);
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
break;
case BARCODE_CODE16K:
m_bc.bc.setSymbol(BARCODE_CODE16K);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC16kStand")->isChecked())
m_bc.bc.setInputMode(UNICODE_MODE);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setInputMode(GS1_MODE);
break;
2009-05-22 09:00:23 +12:00
case BARCODE_CODABLOCKF:
m_bc.bc.setSymbol(BARCODE_CODABLOCKF);
if(m_optionWidget->findChild<QRadioButton*>("radCbfSetWidth")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbCbfWidth")->currentIndex() + 6);
// Height selection uses option 1 in zint_symbol
if(m_optionWidget->findChild<QRadioButton*>("radCbfSetHeight")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbCbfHeight")->currentIndex() + 1);
break;
2017-10-24 08:37:52 +13:00
2009-04-27 10:04:51 +12:00
case BARCODE_DATAMATRIX:
m_bc.bc.setSecurityLevel(1);
if(m_optionWidget->findChild<QRadioButton*>("radDM200HIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_DM);
else
m_bc.bc.setSymbol(BARCODE_DATAMATRIX);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radDM200GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
2009-05-22 09:00:23 +12:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbDM200Size")->currentIndex());
if (m_optionWidget->findChild<QComboBox*>("cmbDM200Size")->currentIndex() == 0) {
// Supressing rectangles or allowing DMRE only makes sense if in automatic size mode
findChild<QCheckBox*>("chkDMRectangle")->setEnabled(true);
findChild<QCheckBox*>("chkDMRE")->setEnabled(true);
if(m_optionWidget->findChild<QCheckBox*>("chkDMRectangle")->isChecked())
m_bc.bc.setOption3(DM_SQUARE);
else {
if(m_optionWidget->findChild<QCheckBox*>("chkDMRE")->isChecked())
m_bc.bc.setOption3(DM_DMRE);
else
m_bc.bc.setOption3(0);
}
} else {
findChild<QCheckBox*>("chkDMRectangle")->setEnabled(false);
findChild<QCheckBox*>("chkDMRE")->setEnabled(false);
m_bc.bc.setOption3(0);
}
2009-04-27 10:04:51 +12:00
break;
2017-10-24 08:37:52 +13:00
2009-04-27 10:04:51 +12:00
case BARCODE_QRCODE:
if(m_optionWidget->findChild<QRadioButton*>("radQRHIBC")->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_HIBC_QR);
2009-05-22 09:00:23 +12:00
else
2009-04-27 10:04:51 +12:00
m_bc.bc.setSymbol(BARCODE_QRCODE);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radQRGS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
2017-10-24 08:37:52 +13:00
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radQRSize")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbQRSize")->currentIndex() + 1);
if(m_optionWidget->findChild<QRadioButton*>("radQRECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbQRECC")->currentIndex() + 1);
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_MICROQR:
m_bc.bc.setSymbol(BARCODE_MICROQR);
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radMQRSize")->isChecked())
2009-11-01 11:43:40 +13:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMQRSize")->currentIndex());
2009-05-22 09:00:23 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radMQRECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbMQRECC")->currentIndex() + 1);
2009-04-27 10:04:51 +12:00
break;
2017-10-24 08:37:52 +13:00
2009-11-01 11:43:40 +13:00
case BARCODE_GRIDMATRIX:
m_bc.bc.setSymbol(BARCODE_GRIDMATRIX);
if(m_optionWidget->findChild<QRadioButton*>("radGridSize")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbGridSize")->currentIndex() + 1);
if(m_optionWidget->findChild<QRadioButton*>("radGridECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbGridECC")->currentIndex() + 1);
break;
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
case BARCODE_MAXICODE:
m_bc.bc.setSymbol(BARCODE_MAXICODE);
2009-05-27 11:07:16 +12:00
if(m_optionWidget->findChild<QComboBox*>("cmbMaxiMode")->currentIndex() == 0)
2009-05-22 09:00:23 +12:00
{
2009-04-27 10:04:51 +12:00
m_bc.bc.setSecurityLevel(2);
2009-05-27 11:07:16 +12:00
m_bc.bc.setPrimaryMessage(m_optionWidget->findChild<QLineEdit*>("txtMaxiPrimary")->text());
2009-04-27 10:04:51 +12:00
}
2009-05-22 09:00:23 +12:00
else
2009-05-27 11:07:16 +12:00
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbMaxiMode")->currentIndex() + 3);
2009-04-27 10:04:51 +12:00
break;
2009-05-22 09:00:23 +12:00
2009-05-17 02:19:43 +12:00
case BARCODE_CHANNEL:
m_bc.bc.setSymbol(BARCODE_CHANNEL);
2017-10-24 08:37:52 +13:00
if(m_optionWidget->findChild<QComboBox*>("cmbChannel")->currentIndex() == 0)
2009-05-17 02:19:43 +12:00
m_bc.bc.setWidth(0);
2009-05-22 09:00:23 +12:00
else
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbChannel")->currentIndex() + 2);
2009-05-17 02:19:43 +12:00
break;
2017-10-24 08:37:52 +13:00
2009-07-05 21:29:48 +12:00
case BARCODE_CODEONE:
m_bc.bc.setSymbol(BARCODE_CODEONE);
2009-07-14 07:04:52 +12:00
if(m_optionWidget->findChild<QRadioButton*>("radC1GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
2009-07-05 21:29:48 +12:00
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbC1Size")->currentIndex());
break;
2017-10-24 08:37:52 +13:00
2009-07-14 07:04:52 +12:00
case BARCODE_CODE49:
m_bc.bc.setSymbol(BARCODE_CODE49);
if(m_optionWidget->findChild<QRadioButton*>("radC49GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
break;
2017-10-24 08:37:52 +13:00
2016-04-08 04:13:43 +12:00
case BARCODE_HANXIN:
m_bc.bc.setSymbol(BARCODE_HANXIN);
if(m_optionWidget->findChild<QRadioButton*>("radHXSize")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbHXSize")->currentIndex() + 1);
if(m_optionWidget->findChild<QRadioButton*>("radHXECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbHXECC")->currentIndex() + 1);
2016-04-08 04:13:43 +12:00
break;
2017-10-24 08:37:52 +13:00
2009-04-27 10:04:51 +12:00
default:
m_bc.bc.setSymbol(metaObject()->enumerator(0).value(bstyle->currentIndex()));
break;
}
2009-05-22 09:00:23 +12:00
if(chkComposite->isChecked())
2009-04-27 10:04:51 +12:00
m_bc.bc.setSecurityLevel(cmbCompType->currentIndex());
2009-05-22 09:00:23 +12:00
2009-04-27 10:04:51 +12:00
m_bc.bc.setBorderType((Zint::QZint::BorderType)(btype->currentIndex()*2));
m_bc.bc.setBorderWidth(bwidth->value());
m_bc.bc.setHeight(heightb->value());
m_bc.bc.setWhitespace(spnWhitespace->value());
2009-04-27 10:04:51 +12:00
m_bc.bc.setFgColor(m_fgcolor);
m_bc.bc.setBgColor(m_bgcolor);
2016-12-15 12:33:17 +13:00
m_bc.setSize(width - 10, height - 10);
2009-04-27 10:04:51 +12:00
m_bc.update();
2016-12-15 12:33:17 +13:00
scene->setSceneRect(0, 0, width - 10, height - 10);
scene->update();
2008-10-08 03:28:32 +13:00
}
2017-10-24 08:37:52 +13:00