Update to Qt5

This commit is contained in:
Robin Stuart 2016-12-11 15:29:06 +00:00
parent ca88e089ea
commit 0f9a326398
55 changed files with 58 additions and 56 deletions

View file

@ -0,0 +1,25 @@
# (c) 2008 by BogDan Vatra < bogdan@licentia.eu >
project(zint-qt)
include_directories(BEFORE "${CMAKE_SOURCE_DIR}/backend" "${CMAKE_SOURCE_DIR}/backend_qt")
set(zint-qt_SRCS barcodeitem.cpp main.cpp mainwindow.cpp datawindow.cpp sequencewindow.cpp exportwindow.cpp)
QT5_WRAP_CPP(zint-qt_SRCS mainwindow.h datawindow.h sequencewindow.h exportwindow.h)
QT5_WRAP_UI(zint-qt_SRCS mainWindow.ui extData.ui extSequence.ui extExport.ui)
# grpAztec.ui grpC39.ui grpDM.ui grpMSICheck.ui
# grpC128.ui grpChannel.ui grpMicroPDF.ui grpPDF417.ui
# grpC16k.ui grpCodablock.ui grpMQR.ui grpQR.ui
# grpMaxicode.ui)
QT5_ADD_RESOURCES(zint-qt_SRCS resources.qrc)
add_executable(zint-qt ${zint-qt_SRCS})
add_dependencies(zint-qt QZint zint)
link_directories( "${CMAKE_BINARY_DIR}/backend" "${CMAKE_BINARY_DIR}/backend_qt" )
target_link_libraries(zint-qt zint QZint Qt5::UiTools ${QT_QTXML_LIBRARY} Qt5::Gui Qt5::Core )
install(TARGETS zint-qt DESTINATION "${BIN_INSTALL_DIR}" RUNTIME)

View file

@ -0,0 +1,42 @@
/***************************************************************************
* Copyright (C) 2008 by BogDan Vatra *
* bogdan@licentia.eu *
* *
* 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 *
* the Free Software Foundation, either version 3 of the License, or *
* (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/>. *
***************************************************************************/
#include <QDebug>
#include "barcodeitem.h"
BarcodeItem::BarcodeItem()
: QGraphicsItem()
{
w=550;
h=230;
}
BarcodeItem::~BarcodeItem()
{
}
QRectF BarcodeItem::boundingRect() const
{
return QRectF(0, 0, w, h);
}
void BarcodeItem::paint(QPainter * painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
{
bc.render(*painter,boundingRect(),ar);
}

41
frontend_qt/barcodeitem.h Normal file
View file

@ -0,0 +1,41 @@
/***************************************************************************
* Copyright (C) 2008 by BogDan Vatra *
* bogdan@licentia.eu *
* *
* 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 *
* the Free Software Foundation, either version 3 of the License, or *
* (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/>. *
***************************************************************************/
#ifndef BARCODEITEM_H
#define BARCODEITEM_H
#include <QGraphicsItem>
#include <qzint.h>
/**
@author BogDan Vatra <taipan@licentia.eu>
*/
class BarcodeItem : public QGraphicsItem
{
public:
BarcodeItem();
~BarcodeItem();
QRectF boundingRect() const;
void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0);
public:
mutable Zint::QZint bc;
int w,h;
Zint::QZint::AspectRatioMode ar;
};
#endif

103
frontend_qt/datawindow.cpp Normal file
View file

@ -0,0 +1,103 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <QDebug>
#include <QFileDialog>
#include <QUiLoader>
#include <QStringList>
#include <QMessageBox>
#include "datawindow.h"
#include <stdio.h>
DataWindow::DataWindow()
{
setupUi(this);
connect(btnCancel, SIGNAL( clicked( bool )), SLOT(quit_now()));
connect(btnReset, SIGNAL( clicked( bool )), SLOT(clear_data()));
connect(btnOK, SIGNAL( clicked( bool )), SLOT(okay()));
}
DataWindow::DataWindow(QString input)
{
setupUi(this);
txtDataInput->setPlainText(input);
txtDataInput->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);
connect(btnCancel, SIGNAL( clicked( bool )), SLOT(quit_now()));
connect(btnReset, SIGNAL( clicked( bool )), SLOT(clear_data()));
connect(btnOK, SIGNAL( clicked( bool )), SLOT(okay()));
connect(btnFromFile, SIGNAL( clicked( bool )), SLOT(from_file()));
}
DataWindow::~DataWindow()
{
}
void DataWindow::quit_now()
{
Valid = 0;
close();
}
void DataWindow::clear_data()
{
txtDataInput->clear();
}
void DataWindow::okay()
{
Valid = 1;
DataOutput = txtDataInput->toPlainText();
close();
}
void DataWindow::from_file()
{
//QString fileName;
//QFileDialog fdialog;
QFile file;
//fdialog.setFileMode(QFileDialog::ExistingFile);
//
//if(fdialog.exec()) {
// fileName = fdialog.selectedFiles().at(0);
//} else {
// return;
//}
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open File"),
"./",
tr("All Files (*);;Text Files (*.txt)"));
if (fileName.isEmpty())
return;
file.setFileName(fileName);
if(!file.open(QIODevice::ReadOnly)) {
QMessageBox::critical(this, tr("Open Error"), tr("Could not open selected file."));
return;
}
QByteArray outstream = file.readAll();
txtDataInput->setPlainText(QString(outstream));
file.close();
}

43
frontend_qt/datawindow.h Normal file
View file

@ -0,0 +1,43 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef DATAWINDOW_H
#define DATAWINDOW_H
#include "ui_extData.h"
class DataWindow : public QDialog, private Ui::DataDialog
{
Q_OBJECT
public:
DataWindow();
DataWindow(QString input);
~DataWindow();
int Valid;
QString DataOutput;
private slots:
void quit_now();
void clear_data();
void okay();
void from_file();
};
#endif

View file

@ -0,0 +1,149 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <QDebug>
#include <QUiLoader>
#include <QFileDialog>
#include <QMessageBox>
#include "exportwindow.h"
#include <stdio.h>
ExportWindow::ExportWindow()
{
setupUi(this);
linDestPath->setText(QDir::toNativeSeparators(QDir::homePath()));
connect(btnCancel, SIGNAL( clicked( bool )), SLOT(quit_now()));
connect(btnOK, SIGNAL( clicked( bool )), SLOT(process()));
connect(btnDestPath, SIGNAL( clicked( bool )), SLOT(get_directory()));
}
ExportWindow::~ExportWindow()
{
}
void ExportWindow::quit_now()
{
close();
}
void ExportWindow::get_directory()
{
QString directory;
QFileDialog fdialog;
fdialog.setFileMode(QFileDialog::Directory);
if(fdialog.exec()) {
directory = fdialog.selectedFiles().at(0);
} else {
return;
}
linDestPath->setText(QDir::toNativeSeparators(directory));
}
void ExportWindow::process()
{
QString fileName;
QString dataString;
QString suffix;
int lines, i, j, inputpos, datalen;
lines = output_data.count(QChar('\n'), Qt::CaseInsensitive);
inputpos = 0;
switch(cmbFileFormat->currentIndex()) {
#ifdef NO_PNG
case 0: suffix = ".eps"; break;
case 1: suffix = ".gif"; break;
case 2: suffix = ".svg"; break;
case 3: suffix = ".bmp"; break;
case 4: suffix = ".pcx"; break;
#else
case 0: suffix = ".png"; break;
case 1: suffix = ".eps"; break;
case 2: suffix = ".gif"; break;
case 3: suffix = ".svg"; break;
case 4: suffix = ".bmp"; break;
case 5: suffix = ".pcx"; break;
#endif
}
for(i = 0; i < lines; i++) {
datalen = 0;
for(j = inputpos; ((output_data[j] != '\n') && (j < output_data.length())); j++) {
datalen++;
}
dataString = output_data.mid(inputpos, datalen);
switch(cmbFileName->currentIndex()) {
case 0: { /* Same as Data (URL Escaped) */
QString url_escaped;
int m;
char name_char;
QChar name_qchar;
for(m = 0; m < dataString.length(); m++) {
name_qchar = dataString[m];
name_char = name_qchar.toLatin1();
switch(name_char) {
case '\\': url_escaped += "%5C"; break;
case '/': url_escaped += "%2F"; break;
case ':': url_escaped += "%3A"; break;
case '*': url_escaped += "%2A"; break;
case '?': url_escaped += "%3F"; break;
case '"': url_escaped += "%22"; break;
case '<': url_escaped += "%3C"; break;
case '>': url_escaped += "%3E"; break;
case '|': url_escaped += "%7C"; break;
case '%': url_escaped += "%25"; break;
default: url_escaped += name_qchar; break;
}
}
fileName = linDestPath->text() + QDir::separator() + linPrefix->text() + url_escaped + suffix;
}
break;
case 1: { /* Formatted Serial Number */
QString biggest, this_val, outnumber;
int number_size, val_size, m;
biggest = QString::number(lines + 1);
number_size = biggest.length();
this_val = QString::number(i + 1);
val_size = this_val.length();
for(m = 0; m < (number_size - val_size); m++) {
outnumber += QChar('0');
}
outnumber += this_val;
fileName = linDestPath->text() + QDir::separator() + linPrefix->text() + outnumber + suffix;
}
break;
}
barcode->bc.setText(dataString.toLatin1().data());
barcode->bc.save_to_file(fileName.toLatin1().data());
inputpos += datalen + 1;
}
close();
}

View file

@ -0,0 +1,42 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef EXPORTWINDOW_H
#define EXPORTWINDOW_H
#include "ui_extExport.h"
#include "barcodeitem.h"
class ExportWindow : public QDialog, private Ui::ExportDialog
{
Q_OBJECT
public:
ExportWindow();
~ExportWindow();
BarcodeItem *barcode;
QString output_data;
private slots:
void quit_now();
void process();
void get_directory();
};
#endif

98
frontend_qt/extData.ui Normal file
View file

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DataDialog</class>
<widget class="QDialog" name="DataDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Input Data</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
<widget class="QPlainTextEdit" name="txtDataInput">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>381</width>
<height>221</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>250</y>
<width>381</width>
<height>41</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnFromFile">
<property name="text">
<string>From File...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnReset">
<property name="text">
<string>Reset</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnOK">
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnCancel">
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>10</x>
<y>0</y>
<width>56</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Data</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

193
frontend_qt/extExport.ui Normal file
View file

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ExportDialog</class>
<widget class="QDialog" name="ExportDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>450</width>
<height>170</height>
</rect>
</property>
<property name="windowTitle">
<string>Export Barcodes</string>
</property>
<widget class="QLineEdit" name="linDestPath">
<property name="geometry">
<rect>
<x>140</x>
<y>10</y>
<width>261</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="linPrefix">
<property name="geometry">
<rect>
<x>140</x>
<y>40</y>
<width>301</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>bcs_</string>
</property>
</widget>
<widget class="QComboBox" name="cmbFileName">
<property name="geometry">
<rect>
<x>140</x>
<y>70</y>
<width>301</width>
<height>22</height>
</rect>
</property>
<item>
<property name="text">
<string>Same as Data</string>
</property>
</item>
<item>
<property name="text">
<string>Serial Number</string>
</property>
</item>
</widget>
<widget class="QComboBox" name="cmbFileFormat">
<property name="geometry">
<rect>
<x>140</x>
<y>100</y>
<width>301</width>
<height>22</height>
</rect>
</property>
<item>
<property name="text">
<string>Portable Network Graphic (*.png)</string>
</property>
</item>
<item>
<property name="text">
<string>Encapsulated Post Script (*.eps)</string>
</property>
</item>
<item>
<property name="text">
<string>Graphics Interchange Format (*.gif)</string>
</property>
</item>
<item>
<property name="text">
<string>Scalable Vector Graphic (*.svg)</string>
</property>
</item>
<item>
<property name="text">
<string>Windows Bitmap (*.bmp)</string>
</property>
</item>
<item>
<property name="text">
<string>ZSoft PC Painter Image (*.pcx)</string>
</property>
</item>
</widget>
<widget class="QToolButton" name="btnDestPath">
<property name="geometry">
<rect>
<x>410</x>
<y>10</y>
<width>30</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>121</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Destination Path:</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File Name Prefix:</string>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File Name:</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>10</x>
<y>100</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File Format:</string>
</property>
</widget>
<widget class="QPushButton" name="btnCancel">
<property name="geometry">
<rect>
<x>360</x>
<y>130</y>
<width>80</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
<widget class="QPushButton" name="btnOK">
<property name="geometry">
<rect>
<x>270</x>
<y>130</y>
<width>80</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

272
frontend_qt/extSequence.ui Normal file
View file

@ -0,0 +1,272 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SequenceDialog</class>
<widget class="QDialog" name="SequenceDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>530</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Sequence Export</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>261</width>
<height>241</height>
</rect>
</property>
<property name="title">
<string>Create Sequence</string>
</property>
<widget class="QPushButton" name="btnExport">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>140</x>
<y>200</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Export...</string>
</property>
</widget>
<widget class="QPushButton" name="btnCreate">
<property name="geometry">
<rect>
<x>140</x>
<y>140</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Create</string>
</property>
</widget>
<widget class="QLineEdit" name="linStartVal">
<property name="geometry">
<rect>
<x>140</x>
<y>20</y>
<width>111</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>1</string>
</property>
<property name="frame">
<bool>true</bool>
</property>
</widget>
<widget class="QLineEdit" name="linFormat">
<property name="geometry">
<rect>
<x>140</x>
<y>110</y>
<width>111</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>$$$$$$</string>
</property>
</widget>
<widget class="QLineEdit" name="linEndVal">
<property name="geometry">
<rect>
<x>140</x>
<y>50</y>
<width>111</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>10</string>
</property>
</widget>
<widget class="QPushButton" name="btnImport">
<property name="geometry">
<rect>
<x>140</x>
<y>170</y>
<width>111</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Import...</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>151</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Start Value:</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>10</x>
<y>50</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>End Value:</string>
</property>
</widget>
<widget class="QLabel" name="lblIncrement">
<property name="geometry">
<rect>
<x>10</x>
<y>80</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Increment By:</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>10</x>
<y>110</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Format:</string>
</property>
</widget>
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>10</x>
<y>140</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Sequence:</string>
</property>
</widget>
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>10</x>
<y>170</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Sequence File:</string>
</property>
</widget>
<widget class="QLabel" name="label_7">
<property name="geometry">
<rect>
<x>10</x>
<y>200</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Generate Bar Codes:</string>
</property>
</widget>
<widget class="QLineEdit" name="linIncVal">
<property name="geometry">
<rect>
<x>140</x>
<y>80</y>
<width>113</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>1</string>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>280</x>
<y>10</y>
<width>241</width>
<height>241</height>
</rect>
</property>
<property name="title">
<string>Sequence Preview</string>
</property>
<widget class="QPlainTextEdit" name="txtPreview">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>221</width>
<height>171</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="btnReset">
<property name="geometry">
<rect>
<x>150</x>
<y>200</y>
<width>80</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Reset</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="btnClose">
<property name="geometry">
<rect>
<x>440</x>
<y>260</y>
<width>80</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -0,0 +1,66 @@
TEMPLATE = app
TARGET = qtZint
DEPENDPATH += . debug release
INCLUDEPATH += .
QT += gui
QT += uitools
# Input
HEADERS += barcodeitem.h \
datawindow.h \
exportwindow.h \
mainwindow.h \
sequencewindow.h
FORMS += extData.ui \
extExport.ui \
extSequence.ui \
grpAztec.ui \
grpC128.ui \
grpC16k.ui \
grpC39.ui \
grpC49.ui \
grpChannel.ui \
grpCodeOne.ui \
grpCodablockF.ui \
grpDBExtend.ui \
grpDM.ui \
grpGrid.ui \
grpMaxicode.ui \
grpMicroPDF.ui \
grpMQR.ui \
grpMSICheck.ui \
grpPDF417.ui \
grpQR.ui \
grpHX.ui \
mainWindow.ui \
grpDotCode.ui
SOURCES += barcodeitem.cpp \
datawindow.cpp \
exportwindow.cpp \
main.cpp \
mainwindow.cpp \
sequencewindow.cpp
TRANSLATIONS = frontend_de.ts
RESOURCES += resources.qrc
# Static target following http://qt-project.org/wiki/Build_Standalone_Qt_Application_for_Windows
CONFIG += static
CONFIG += warn_on thread qt uitools
INCLUDEPATH += ../backend_qt4 ../backend
LIBS += -lQZint -lQtCore
QMAKE_LIBDIR += ../backend_qt4/release
!contains(DEFINES, NO_PNG) {
LIBS += -lpng -zlib
QMAKE_LIBDIR += /usr/local/lib /usr/lib/x86_64-linux-gnu/
# QMAKE_LIBDIR+=../../lpng\projects\visualc71_converted_to_9\Win32_LIB_Release ../../lpng\projects\visualc71_converted_to_9\Win32_LIB_Release\zlib
# LIBS += -llibpng16 -lzlib1
# QMAKE_LIBDIR+=../../lpng\projects\visualc71_converted_to_9\Win32_DLL_Release ../../lpng\projects\visualc71_converted_to_9\Win32_DLL_Release\zlib
}

View file

@ -0,0 +1,40 @@
TEMPLATE = vcapp
TARGET = qtZint
CONFIG += warn_on \
thread \
qt \
uitools
FORMS = mainWindow.ui \
extSequence.ui \
extExport.ui \
extData.ui
HEADERS = mainwindow.h \
barcodeitem.h \
datawindow.h \
exportwindow.h \
sequencewindow.h
SOURCES = main.cpp \
mainwindow.cpp \
barcodeitem.cpp \
datawindow.cpp \
exportwindow.cpp \
sequencewindow.cpp
RESOURCES = resources.qrc
INCLUDEPATH += ../backend_qt4 ../backend
CONFIG(debug, debug|release) {
LIBPATH += ../backend_qt4/debug
}
CONFIG(release, debug|release) {
LIBPATH += ../backend_qt4/release
}
RC_FILE = ./res/qtZint.rc
LIBS = QtZint2.lib

339
frontend_qt/grpAztec.ui Normal file
View file

@ -0,0 +1,339 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpAztec</class>
<widget class="QWidget" name="grpAztec">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>461</width>
<height>237</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radAztecAuto">
<property name="text">
<string>A&amp;utomatic Resizing</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radAztecSize">
<property name="text">
<string>Adjust Si&amp;ze To:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="cmbAztecSize">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>15 x 15 Compact</string>
</property>
</item>
<item>
<property name="text">
<string>19 x 19 Compact</string>
</property>
</item>
<item>
<property name="text">
<string>23 x 23 Compact</string>
</property>
</item>
<item>
<property name="text">
<string>27 x 27 Compact</string>
</property>
</item>
<item>
<property name="text">
<string>19 x 19</string>
</property>
</item>
<item>
<property name="text">
<string>23 x 23</string>
</property>
</item>
<item>
<property name="text">
<string>27 x 27</string>
</property>
</item>
<item>
<property name="text">
<string>31 x 31</string>
</property>
</item>
<item>
<property name="text">
<string>37 x 37</string>
</property>
</item>
<item>
<property name="text">
<string>41 x 41</string>
</property>
</item>
<item>
<property name="text">
<string>45 x 45</string>
</property>
</item>
<item>
<property name="text">
<string>49 x 49</string>
</property>
</item>
<item>
<property name="text">
<string>53 x 53</string>
</property>
</item>
<item>
<property name="text">
<string>57 x 57</string>
</property>
</item>
<item>
<property name="text">
<string>61 x 61</string>
</property>
</item>
<item>
<property name="text">
<string>67 x 67</string>
</property>
</item>
<item>
<property name="text">
<string>71 x 71</string>
</property>
</item>
<item>
<property name="text">
<string>75 x 75</string>
</property>
</item>
<item>
<property name="text">
<string>79 x 79</string>
</property>
</item>
<item>
<property name="text">
<string>83 x 83</string>
</property>
</item>
<item>
<property name="text">
<string>87 x 87</string>
</property>
</item>
<item>
<property name="text">
<string>91 x 91</string>
</property>
</item>
<item>
<property name="text">
<string>95 x 95</string>
</property>
</item>
<item>
<property name="text">
<string>101 x 101</string>
</property>
</item>
<item>
<property name="text">
<string>105 x 105</string>
</property>
</item>
<item>
<property name="text">
<string>109 x 109</string>
</property>
</item>
<item>
<property name="text">
<string>113 x 113</string>
</property>
</item>
<item>
<property name="text">
<string>117 x 117</string>
</property>
</item>
<item>
<property name="text">
<string>121 x 121</string>
</property>
</item>
<item>
<property name="text">
<string>125 x 125</string>
</property>
</item>
<item>
<property name="text">
<string>131 x 131</string>
</property>
</item>
<item>
<property name="text">
<string>135 x 135</string>
</property>
</item>
<item>
<property name="text">
<string>139 x 139</string>
</property>
</item>
<item>
<property name="text">
<string>143 x 143</string>
</property>
</item>
<item>
<property name="text">
<string>147 x 147</string>
</property>
</item>
<item>
<property name="text">
<string>151 x 151</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radAztecECC">
<property name="text">
<string>Add Minimum &amp;Error Correction:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="cmbAztecECC">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>10% + 3 words</string>
</property>
</item>
<item>
<property name="text">
<string>23% + 3 words</string>
</property>
</item>
<item>
<property name="text">
<string>36% + 3 words</string>
</property>
</item>
<item>
<property name="text">
<string>50% + 3 words</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Encoding Mode</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>30</x>
<y>30</y>
<width>453</width>
<height>71</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<widget class="QRadioButton" name="radAztecHIBC">
<property name="text">
<string>HIBC Aztec Code</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="radAztecGS1">
<property name="text">
<string>GS1 Data Mode</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radAztecStand">
<property name="text">
<string>Standard Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>radAztecSize</sender>
<signal>toggled(bool)</signal>
<receiver>cmbAztecSize</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>85</x>
<y>47</y>
</hint>
<hint type="destinationlabel">
<x>331</x>
<y>47</y>
</hint>
</hints>
</connection>
<connection>
<sender>radAztecECC</sender>
<signal>toggled(bool)</signal>
<receiver>cmbAztecECC</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>200</x>
<y>80</y>
</hint>
<hint type="destinationlabel">
<x>366</x>
<y>80</y>
</hint>
</hints>
</connection>
</connections>
</ui>

81
frontend_qt/grpC128.ui Normal file
View file

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpC128</class>
<widget class="QWidget" name="grpC128">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>317</width>
<height>156</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radC128Stand">
<property name="text">
<string>S&amp;tandard</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="radC128CSup">
<property name="text">
<string>Subset &amp;C Supression</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC128EAN">
<property name="text">
<string>&amp;GS1-128</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="radC128HIBC">
<property name="text">
<string>&amp;HIBC 128</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lblC128">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Note: Composite symbols require a&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GS1-128 linear component.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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>43</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

55
frontend_qt/grpC16k.ui Normal file
View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpC16k</class>
<widget class="QWidget" name="grpC16k">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>186</width>
<height>123</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radC16kStand">
<property name="text">
<string>S&amp;tandard Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC16kGS1">
<property name="text">
<string>&amp;GS-1 Data Mode</string>
</property>
</widget>
</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/>
<connections/>
</ui>

62
frontend_qt/grpC39.ui Normal file
View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpC39</class>
<widget class="QWidget" name="grpC39">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>254</width>
<height>131</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radC39Stand">
<property name="text">
<string>&amp;No Check Digit</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC39HIBC">
<property name="text">
<string>&amp;HIBC 39</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>
</widget>
</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/>
<connections/>
</ui>

55
frontend_qt/grpC49.ui Normal file
View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpC16k</class>
<widget class="QWidget" name="grpC16k">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>186</width>
<height>123</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radC49Stand">
<property name="text">
<string>S&amp;tandard Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC49GS1">
<property name="text">
<string>&amp;GS-1 Data Mode</string>
</property>
</widget>
</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/>
<connections/>
</ui>

89
frontend_qt/grpChannel.ui Normal file
View file

@ -0,0 +1,89 @@
<ui version="4.0" >
<class>grpChannel</class>
<widget class="QWidget" name="grpChannel" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>310</width>
<height>78</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="lblChannel" >
<property name="text" >
<string>&amp;Number of Channels:</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<cstring>cmbChannel</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbChannel" >
<item>
<property name="text" >
<string>Automatic</string>
</property>
</item>
<item>
<property name="text" >
<string>3</string>
</property>
</item>
<item>
<property name="text" >
<string>4</string>
</property>
</item>
<item>
<property name="text" >
<string>5</string>
</property>
</item>
<item>
<property name="text" >
<string>6</string>
</property>
</item>
<item>
<property name="text" >
<string>7</string>
</property>
</item>
<item>
<property name="text" >
<string>8</string>
</property>
</item>
</widget>
</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/>
<connections/>
</ui>

View file

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpCodablockF</class>
<widget class="QWidget" name="grpCodablockF">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>763</width>
<height>376</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QRadioButton" name="radCbfSetHeight">
<property name="text">
<string>Set Symbol Height (Rows)</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radCbfSetWidth">
<property name="text">
<string>Set Symbol Width (Columns)</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="cmbCbfWidth">
<item>
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text">
<string>8</string>
</property>
</item>
<item>
<property name="text">
<string>9</string>
</property>
</item>
<item>
<property name="text">
<string>10</string>
</property>
</item>
<item>
<property name="text">
<string>11</string>
</property>
</item>
<item>
<property name="text">
<string>12</string>
</property>
</item>
<item>
<property name="text">
<string>13</string>
</property>
</item>
<item>
<property name="text">
<string>14</string>
</property>
</item>
<item>
<property name="text">
<string>15</string>
</property>
</item>
<item>
<property name="text">
<string>16</string>
</property>
</item>
<item>
<property name="text">
<string>17</string>
</property>
</item>
<item>
<property name="text">
<string>18</string>
</property>
</item>
<item>
<property name="text">
<string>19</string>
</property>
</item>
<item>
<property name="text">
<string>20</string>
</property>
</item>
<item>
<property name="text">
<string>21</string>
</property>
</item>
<item>
<property name="text">
<string>22</string>
</property>
</item>
<item>
<property name="text">
<string>23</string>
</property>
</item>
<item>
<property name="text">
<string>24</string>
</property>
</item>
<item>
<property name="text">
<string>25</string>
</property>
</item>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="cmbCbfHeight">
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text">
<string>8</string>
</property>
</item>
<item>
<property name="text">
<string>9</string>
</property>
</item>
<item>
<property name="text">
<string>10</string>
</property>
</item>
<item>
<property name="text">
<string>11</string>
</property>
</item>
<item>
<property name="text">
<string>12</string>
</property>
</item>
<item>
<property name="text">
<string>13</string>
</property>
</item>
<item>
<property name="text">
<string>14</string>
</property>
</item>
<item>
<property name="text">
<string>15</string>
</property>
</item>
<item>
<property name="text">
<string>16</string>
</property>
</item>
<item>
<property name="text">
<string>17</string>
</property>
</item>
<item>
<property name="text">
<string>18</string>
</property>
</item>
<item>
<property name="text">
<string>19</string>
</property>
</item>
<item>
<property name="text">
<string>20</string>
</property>
</item>
<item>
<property name="text">
<string>21</string>
</property>
</item>
<item>
<property name="text">
<string>22</string>
</property>
</item>
<item>
<property name="text">
<string>23</string>
</property>
</item>
<item>
<property name="text">
<string>24</string>
</property>
</item>
<item>
<property name="text">
<string>25</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QRadioButton" name="radCbfAutosize">
<property name="text">
<string>Automatic Size</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</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/>
<connections/>
</ui>

127
frontend_qt/grpCodeOne.ui Normal file
View file

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpChannel</class>
<widget class="QWidget" name="grpChannel">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>310</width>
<height>124</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="lblChannel">
<property name="text">
<string>S&amp;ymbol Size:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>cmbC1Size</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="cmbC1Size">
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>16 x 18 (Version A)</string>
</property>
</item>
<item>
<property name="text">
<string>22 x 22 (Version B)</string>
</property>
</item>
<item>
<property name="text">
<string>28 x 32 (Version C)</string>
</property>
</item>
<item>
<property name="text">
<string>40 x 42 (Version D)</string>
</property>
</item>
<item>
<property name="text">
<string>52 x 54 (Version E)</string>
</property>
</item>
<item>
<property name="text">
<string>70 x 76 (Version F)</string>
</property>
</item>
<item>
<property name="text">
<string>104 x 98 (Version G)</string>
</property>
</item>
<item>
<property name="text">
<string>148 x 134 (Version H)</string>
</property>
</item>
<item>
<property name="text">
<string>8X height (Version S)</string>
</property>
</item>
<item>
<property name="text">
<string>16X height (Version T)</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radC1Stand">
<property name="text">
<string>S&amp;tandard Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radC1GS1">
<property name="text">
<string>&amp;GS-1 Data Mode</string>
</property>
</widget>
</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/>
<connections/>
</ui>

105
frontend_qt/grpDBExtend.ui Normal file
View file

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpDBExtend</class>
<widget class="QWidget" name="grpDBExtend">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>310</width>
<height>78</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="lblColumns">
<property name="text">
<string>&amp;Number of Columns:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>cmbCols</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbCols">
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text">
<string>8</string>
</property>
</item>
<item>
<property name="text">
<string>9</string>
</property>
</item>
</widget>
</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/>
<connections/>
</ui>

311
frontend_qt/grpDM.ui Normal file
View file

@ -0,0 +1,311 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpDM</class>
<widget class="QWidget" name="grpDM">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>463</width>
<height>339</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QRadioButton" name="radDM200Stand">
<property name="text">
<string>S&amp;tandard</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QRadioButton" name="radDM200HIBC">
<property name="text">
<string>&amp;HIBC Data Matrix</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radDM200GS1">
<property name="text">
<string>&amp;GS-1 Data Mode</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lblDM200Size">
<property name="text">
<string>Si&amp;ze:</string>
</property>
<property name="buddy">
<cstring>cmbDM200Size</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="cmbDM200Size">
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>10 x 10</string>
</property>
</item>
<item>
<property name="text">
<string>12 x 12</string>
</property>
</item>
<item>
<property name="text">
<string>14 x 14</string>
</property>
</item>
<item>
<property name="text">
<string>16 x 16</string>
</property>
</item>
<item>
<property name="text">
<string>18 x 18</string>
</property>
</item>
<item>
<property name="text">
<string>20 x 20</string>
</property>
</item>
<item>
<property name="text">
<string>22 x 22</string>
</property>
</item>
<item>
<property name="text">
<string>24 x 24</string>
</property>
</item>
<item>
<property name="text">
<string>26 x 26</string>
</property>
</item>
<item>
<property name="text">
<string>32 x 32</string>
</property>
</item>
<item>
<property name="text">
<string>36 x 36</string>
</property>
</item>
<item>
<property name="text">
<string>40 x 40</string>
</property>
</item>
<item>
<property name="text">
<string>44 x 44</string>
</property>
</item>
<item>
<property name="text">
<string>48 x 48</string>
</property>
</item>
<item>
<property name="text">
<string>52 x 52</string>
</property>
</item>
<item>
<property name="text">
<string>64 x 64</string>
</property>
</item>
<item>
<property name="text">
<string>72 x 72</string>
</property>
</item>
<item>
<property name="text">
<string>80 x 80</string>
</property>
</item>
<item>
<property name="text">
<string>88 x 88</string>
</property>
</item>
<item>
<property name="text">
<string>96 x 96</string>
</property>
</item>
<item>
<property name="text">
<string>104 x 104</string>
</property>
</item>
<item>
<property name="text">
<string>120 x 120</string>
</property>
</item>
<item>
<property name="text">
<string>132 x 132</string>
</property>
</item>
<item>
<property name="text">
<string>144 x 144</string>
</property>
</item>
<item>
<property name="text">
<string>8 x 18</string>
</property>
</item>
<item>
<property name="text">
<string>8 x 32</string>
</property>
</item>
<item>
<property name="text">
<string>12 x 26</string>
</property>
</item>
<item>
<property name="text">
<string>12 x 36</string>
</property>
</item>
<item>
<property name="text">
<string>16 x 36</string>
</property>
</item>
<item>
<property name="text">
<string>16 x 48</string>
</property>
</item>
<item>
<property name="text">
<string>8 x 48</string>
</property>
</item>
<item>
<property name="text">
<string>8 x 64</string>
</property>
</item>
<item>
<property name="text">
<string>12 x 64</string>
</property>
</item>
<item>
<property name="text">
<string>16 x 64</string>
</property>
</item>
<item>
<property name="text">
<string>24 x 32</string>
</property>
</item>
<item>
<property name="text">
<string>24 x 40</string>
</property>
</item>
<item>
<property name="text">
<string>24 x 48</string>
</property>
</item>
<item>
<property name="text">
<string>24 x 64</string>
</property>
</item>
<item>
<property name="text">
<string>26 x 32</string>
</property>
</item>
<item>
<property name="text">
<string>26 x 40</string>
</property>
</item>
<item>
<property name="text">
<string>26 x 48</string>
</property>
</item>
<item>
<property name="text">
<string>26 x 64</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="chkDMRectangle">
<property name="text">
<string>Suppress Rectangular Symbols in Automatic Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chkDMRE">
<property name="text">
<string>Allow DMRE in Automatic Mode</string>
</property>
<property name="checked">
<bool>false</bool>
</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/>
<connections/>
</ui>

353
frontend_qt/grpDotCode.ui Normal file
View file

@ -0,0 +1,353 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpDotCode</class>
<widget class="QWidget" name="grpDotCode">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>390</width>
<height>223</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QComboBox" name="cmbDotCols">
<property name="maxVisibleItems">
<number>11</number>
</property>
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text">
<string>8</string>
</property>
</item>
<item>
<property name="text">
<string>9</string>
</property>
</item>
<item>
<property name="text">
<string>10</string>
</property>
</item>
<item>
<property name="text">
<string>11</string>
</property>
</item>
<item>
<property name="text">
<string>12</string>
</property>
</item>
<item>
<property name="text">
<string>13</string>
</property>
</item>
<item>
<property name="text">
<string>14</string>
</property>
</item>
<item>
<property name="text">
<string>15</string>
</property>
</item>
<item>
<property name="text">
<string>16</string>
</property>
</item>
<item>
<property name="text">
<string>17</string>
</property>
</item>
<item>
<property name="text">
<string>18</string>
</property>
</item>
<item>
<property name="text">
<string>19</string>
</property>
</item>
<item>
<property name="text">
<string>20</string>
</property>
</item>
<item>
<property name="text">
<string>21</string>
</property>
</item>
<item>
<property name="text">
<string>22</string>
</property>
</item>
<item>
<property name="text">
<string>23</string>
</property>
</item>
<item>
<property name="text">
<string>24</string>
</property>
</item>
<item>
<property name="text">
<string>25</string>
</property>
</item>
<item>
<property name="text">
<string>26</string>
</property>
</item>
<item>
<property name="text">
<string>27</string>
</property>
</item>
<item>
<property name="text">
<string>28</string>
</property>
</item>
<item>
<property name="text">
<string>29</string>
</property>
</item>
<item>
<property name="text">
<string>30</string>
</property>
</item>
<item>
<property name="text">
<string>31</string>
</property>
</item>
<item>
<property name="text">
<string>32</string>
</property>
</item>
<item>
<property name="text">
<string>33</string>
</property>
</item>
<item>
<property name="text">
<string>34</string>
</property>
</item>
<item>
<property name="text">
<string>35</string>
</property>
</item>
<item>
<property name="text">
<string>36</string>
</property>
</item>
<item>
<property name="text">
<string>37</string>
</property>
</item>
<item>
<property name="text">
<string>38</string>
</property>
</item>
<item>
<property name="text">
<string>39</string>
</property>
</item>
<item>
<property name="text">
<string>40</string>
</property>
</item>
<item>
<property name="text">
<string>41</string>
</property>
</item>
<item>
<property name="text">
<string>42</string>
</property>
</item>
<item>
<property name="text">
<string>43</string>
</property>
</item>
<item>
<property name="text">
<string>44</string>
</property>
</item>
<item>
<property name="text">
<string>45</string>
</property>
</item>
<item>
<property name="text">
<string>46</string>
</property>
</item>
<item>
<property name="text">
<string>47</string>
</property>
</item>
<item>
<property name="text">
<string>48</string>
</property>
</item>
<item>
<property name="text">
<string>49</string>
</property>
</item>
<item>
<property name="text">
<string>50</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lblDotSize">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Dot Size:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lblDotCols">
<property name="text">
<string>&amp;Number of Data Columns:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>cmbDotCols</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtDotSize">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>0.8</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radDotStan">
<property name="text">
<string>Standard &amp;Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QRadioButton" name="radDotGs1">
<property name="text">
<string>GS-&amp;1 Data Mode</string>
</property>
</widget>
</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>52</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

199
frontend_qt/grpGrid.ui Normal file
View file

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpGrid</class>
<widget class="QWidget" name="grpGrid">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>423</width>
<height>159</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radGridAuto">
<property name="text">
<string>A&amp;utomatic Resizing</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radGridSize">
<property name="text">
<string>Adjust Si&amp;ze To:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="cmbGridSize">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>18 x 18 (Version 1)</string>
</property>
</item>
<item>
<property name="text">
<string>30 x 30 (Version 2)</string>
</property>
</item>
<item>
<property name="text">
<string>42 x 42 (Version 3)</string>
</property>
</item>
<item>
<property name="text">
<string>54 x 54 (Version 4)</string>
</property>
</item>
<item>
<property name="text">
<string>66 x 66 (Version 5)</string>
</property>
</item>
<item>
<property name="text">
<string>78 x 78 (Version 6)</string>
</property>
</item>
<item>
<property name="text">
<string>90 x 90 (Version 7)</string>
</property>
</item>
<item>
<property name="text">
<string>102 x 102 (Version 8)</string>
</property>
</item>
<item>
<property name="text">
<string>114 x 114 (Version 9)</string>
</property>
</item>
<item>
<property name="text">
<string>126 x 126 (Version 10)</string>
</property>
</item>
<item>
<property name="text">
<string>138 x 138 (Version 11)</string>
</property>
</item>
<item>
<property name="text">
<string>150 x 150 (Version 12)</string>
</property>
</item>
<item>
<property name="text">
<string>162 x 162 (Version 13)</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radGridECC">
<property name="text">
<string>Add &amp;Error Correction:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="cmbGridECC">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>~10%</string>
</property>
</item>
<item>
<property name="text">
<string>~20%</string>
</property>
</item>
<item>
<property name="text">
<string>~30%</string>
</property>
</item>
<item>
<property name="text">
<string>~40%</string>
</property>
</item>
<item>
<property name="text">
<string>~50%</string>
</property>
</item>
</widget>
</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>50</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>radGridSize</sender>
<signal>toggled(bool)</signal>
<receiver>cmbGridSize</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>98</x>
<y>54</y>
</hint>
<hint type="destinationlabel">
<x>279</x>
<y>53</y>
</hint>
</hints>
</connection>
<connection>
<sender>radGridECC</sender>
<signal>toggled(bool)</signal>
<receiver>cmbGridECC</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>114</x>
<y>89</y>
</hint>
<hint type="destinationlabel">
<x>279</x>
<y>89</y>
</hint>
</hints>
</connection>
</connections>
</ui>

509
frontend_qt/grpHX.ui Normal file
View file

@ -0,0 +1,509 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpHX</class>
<widget class="QWidget" name="grpHX">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>441</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>421</width>
<height>100</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radHXAuto">
<property name="text">
<string>A&amp;utomatic Resizing</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radHXSize">
<property name="text">
<string>Adjust Si&amp;ze To:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="cmbHXSize">
<property name="enabled">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>23 x 23 (Version 1)</string>
</property>
</item>
<item>
<property name="text">
<string>25 x 25 (Version 2)</string>
</property>
</item>
<item>
<property name="text">
<string>27 x 27 (Version 3)</string>
</property>
</item>
<item>
<property name="text">
<string>29 x 29 (Version 4)</string>
</property>
</item>
<item>
<property name="text">
<string>31 x 31 (Version 5)</string>
</property>
</item>
<item>
<property name="text">
<string>33 x 33 (Version 6)</string>
</property>
</item>
<item>
<property name="text">
<string>35 x 35 (Version 7)</string>
</property>
</item>
<item>
<property name="text">
<string>37 x 37 (Version 8)</string>
</property>
</item>
<item>
<property name="text">
<string>39 x 39 (Version 9)</string>
</property>
</item>
<item>
<property name="text">
<string>41 x 41 (Version 10)</string>
</property>
</item>
<item>
<property name="text">
<string>43 x 43 (Version 11)</string>
</property>
</item>
<item>
<property name="text">
<string>45 x 45 (Version 12)</string>
</property>
</item>
<item>
<property name="text">
<string>47 x 47 (Version 13)</string>
</property>
</item>
<item>
<property name="text">
<string>49 x 49 (Version 14)</string>
</property>
</item>
<item>
<property name="text">
<string>51 x 51 (Version 15)</string>
</property>
</item>
<item>
<property name="text">
<string>53 x 53 (Version 16)</string>
</property>
</item>
<item>
<property name="text">
<string>55 x 55 (Version 17)</string>
</property>
</item>
<item>
<property name="text">
<string>57 x 57 (Version 18)</string>
</property>
</item>
<item>
<property name="text">
<string>59 x 59 (Version 19)</string>
</property>
</item>
<item>
<property name="text">
<string>61 x 61 (Version 20)</string>
</property>
</item>
<item>
<property name="text">
<string>63 x 63 (Version 21)</string>
</property>
</item>
<item>
<property name="text">
<string>65 x 65 (Version 22)</string>
</property>
</item>
<item>
<property name="text">
<string>67 x 67 (Version 23)</string>
</property>
</item>
<item>
<property name="text">
<string>69 x 69 (Version 24)</string>
</property>
</item>
<item>
<property name="text">
<string>71 x 71 (Version 25)</string>
</property>
</item>
<item>
<property name="text">
<string>73 x 73 (Version 26)</string>
</property>
</item>
<item>
<property name="text">
<string>75 x 75 (Version 27)</string>
</property>
</item>
<item>
<property name="text">
<string>77 x 77 (Version 28)</string>
</property>
</item>
<item>
<property name="text">
<string>79 x 79 (Version 29)</string>
</property>
</item>
<item>
<property name="text">
<string>81 x 81 (Version 30)</string>
</property>
</item>
<item>
<property name="text">
<string>83 x 83 (Version 31)</string>
</property>
</item>
<item>
<property name="text">
<string>85 x 85 (Version 32)</string>
</property>
</item>
<item>
<property name="text">
<string>87 x 87 (Version 33)</string>
</property>
</item>
<item>
<property name="text">
<string>89 x 89 (Version 34)</string>
</property>
</item>
<item>
<property name="text">
<string>91 x 91 (Version 35)</string>
</property>
</item>
<item>
<property name="text">
<string>93 x 93 (Version 36)</string>
</property>
</item>
<item>
<property name="text">
<string>95 x 95 (Version 37)</string>
</property>
</item>
<item>
<property name="text">
<string>97 x 97 (Version 38)</string>
</property>
</item>
<item>
<property name="text">
<string>99 x 99 (Version 39)</string>
</property>
</item>
<item>
<property name="text">
<string>101 x 101 (Version 40)</string>
</property>
</item>
<item>
<property name="text">
<string>103 x 103 (Version 41)</string>
</property>
</item>
<item>
<property name="text">
<string>105 x 105 (Version 42)</string>
</property>
</item>
<item>
<property name="text">
<string>107 x 107 (Version 43)</string>
</property>
</item>
<item>
<property name="text">
<string>109 x 109 (Version 44)</string>
</property>
</item>
<item>
<property name="text">
<string>111 x 111 (Version 45)</string>
</property>
</item>
<item>
<property name="text">
<string>113 x 113 (Version 46)</string>
</property>
</item>
<item>
<property name="text">
<string>115 x 115 (Version 47)</string>
</property>
</item>
<item>
<property name="text">
<string>117 x 117 (Version 48)</string>
</property>
</item>
<item>
<property name="text">
<string>119 x 119 (Version 49)</string>
</property>
</item>
<item>
<property name="text">
<string>121 x 121 (Version 50)</string>
</property>
</item>
<item>
<property name="text">
<string>123 x 123 (Version 51)</string>
</property>
</item>
<item>
<property name="text">
<string>125 x 125 (Version 52)</string>
</property>
</item>
<item>
<property name="text">
<string>127 x 127 (Version 53)</string>
</property>
</item>
<item>
<property name="text">
<string>129 x 129 (Version 54)</string>
</property>
</item>
<item>
<property name="text">
<string>131 x 131 (Version 55)</string>
</property>
</item>
<item>
<property name="text">
<string>133 x 133 (Version 56)</string>
</property>
</item>
<item>
<property name="text">
<string>135 x 135 (Version 57)</string>
</property>
</item>
<item>
<property name="text">
<string>137 x 137 (Version 58)</string>
</property>
</item>
<item>
<property name="text">
<string>139 x 139 (Version 59)</string>
</property>
</item>
<item>
<property name="text">
<string>141 x 141 (Version 60)</string>
</property>
</item>
<item>
<property name="text">
<string>143 x 143 (Version 61)</string>
</property>
</item>
<item>
<property name="text">
<string>145 x 145 (Version 62)</string>
</property>
</item>
<item>
<property name="text">
<string>147 x 147 (Version 63)</string>
</property>
</item>
<item>
<property name="text">
<string>149 x 149 (Version 64)</string>
</property>
</item>
<item>
<property name="text">
<string>151 x 151 (Version 65)</string>
</property>
</item>
<item>
<property name="text">
<string>153 x 153 (Version 66)</string>
</property>
</item>
<item>
<property name="text">
<string>155 x 155 (Version 67)</string>
</property>
</item>
<item>
<property name="text">
<string>157 x 157 (Version 68)</string>
</property>
</item>
<item>
<property name="text">
<string>159 x 159 (Version 69)</string>
</property>
</item>
<item>
<property name="text">
<string>161 x 161 (Version 70)</string>
</property>
</item>
<item>
<property name="text">
<string>163 x 163 (Version 71)</string>
</property>
</item>
<item>
<property name="text">
<string>165 x 165 (Version 72)</string>
</property>
</item>
<item>
<property name="text">
<string>167 x 167 (Version 73)</string>
</property>
</item>
<item>
<property name="text">
<string>169 x 169 (Version 74)</string>
</property>
</item>
<item>
<property name="text">
<string>171 x 171 (Version 75)</string>
</property>
</item>
<item>
<property name="text">
<string>173 x 173 (Version 76)</string>
</property>
</item>
<item>
<property name="text">
<string>175 x 175 (Version 77)</string>
</property>
</item>
<item>
<property name="text">
<string>177 x 177 (Version 78)</string>
</property>
</item>
<item>
<property name="text">
<string>179 x 179 (Version 79)</string>
</property>
</item>
<item>
<property name="text">
<string>181 x 181 (Version 80)</string>
</property>
</item>
<item>
<property name="text">
<string>183 x 183 (Version 81)</string>
</property>
</item>
<item>
<property name="text">
<string>185 x 185 (Version 82)</string>
</property>
</item>
<item>
<property name="text">
<string>187 x 187 (Version 83)</string>
</property>
</item>
<item>
<property name="text">
<string>189 x 189 (Version 84)</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radHXECC">
<property name="text">
<string>Add &amp;Error Correction:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="cmbHXECC">
<property name="enabled">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>~8% (Level L1)</string>
</property>
</item>
<item>
<property name="text">
<string>~15% (Level L2)</string>
</property>
</item>
<item>
<property name="text">
<string>~23% (Level L3)</string>
</property>
</item>
<item>
<property name="text">
<string>~30% (Level L4)</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

143
frontend_qt/grpMQR.ui Normal file
View file

@ -0,0 +1,143 @@
<ui version="4.0" >
<class>grpMQR</class>
<widget class="QWidget" name="grpMQR" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>423</width>
<height>159</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QRadioButton" name="radMQRAuto" >
<property name="text" >
<string>A&amp;utomatic Resizing</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QRadioButton" name="radMQRSize" >
<property name="text" >
<string>Adjust Si&amp;ze To:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QComboBox" name="cmbMQRSize" >
<property name="enabled" >
<bool>false</bool>
</property>
<item>
<property name="text" >
<string>11 x 11 (Version M1)</string>
</property>
</item>
<item>
<property name="text" >
<string>13 x 13 (Version M2)</string>
</property>
</item>
<item>
<property name="text" >
<string>15 x 15 (Version M3)</string>
</property>
</item>
<item>
<property name="text" >
<string>17 x 17 (Version M4)</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0" >
<widget class="QRadioButton" name="radMQRECC" >
<property name="text" >
<string>Add &amp;Error Correction:</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QComboBox" name="cmbMQRECC" >
<property name="enabled" >
<bool>false</bool>
</property>
<item>
<property name="text" >
<string>~20% (Level L)</string>
</property>
</item>
<item>
<property name="text" >
<string>~37% (Level M)</string>
</property>
</item>
<item>
<property name="text" >
<string>~55% (Level Q)</string>
</property>
</item>
</widget>
</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>50</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>radMQRSize</sender>
<signal>toggled(bool)</signal>
<receiver>cmbMQRSize</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>98</x>
<y>54</y>
</hint>
<hint type="destinationlabel" >
<x>279</x>
<y>53</y>
</hint>
</hints>
</connection>
<connection>
<sender>radMQRECC</sender>
<signal>toggled(bool)</signal>
<receiver>cmbMQRECC</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>114</x>
<y>89</y>
</hint>
<hint type="destinationlabel" >
<x>279</x>
<y>89</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View file

@ -0,0 +1,79 @@
<ui version="4.0" >
<class>grpMSICheck</class>
<widget class="QWidget" name="grpMSICheck" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>295</width>
<height>79</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="lblMSICheck" >
<property name="text" >
<string>&amp;Check Digit:</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<cstring>cmbMSICheck</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbMSICheck" >
<item>
<property name="text" >
<string>None</string>
</property>
</item>
<item>
<property name="text" >
<string>Mod-10</string>
</property>
</item>
<item>
<property name="text" >
<string>Mod-10 &amp; Mod-10</string>
</property>
</item>
<item>
<property name="text" >
<string>Mod-11</string>
</property>
</item>
<item>
<property name="text" >
<string>Mod-11 &amp; Mod-10</string>
</property>
</item>
</widget>
</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>31</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

116
frontend_qt/grpMaxicode.ui Normal file
View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpMicroPDF</class>
<widget class="QWidget" name="grpMicroPDF">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>532</width>
<height>251</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="lblMaxiMode">
<property name="text">
<string>Encoding &amp;Mode:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>cmbMaxiMode</cstring>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lblMaxiPrimary">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Primary Data:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>txtMaxiPrimary</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="cmbMaxiMode">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>Structured Carrier Message (Mode 2 or 3)</string>
</property>
</item>
<item>
<property name="text">
<string>Standard Symbol, SEC (Mode 4)</string>
</property>
</item>
<item>
<property name="text">
<string>Full ECC Symbol (Mode 5)</string>
</property>
</item>
<item>
<property name="text">
<string>Reader Program, SEC (Mode 6)</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtMaxiPrimary">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Primary Data Here!</string>
</property>
</widget>
</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/>
<connections/>
</ui>

View file

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpMicroPDF</class>
<widget class="QWidget" name="grpMicroPDF">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>763</width>
<height>376</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="lblMPDFCols">
<property name="text">
<string>&amp;Number of Data Columns:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>cmbMPDFCols</cstring>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QComboBox" name="cmbMPDFCols">
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radMPDFStand">
<property name="text">
<string>S&amp;tandard</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radMPDFHIBC">
<property name="text">
<string>&amp;HIBC MicroPDF417</string>
</property>
</widget>
</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/>
<connections/>
</ui>

276
frontend_qt/grpPDF417.ui Normal file
View file

@ -0,0 +1,276 @@
<ui version="4.0" >
<class>grpPDF417</class>
<widget class="QWidget" name="grpPDF417" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>390</width>
<height>223</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="lblPDFCols" >
<property name="text" >
<string>&amp;Number of Data Columns:</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<cstring>cmbPDFCols</cstring>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QComboBox" name="cmbPDFCols" >
<item>
<property name="text" >
<string>Automatic</string>
</property>
</item>
<item>
<property name="text" >
<string>1</string>
</property>
</item>
<item>
<property name="text" >
<string>2</string>
</property>
</item>
<item>
<property name="text" >
<string>3</string>
</property>
</item>
<item>
<property name="text" >
<string>4</string>
</property>
</item>
<item>
<property name="text" >
<string>5</string>
</property>
</item>
<item>
<property name="text" >
<string>6</string>
</property>
</item>
<item>
<property name="text" >
<string>7</string>
</property>
</item>
<item>
<property name="text" >
<string>8</string>
</property>
</item>
<item>
<property name="text" >
<string>9</string>
</property>
</item>
<item>
<property name="text" >
<string>10</string>
</property>
</item>
<item>
<property name="text" >
<string>11</string>
</property>
</item>
<item>
<property name="text" >
<string>12</string>
</property>
</item>
<item>
<property name="text" >
<string>13</string>
</property>
</item>
<item>
<property name="text" >
<string>14</string>
</property>
</item>
<item>
<property name="text" >
<string>15</string>
</property>
</item>
<item>
<property name="text" >
<string>16</string>
</property>
</item>
<item>
<property name="text" >
<string>17</string>
</property>
</item>
<item>
<property name="text" >
<string>18</string>
</property>
</item>
<item>
<property name="text" >
<string>19</string>
</property>
</item>
<item>
<property name="text" >
<string>20</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="lblPDFECC" >
<property name="text" >
<string>&amp;Error Correction Capacity:</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<cstring>cmbPDFECC</cstring>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QComboBox" name="cmbPDFECC" >
<item>
<property name="text" >
<string>Automatic</string>
</property>
</item>
<item>
<property name="text" >
<string>2 words</string>
</property>
</item>
<item>
<property name="text" >
<string>4 words</string>
</property>
</item>
<item>
<property name="text" >
<string>8 words</string>
</property>
</item>
<item>
<property name="text" >
<string>16 words</string>
</property>
</item>
<item>
<property name="text" >
<string>32 words</string>
</property>
</item>
<item>
<property name="text" >
<string>64 words</string>
</property>
</item>
<item>
<property name="text" >
<string>128 words</string>
</property>
</item>
<item>
<property name="text" >
<string>256 words</string>
</property>
</item>
<item>
<property name="text" >
<string>512 words</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="lblPDFWords" >
<property name="text" >
<string>Ma&amp;ximum Codeword Lengh:</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy" >
<cstring>codewords</cstring>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QSpinBox" name="codewords" >
<property name="minimum" >
<number>928</number>
</property>
<property name="maximum" >
<number>1800</number>
</property>
<property name="value" >
<number>928</number>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QRadioButton" name="radPDFStand" >
<property name="text" >
<string>S&amp;tandard</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QRadioButton" name="radPDFHIBC" >
<property name="text" >
<string>&amp;HIBC PDF417</string>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QRadioButton" name="radPDFTruncated" >
<property name="text" >
<string>&amp;Truncated</string>
</property>
</widget>
</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>52</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

371
frontend_qt/grpQR.ui Normal file
View file

@ -0,0 +1,371 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>grpQR</class>
<widget class="QWidget" name="grpQR">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>441</width>
<height>238</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radQRAuto">
<property name="text">
<string>A&amp;utomatic Resizing</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radQRSize">
<property name="text">
<string>Adjust Si&amp;ze To:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="cmbQRSize">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>21 x 21 (Version 1)</string>
</property>
</item>
<item>
<property name="text">
<string>25 x 25 (Version 2)</string>
</property>
</item>
<item>
<property name="text">
<string>29 x 29 (Version 3)</string>
</property>
</item>
<item>
<property name="text">
<string>33 x 33 (Version 4)</string>
</property>
</item>
<item>
<property name="text">
<string>37 x 37 (Version 5)</string>
</property>
</item>
<item>
<property name="text">
<string>41 x 41 (Version 6)</string>
</property>
</item>
<item>
<property name="text">
<string>45 x 45 (Version 7)</string>
</property>
</item>
<item>
<property name="text">
<string>49 x 49 (Version 8)</string>
</property>
</item>
<item>
<property name="text">
<string>53 x 53 (Version 9)</string>
</property>
</item>
<item>
<property name="text">
<string>57 x 57 (Version 10)</string>
</property>
</item>
<item>
<property name="text">
<string>61 x 61 (Version 11)</string>
</property>
</item>
<item>
<property name="text">
<string>65 x 65 (Version 12)</string>
</property>
</item>
<item>
<property name="text">
<string>69 x 69 (Version 13)</string>
</property>
</item>
<item>
<property name="text">
<string>73 x 73 (Version 14)</string>
</property>
</item>
<item>
<property name="text">
<string>77 x 77 (Version 15)</string>
</property>
</item>
<item>
<property name="text">
<string>81 x 81 (Version 16)</string>
</property>
</item>
<item>
<property name="text">
<string>85 x 85 (Version 17)</string>
</property>
</item>
<item>
<property name="text">
<string>89 x 89 (Version 18)</string>
</property>
</item>
<item>
<property name="text">
<string>93 x 93 (Version 19)</string>
</property>
</item>
<item>
<property name="text">
<string>97 x 97 (Version 20)</string>
</property>
</item>
<item>
<property name="text">
<string>101 x 101 (Version 21)</string>
</property>
</item>
<item>
<property name="text">
<string>105 x 105 (Version 22)</string>
</property>
</item>
<item>
<property name="text">
<string>109 x 109 (Version 23)</string>
</property>
</item>
<item>
<property name="text">
<string>113 x 113 (Version 24)</string>
</property>
</item>
<item>
<property name="text">
<string>117 x 117 (Version 25)</string>
</property>
</item>
<item>
<property name="text">
<string>121 x 121 (Version 26)</string>
</property>
</item>
<item>
<property name="text">
<string>125 x 125 (Version 27)</string>
</property>
</item>
<item>
<property name="text">
<string>129 x 129 (Version 28)</string>
</property>
</item>
<item>
<property name="text">
<string>133 x 133 (Version 29)</string>
</property>
</item>
<item>
<property name="text">
<string>137 x 137 (Version 30)</string>
</property>
</item>
<item>
<property name="text">
<string>141 x 141 (Version 31)</string>
</property>
</item>
<item>
<property name="text">
<string>145 x 145 (Version 32)</string>
</property>
</item>
<item>
<property name="text">
<string>149 x 149 (Version 33)</string>
</property>
</item>
<item>
<property name="text">
<string>153 x 153 (Version 34)</string>
</property>
</item>
<item>
<property name="text">
<string>157 x 157 (Version 35)</string>
</property>
</item>
<item>
<property name="text">
<string>161 x 161 (Version 36)</string>
</property>
</item>
<item>
<property name="text">
<string>165 x 165 (Version 37)</string>
</property>
</item>
<item>
<property name="text">
<string>169 x 169 (Version 38)</string>
</property>
</item>
<item>
<property name="text">
<string>173 x 173 (Version 39)</string>
</property>
</item>
<item>
<property name="text">
<string>177 x 177 (Version 40)</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radQRECC">
<property name="text">
<string>Add &amp;Error Correction:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="cmbQRECC">
<property name="enabled">
<bool>false</bool>
</property>
<item>
<property name="text">
<string>~20% (Level L)</string>
</property>
</item>
<item>
<property name="text">
<string>~37% (Level M)</string>
</property>
</item>
<item>
<property name="text">
<string>~55% (Level Q)</string>
</property>
</item>
<item>
<property name="text">
<string>~65% (Level H)</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="grpQRMode">
<property name="minimumSize">
<size>
<width>0</width>
<height>70</height>
</size>
</property>
<property name="title">
<string>Data Encoding</string>
</property>
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>411</width>
<height>80</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QRadioButton" name="radQRStand">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>S&amp;tandard Mode</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="radQRHIBC">
<property name="text">
<string>&amp;HIBC QR Code</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QRadioButton" name="radQRGS1">
<property name="text">
<string>&amp;GS-1 Data Mode</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>radQRSize</sender>
<signal>toggled(bool)</signal>
<receiver>cmbQRSize</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>89</x>
<y>39</y>
</hint>
<hint type="destinationlabel">
<x>255</x>
<y>46</y>
</hint>
</hints>
</connection>
<connection>
<sender>radQRECC</sender>
<signal>toggled(bool)</signal>
<receiver>cmbQRECC</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>95</x>
<y>79</y>
</hint>
<hint type="destinationlabel">
<x>308</x>
<y>79</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View file

@ -0,0 +1,55 @@
Harald Oehlmann
2016-02-28
How to build qzint.exe using:
- QT 4
- MS Visual Studio 2008 (VC9)
Folder structure:
- zint source files in $ZH
-> this file is in $ZH\frontend_qt4
- png1620.zip unzipped in $ZH\..\lpng
-> $ZH\..\lpng\png.h exists
- zlib128.zip inzipped in folder $ZH\..\zlib
-> $ZH\..\zlib\zlib.h exists
Prepare qt for static build
- Start "Visual Studio 2008 Command Line" (or execute "%VS90COMNTOOLS%vsvars32.bat" )
- cd c:\qt\4.8.6
- configure -static -release -qt-zlib -qt-libpng -qt-libjpeg
- nmake
-> took around 2 hours for me
Build pnglib and zlib
- cd $ZH\..\lpng\projects
- copy visual71 visual71_converted_to_9
- Start Visual Studio 2..8 (CV9)
- open Project: $ZH\..\lpng\projects\visualc71_converted_to_9\libpng.sln
- convert it as proposed by the IDE (no backup, we have made a copy before)
- select "LIB Release" configuration
- go to project "libpng" and open project options (ALT-F7)
- On the left, select "C/C++->Code generation"
- On the right change "Run time library" from "Multi-Treaded (/MT)" to "Multithread-DLL (/MD)"
- also do the upper steps for the project "zlib" (change /MT to /MD)
- Build libpng and zlib project using the Buildall menu entry
-> this compiles png in the static lib:
lpng\projects\visualc71_converted_to_9\Win32_LIB_Release\libpng.lib
and zlib into the static lib
lpng\projects\visualc71_converted_to_9\Win32_LIB_Release\zlib\zlib.lib
Build zint
- Start "Visual Studio 2008 Command Line" (or execute "%VS90COMNTOOLS%vsvars32.bat" )
- C:\Qt\4.8.6\bin\qtvars.bat
- cd $ZH
- cd backend_qt4
- qmake backend_qt4.pro
- nmake clean
- nmake release
- cd ..\frontend_qt4
- qmake frontend_qt4.pro
- nmake clean
- nmake release
-> qzint.exe is in the release folder

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
frontend_qt/images/zint.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

28
frontend_qt/main.cpp Normal file
View file

@ -0,0 +1,28 @@
/***************************************************************************
* Copyright (C) 2008 by BogDan Vatra *
* bogdan@licentia.eu *
* *
* 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 *
* the Free Software Foundation, either version 3 of the License, or *
* (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/>. *
***************************************************************************/
#include <QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(resources);
QApplication app(argc, argv);
MainWindow w;
w.show();
return app.exec();
}

660
frontend_qt/mainWindow.ui Normal file
View file

@ -0,0 +1,660 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>mainWindow</class>
<widget class="QWidget" name="mainWindow">
<property name="windowModality">
<enum>Qt::NonModal</enum>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>590</width>
<height>600</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>590</width>
<height>600</height>
</size>
</property>
<property name="windowTitle">
<string>Zint Barcode Studio 2.5</string>
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
<normaloff>:/images/zint.png</normaloff>:/images/zint.png</iconset>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="locale">
<locale language="English" country="UnitedStates"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QGraphicsView" name="view">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<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>1000</width>
<height>1000</height>
</size>
</property>
<property name="toolTip">
<string>Resulting barcode shown here</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="lblSymbology">
<property name="text">
<string>S&amp;ymbology:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>bstyle</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="bstyle">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Type of barcode</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTabWidget" name="tabMain">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>350</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tabGeneral">
<attribute name="title">
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="grpData">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>&amp;Data to Encode</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="txtData">
<property name="toolTip">
<string>Data to encode</string>
</property>
<property name="text">
<string>Your Data Here!</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnMoreData">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="toolTip">
<string>Encode more data
or import from file</string>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSequence">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="toolTip">
<string>Encode a sequence</string>
</property>
<property name="text">
<string>123..</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="grpComposite">
<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="title">
<string>Composite Code</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="chkComposite">
<property name="toolTip">
<string>Create a composite symbol</string>
</property>
<property name="text">
<string>Add &amp;2D Component</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lblCompType">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Component &amp;Type:</string>
</property>
<property name="buddy">
<cstring>cmbCompType</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cmbCompType">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Type of 2D component</string>
</property>
<item>
<property name="text">
<string>Automatic</string>
</property>
</item>
<item>
<property name="text">
<string>CC-A</string>
</property>
</item>
<item>
<property name="text">
<string>CC-B</string>
</property>
</item>
<item>
<property name="text">
<string>CC-C</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<widget class="QLabel" name="lblComposite">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>2D &amp;Component Data:</string>
</property>
<property name="buddy">
<cstring>txtComposite</cstring>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="txtComposite">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>Data to be encoded in 2D component
Remember to place [square brackets] around AI data</string>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Your Data Here!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="acceptRichText">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabAppear">
<attribute name="title">
<string>Appearance</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>&amp;Height:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>heightb</cstring>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>B&amp;order Width:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>bwidth</cstring>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lblWhitespace">
<property name="text">
<string>&amp;Whitespace:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>spnWhitespace</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="lblScale">
<property name="text">
<string>&amp;Printing Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>spnScale</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="heightb">
<property name="toolTip">
<string>Overall symbol height</string>
</property>
<property name="suffix">
<string> X</string>
</property>
<property name="prefix">
<string/>
</property>
<property name="maximum">
<number>300</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="bwidth">
<property name="toolTip">
<string>Width of boundary bars or border</string>
</property>
<property name="suffix">
<string> X</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spnWhitespace">
<property name="toolTip">
<string>Width of whitespace</string>
</property>
<property name="suffix">
<string> X</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="spnScale">
<property name="toolTip">
<string>Image scale when output to file</string>
</property>
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="minimum">
<double>0.500000000000000</double>
</property>
<property name="maximum">
<double>99.500000000000000</double>
</property>
<property name="singleStep">
<double>0.500000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Border &amp;Type:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>btype</cstring>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="btype">
<property name="toolTip">
<string>Add border or box</string>
</property>
<item>
<property name="text">
<string>No border</string>
</property>
</item>
<item>
<property name="text">
<string>Bind</string>
</property>
</item>
<item>
<property name="text">
<string>Box</string>
</property>
</item>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="fgcolor">
<property name="toolTip">
<string>Change ink colour</string>
</property>
<property name="text">
<string>&amp;Foreground Colour</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QPushButton" name="bgcolor">
<property name="toolTip">
<string>Change paper colour</string>
</property>
<property name="text">
<string>&amp;Backgound Colour</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="btnReset">
<property name="toolTip">
<string>Reset to black on white</string>
</property>
<property name="text">
<string>&amp;Reset Colours</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="chkHRTHide">
<property name="toolTip">
<string>Show text in image</string>
</property>
<property name="text">
<string>Show H&amp;uman Readable Text</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QPushButton" name="btnAbout">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>About Zint</string>
</property>
<property name="text">
<string>&amp;About</string>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QPushButton" name="btnSave">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Save image to file</string>
</property>
<property name="text">
<string>&amp;Save</string>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QPushButton" name="btnExit">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>E&amp;xit</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>tabMain</tabstop>
<tabstop>txtData</tabstop>
<tabstop>chkComposite</tabstop>
<tabstop>cmbCompType</tabstop>
<tabstop>txtComposite</tabstop>
</tabstops>
<resources>
<include location="resources.qrc"/>
</resources>
<connections/>
</ui>

891
frontend_qt/mainwindow.cpp Normal file
View file

@ -0,0 +1,891 @@
/***************************************************************************
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
* Copyright (C) 2009-2016 by 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 *
* the Free Software Foundation, either version 3 of the License, or *
* (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/>. *
***************************************************************************/
#include <QDebug>
#include <QGraphicsScene>
#include <QImage>
#include <QColorDialog>
#include <QUiLoader>
#include <QFile>
#include <QRadioButton>
#include <QFileDialog>
#include <QMessageBox>
#include "mainwindow.h"
#include "datawindow.h"
#include "sequencewindow.h"
#include <stdio.h>
MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl)
: QWidget(parent, fl),m_optionWidget(0)
{
char bstyle_text[][50] = {
"Australia Post Redirect Code",
"Australia Post Reply-Paid",
"Australia Post Routing Code",
"Australia Post Standard Customer",
"Aztec Code (ISO 24778)",
"Aztec Runes",
"Channel Code",
"Codabar",
"Codablock-F",
"Code 11",
"Code 128 (ISO 15417)",
"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)",
"Code 39 (ISO 16388)",
"Code 39 Extended",
"Code 49",
"Code 93",
"Code One",
"Data Matrix (ISO 16022)",
"Deutsche Post Identcode",
"Deutsche Post Leitcode",
"DotCode",
"Dutch Post KIX",
"EAN-14",
"European Article Number (EAN)",
"Facing Identification Mark (FIM)",
"Flattermarken",
"Grid Matrix",
"GS1 DataBar Expanded Omnidirectional",
"GS1 DataBar Expanded Stacked Omnidirectional",
"GS1 DataBar Limited",
"GS1 DataBar Omnidirectional",
"GS1 DataBar Stacked",
"GS1 DataBar Stacked Omnidirectional",
"Han Xin (Chinese Sensible) Code",
"ITF-14",
"International Standard Book Number (ISBN)",
"Japanese Postal Barcode",
"Korean Postal Barcode",
"LOGMARS",
"Maxicode (ISO 16023)",
"MicroPDF417 (ISO 24728)",
"Micro QR Code",
"MSI Plessey",
"NVE-18",
"PDF417 (ISO 15438)",
"Pharmacode",
"Pharmacode 2-track",
"Pharma Zentralnummer (PZN)",
"PLANET",
"Postnet",
"QR Code (ISO 18004)",
"Royal Mail 4-state Barcode",
"Telepen",
"Telepen Numeric",
"UK Plessey",
"Universal Product Code (UPC-A)",
"Universal Product Code (UPC-E)",
"USPS Intelligent Mail"
};
/* createActions();
createMenus(); */
setupUi(this);
view->setScene(new QGraphicsScene);
m_fgcolor=qRgb(0,0,0);
m_bgcolor=qRgb(0xff,0xff,0xff);
for (int i=0;i<metaObject()->enumerator(0).keyCount();i++) {
bstyle->addItem(metaObject()->enumerator(0).key(i));
bstyle->setItemText(i,bstyle_text[i]);
}
bstyle->setCurrentIndex(10);
change_options();
update_preview();
view->scene()->addItem(&m_bc);
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()));
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()));
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()));
connect(chkHRTHide, SIGNAL(stateChanged( int )), SLOT(update_preview()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::reset_view()
{
m_fgcolor=qRgb(0,0,0);
m_bgcolor=qRgb(0xff,0xff,0xff);
update_preview();
}
bool MainWindow::save()
{
bool status;
#ifdef NO_PNG
QString fileName = QFileDialog::getSaveFileName(this,
tr("Save Barcode Image"), ".",
tr("Encapsulated Post Script (*.eps);;Scalable Vector Graphic (*.svg)"));
#else
QString fileName = QFileDialog::getSaveFileName(this,
tr("Save Barcode Image"), ".",
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)"));
#endif
if (fileName.isEmpty())
return false;
status = m_bc.bc.save_to_file(fileName);
if(status == false) {
QMessageBox::critical(this,tr("Save Error"),m_bc.bc.error_message());
}
return status;
}
void MainWindow::about()
{
QMessageBox::about(this, tr("About Zint"),
tr("<h2>Zint Barcode Studio 2.5.1</h2>"
"<p>A free barcode generator"
"<p>Instruction manual is available from Sourceforge:"
"<p>http://www.sourceforge.net/projects/zint"
"<p>Copyright &copy; 2006-2016 Robin Stuart.<br>"
"Qt back end by BogDan Vatra, MS Windows port by \"tgotic\"."
"<p>Qt version " QT_VERSION_STR
"<p>With thanks to Norbert Szab&oacute;, Robert Elliott, "
"Harald Oehlmann and many others at Sourceforge."
"<p>Released under the GNU General Public License ver. 3 or later.<br>"
"\"QR Code\" is a Registered Trademark of Denso Corp.<br>"
"\"Telepen\" is a Registered Trademark of SB Electronics."
"<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>"
"ISO/IEC 15438:2006, ISO/IEC 16022:2006, ISO/IEC 16023:2000,<br>"
"ISO/IEC 16388:2007, ISO/IEC 18004:2006, ISO/IEC 24723:2010,<br>"
"ISO/IEC 24724:2011, ISO/IEC 24728:2006, ISO/IEC 24778:2008,<br>"
"ANSI-HIBC 2.3-2009, ANSI/AIM BC6-2000, ANSI/AIM BC12-1998,<br>"
"AIMD014 (v 1.63), USPS-B-3200</small></td></tr></table>"
));
}
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;
dlg.barcode = &m_bc;
return dlg.exec();
}
void MainWindow::on_fgcolor_clicked()
{
m_fgcolor=QColorDialog::getColor(m_fgcolor,this);
update_preview();
}
void MainWindow::on_bgcolor_clicked()
{
m_bgcolor=QColorDialog::getColor(m_bgcolor,this);
update_preview();
}
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()
{
close();
}
void MainWindow::change_options()
{
QUiLoader uiload;
if (tabMain->count()==3)
tabMain->removeTab(1);
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE128)
{
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"));
chkComposite->setText(tr("Add 2D Component (GS1-128 only)"));
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()));
}
else
chkComposite->setText(tr("Add 2D Component"));
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_PDF417)
{
QFile file(":/grpPDF417.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("PDF417"));
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MICROPDF417)
{
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"));
connect(m_optionWidget->findChild<QObject*>("cmbMPDFCols"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("radMPDFStand"), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_AZTEC)
{
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"));
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()));
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MSI_PLESSEY)
{
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"));
connect(m_optionWidget->findChild<QObject*>("cmbMSICheck"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
}
if((metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE39) ||
(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_EXCODE39))
{
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"));
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()));
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_EXCODE39)
{
if(m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->isChecked() == true)
{
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setChecked(false);
m_optionWidget->findChild<QRadioButton*>("radC39Stand")->setChecked(true);
}
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setEnabled(false);
}
else
m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->setEnabled(true);
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CODE16K)
{
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"));
connect(m_optionWidget->findChild<QObject*>("radC16kStand"), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_DATAMATRIX)
{
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"));
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()));
connect(m_optionWidget->findChild<QObject*>("chkDMRectangle"), SIGNAL(stateChanged( int )), SLOT(update_preview()));
connect(m_optionWidget->findChild<QObject*>("chkDMRE"), SIGNAL(stateChanged( int )), SLOT(update_preview()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_QRCODE)
{
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"));
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()));
}
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MICROQR)
{
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"));
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()));
}
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_MAXICODE)
{
QFile file(":/grpMaxicode.ui");
if (!file.open(QIODevice::ReadOnly))
return;
m_optionWidget=uiload.load(&file);
file.close();
tabMain->insertTab(1,m_optionWidget,tr("Maxicode"));
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()));
}
if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_CHANNEL)
{
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"));
connect(m_optionWidget->findChild<QObject*>("cmbChannel"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
}
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()));
connect(m_optionWidget->findChild<QObject*>("radC1GS1"), SIGNAL(toggled( bool )), SLOT(update_preview()));
}
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()));
}
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()));
}
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();
break;
default:
chkComposite->setChecked(false);
grpComposite->hide();
break;
}
tabMain->setCurrentIndex(0);
}
void MainWindow::composite_enable()
{
if(chkComposite->isChecked() == true)
{
lblCompType->setEnabled(true);
cmbCompType->setEnabled(true);
lblComposite->setEnabled(true);
txtComposite->setEnabled(true);
if (metaObject()->enumerator(0).value(bstyle->currentIndex())==BARCODE_CODE128)
m_optionWidget->findChild<QRadioButton*>("radC128EAN")->setChecked(true);
}
else
{
lblCompType->setEnabled(false);
cmbCompType->setEnabled(false);
lblComposite->setEnabled(false);
txtComposite->setEnabled(false);
}
}
void MainWindow::composite_ean_check()
{
if (metaObject()->enumerator(0).value(bstyle->currentIndex())!=BARCODE_CODE128)
return;
if(!m_optionWidget->findChild<QRadioButton*>("radC128EAN")->isChecked())
chkComposite->setChecked(false);
}
void MainWindow::maxi_primary()
{
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);
} else {
m_optionWidget->findChild<QLabel*>("lblMaxiPrimary")->setEnabled(false);
m_optionWidget->findChild<QLineEdit*>("txtMaxiPrimary")->setEnabled(false);
}
}
void MainWindow::update_preview()
{
QString error;
m_bc.ar=(Zint::QZint::AspectRatioMode)1;
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);
m_bc.bc.setHideText(0);
if(chkHRTHide->isChecked() == false) {
m_bc.bc.setHideText(1);
}
switch(metaObject()->enumerator(0).value(bstyle->currentIndex()))
{
case BARCODE_CODE128:
if(m_optionWidget->findChild<QRadioButton*>("radC128Stand")->isChecked())
m_bc.bc.setSymbol(BARCODE_CODE128);
if(m_optionWidget->findChild<QRadioButton*>("radC128CSup")->isChecked())
m_bc.bc.setSymbol(BARCODE_CODE128B);
if(m_optionWidget->findChild<QRadioButton*>("radC128EAN")->isChecked())
{
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_EAN128_CC);
else
m_bc.bc.setSymbol(BARCODE_EAN128);
}
if(m_optionWidget->findChild<QRadioButton*>("radC128HIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_128);
break;
case BARCODE_EANX:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_EANX_CC);
else
m_bc.bc.setSymbol(BARCODE_EANX);
break;
case BARCODE_UPCA:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_UPCA_CC);
else
m_bc.bc.setSymbol(BARCODE_UPCA);
break;
case BARCODE_UPCE:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_UPCE_CC);
else
m_bc.bc.setSymbol(BARCODE_UPCE);
break;
case BARCODE_RSS14:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS14_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS14);
break;
case BARCODE_RSS_LTD:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS_LTD_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS_LTD);
break;
case BARCODE_RSS_EXP:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS_EXP_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS_EXP);
break;
case BARCODE_RSS14STACK:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS14STACK_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS14STACK);
break;
case BARCODE_RSS14STACK_OMNI:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS14_OMNI_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS14STACK_OMNI);
break;
case BARCODE_RSS_EXPSTACK:
if(chkComposite->isChecked())
m_bc.bc.setSymbol(BARCODE_RSS_EXPSTACK_CC);
else
m_bc.bc.setSymbol(BARCODE_RSS_EXPSTACK);
if(m_optionWidget->findChild<QComboBox*>("cmbCols")->currentIndex() != 0)
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbCols")->currentIndex());
break;
case BARCODE_PDF417:
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())
m_bc.bc.setSymbol(BARCODE_PDF417);
if(m_optionWidget->findChild<QRadioButton*>("radPDFTruncated")->isChecked())
m_bc.bc.setSymbol(BARCODE_PDF417TRUNC);
if(m_optionWidget->findChild<QRadioButton*>("radPDFHIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_PDF);
break;
case BARCODE_MICROPDF417:
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMPDFCols")->currentIndex());
if(m_optionWidget->findChild<QRadioButton*>("radMPDFStand")->isChecked())
m_bc.bc.setSymbol(BARCODE_MICROPDF417);
if(m_optionWidget->findChild<QRadioButton*>("radMPDFHIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_MICPDF);
break;
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());
break;
case BARCODE_AZTEC:
m_bc.bc.setSymbol(BARCODE_AZTEC);
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);
if(m_optionWidget->findChild<QRadioButton*>("radAztecGS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
if(m_optionWidget->findChild<QRadioButton*>("radAztecHIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_AZTEC);
break;
case BARCODE_MSI_PLESSEY:
m_bc.bc.setSymbol(BARCODE_MSI_PLESSEY);
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMSICheck")->currentIndex());
break;
case BARCODE_CODE39:
if(m_optionWidget->findChild<QRadioButton*>("radC39HIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_39);
else
{
m_bc.bc.setSymbol(BARCODE_CODE39);
if(m_optionWidget->findChild<QRadioButton*>("radC39Check")->isChecked())
m_bc.bc.setWidth(1);
}
break;
case BARCODE_EXCODE39:
m_bc.bc.setSymbol(BARCODE_EXCODE39);
if(m_optionWidget->findChild<QRadioButton*>("radC39Check")->isChecked())
m_bc.bc.setWidth(1);
break;
case BARCODE_CODE16K:
m_bc.bc.setSymbol(BARCODE_CODE16K);
if(m_optionWidget->findChild<QRadioButton*>("radC16kStand")->isChecked())
m_bc.bc.setInputMode(UNICODE_MODE);
else
m_bc.bc.setInputMode(GS1_MODE);
break;
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;
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);
if(m_optionWidget->findChild<QRadioButton*>("radDM200GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbDM200Size")->currentIndex());
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);
}
break;
case BARCODE_QRCODE:
if(m_optionWidget->findChild<QRadioButton*>("radQRHIBC")->isChecked())
m_bc.bc.setSymbol(BARCODE_HIBC_QR);
else
m_bc.bc.setSymbol(BARCODE_QRCODE);
if(m_optionWidget->findChild<QRadioButton*>("radQRGS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
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);
break;
case BARCODE_MICROQR:
m_bc.bc.setSymbol(BARCODE_MICROQR);
if(m_optionWidget->findChild<QRadioButton*>("radMQRSize")->isChecked())
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbMQRSize")->currentIndex());
if(m_optionWidget->findChild<QRadioButton*>("radMQRECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbMQRECC")->currentIndex() + 1);
break;
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;
case BARCODE_MAXICODE:
m_bc.bc.setSymbol(BARCODE_MAXICODE);
if(m_optionWidget->findChild<QComboBox*>("cmbMaxiMode")->currentIndex() == 0)
{
m_bc.bc.setSecurityLevel(2);
m_bc.bc.setPrimaryMessage(m_optionWidget->findChild<QLineEdit*>("txtMaxiPrimary")->text());
}
else
m_bc.bc.setSecurityLevel(m_optionWidget->findChild<QComboBox*>("cmbMaxiMode")->currentIndex() + 3);
break;
case BARCODE_CHANNEL:
m_bc.bc.setSymbol(BARCODE_CHANNEL);
if(m_optionWidget->findChild<QComboBox*>("cmbChannel")->currentIndex() == 0)
m_bc.bc.setWidth(0);
else
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbChannel")->currentIndex() + 2);
break;
case BARCODE_CODEONE:
m_bc.bc.setSymbol(BARCODE_CODEONE);
if(m_optionWidget->findChild<QRadioButton*>("radC1GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
m_bc.bc.setWidth(m_optionWidget->findChild<QComboBox*>("cmbC1Size")->currentIndex());
break;
case BARCODE_CODE49:
m_bc.bc.setSymbol(BARCODE_CODE49);
if(m_optionWidget->findChild<QRadioButton*>("radC49GS1")->isChecked())
m_bc.bc.setInputMode(GS1_MODE);
break;
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);
break;
default:
m_bc.bc.setSymbol(metaObject()->enumerator(0).value(bstyle->currentIndex()));
break;
}
if(chkComposite->isChecked())
m_bc.bc.setSecurityLevel(cmbCompType->currentIndex());
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());
m_bc.bc.setFgColor(m_fgcolor);
m_bc.bc.setBgColor(m_bgcolor);
m_bc.update();
view->scene()->update();
}

145
frontend_qt/mainwindow.h Normal file
View file

@ -0,0 +1,145 @@
/***************************************************************************
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
* Copyright (C) 2009-2016 by 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 *
* the Free Software Foundation, either version 3 of the License, or *
* (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/>. *
***************************************************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include <QGraphicsItem>
#include <QMainWindow>
#include "ui_mainWindow.h"
#include "barcodeitem.h"
class QAction;
class QActionGroup;
class QLabel;
class QMenu;
class MainWindow : public QWidget, private Ui::mainWindow
{
Q_OBJECT
Q_ENUMS(BarcodeTypes)
public:
enum BarcodeTypes
{
AUSREDIRECT =68,
AUSREPLY =66,
AUSROUTE =67,
AUSPOST =63,
AZTEC =92,
AZRUNE =128,
CHANNEL =140,
CODABAR =18,
CODABLOCK =74,
CODE11 =1,
CODE128 =20,
CODE16K =23,
C25LOGIC =6,
C25IATA =4,
C25IND =7,
C25INTER =3,
C25MATRIX =2,
CODE32 =129,
CODE39 =8,
EXCODE39 =9,
CODE49 =24,
CODE93 =25,
CODE_ONE =141,
DATAMATRIX =71,
DPIDENT =22,
DPLEIT =21,
DOTCODE =115,
KIX =90,
EAN14 =72,
EANX =13,
FIM =49,
FLAT =28,
GRIDMATRIX =142,
RSS_EXP =31,
RSS_EXPSTACK =81,
RSS_LTD =30,
RSS14 =29,
RSS14STACK =79,
RSS14STACK_OMNI =80,
HANXIN =116,
ITF14 =89,
ISBNX =69,
JAPANPOST =76,
KOREAPOST =77,
LOGMARS =50,
MAXICODE =57,
MICROPDF417 =84,
MICROQR =97,
MSI_PLESSEY =47,
NVE18 =75,
PDF417 =55,
PHARMA =51,
PHARMA_TWO =53,
PZN =52,
PLANET =82,
POSTNET =40,
QRCODE =58,
RM4SCC =70,
TELEPEN =32,
TELEPEN_NUM =87,
PLESSEY =86,
UPCA =34,
UPCE =37,
ONECODE =85
};
public:
MainWindow(QWidget* parent = 0, Qt::WindowFlags fl = 0);
~MainWindow();
public slots:
void update_preview();
void change_options();
void on_fgcolor_clicked();
void on_bgcolor_clicked();
void composite_enable();
void composite_ean_check();
void maxi_primary();
void change_print_scale();
private slots:
bool save();
void about();
void quit_now();
void reset_view();
int open_data_dialog();
int open_sequence_dialog();
private:
/* void createActions();
void createMenus(); */
QColor m_fgcolor,m_bgcolor;
BarcodeItem m_bc;
QWidget *m_optionWidget;
/* QMenu *fileMenu;
QMenu *helpMenu;
QAction *saveAct;
QAction *aboutQtAct; */
};
#endif

85
frontend_qt/res/qtZint.rc Normal file
View file

@ -0,0 +1,85 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winver.h>
#ifdef GCC_WINDRES
VS_VERSION_INFO VERSIONINFO
#else
VS_VERSION_INFO VERSIONINFO
#endif
FILEVERSION 2,3,0,0
PRODUCTVERSION 2,3,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000904b0"
BEGIN
VALUE "CompanyName", "Robin Stuart & BogDan Vatra"
VALUE "FileDescription", "qtZint barcode generator"
VALUE "FileVersion", "2.3.2.0"
VALUE "InternalName", "qtZint"
VALUE "LegalCopyright", "Copyright © 2010 Robin Stuart & BogDan Vatra"
VALUE "License", "GNU General Public License version 3"
VALUE "OriginalFilename", "qtZint"
VALUE "ProductName", "Zint Barcode Studio"
VALUE "ProductVersion", "2.3.2.0"
VALUE "WWW", "http://www.zint.org.uk"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x9, 1200
END
END
100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "zint.ico"

BIN
frontend_qt/res/zint.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

28
frontend_qt/resources.qrc Normal file
View file

@ -0,0 +1,28 @@
<RCC>
<qresource prefix="/">
<file>images/zoomout.png</file>
<file>images/rotateleft.png</file>
<file>images/rotateright.png</file>
<file>images/zoomin.png</file>
<file>grpAztec.ui</file>
<file>grpC39.ui</file>
<file>grpDM.ui</file>
<file>grpMSICheck.ui</file>
<file>grpC128.ui</file>
<file>grpChannel.ui</file>
<file>grpMicroPDF.ui</file>
<file>grpMaxicode.ui</file>
<file>grpPDF417.ui</file>
<file>grpC16k.ui</file>
<file>grpMQR.ui</file>
<file>grpQR.ui</file>
<file>grpCodeOne.ui</file>
<file>grpC49.ui</file>
<file>grpGrid.ui</file>
<file>grpDBExtend.ui</file>
<file>images/zint.png</file>
<file>grpHX.ui</file>
<file>grpDotCode.ui</file>
<file>grpCodablockF.ui</file>
</qresource>
</RCC>

View file

@ -0,0 +1,194 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <QDebug>
#include <QFile>
#include <QUiLoader>
#include <QFileDialog>
#include <QMessageBox>
#include "sequencewindow.h"
#include "exportwindow.h"
#include <stdio.h>
SequenceWindow::SequenceWindow()
{
setupUi(this);
QValidator *intvalid = new QIntValidator(this);
linStartVal->setValidator(intvalid);
linEndVal->setValidator(intvalid);
linIncVal->setValidator(intvalid);
connect(btnClose, SIGNAL( clicked( bool )), SLOT(quit_now()));
connect(btnReset, SIGNAL( clicked( bool )), SLOT(reset_preview()));
connect(btnCreate, SIGNAL( clicked( bool )), SLOT(create_sequence()));
connect(txtPreview, SIGNAL( textChanged()), SLOT(check_generate()));
connect(btnImport, SIGNAL( clicked( bool )), SLOT(import()));
connect(btnExport, SIGNAL( clicked( bool )), SLOT(generate_sequence()));
}
SequenceWindow::~SequenceWindow()
{
}
void SequenceWindow::quit_now()
{
close();
}
void SequenceWindow::reset_preview()
{
txtPreview->clear();
}
QString SequenceWindow::apply_format(QString raw_number)
{
QString adjusted, reversed;
QString format;
int format_len, input_len, i, inpos;
char format_char;
QChar format_qchar;
format = linFormat->text();
input_len = raw_number.length();
format_len = format.length();
inpos = input_len;
for(i = format_len; i > 0; i--) {
format_qchar = format[i - 1];
format_char = format_qchar.toLatin1();
switch(format_char) {
case '#':
if (inpos > 0) {
adjusted += raw_number[inpos - 1];
inpos--;
} else {
adjusted += ' ';
}
break;
case '$':
if (inpos > 0) {
adjusted += raw_number[inpos - 1];
inpos--;
} else {
adjusted += '0';
}
break;
case '*':
if (inpos > 0) {
adjusted += raw_number[inpos - 1];
inpos--;
} else {
adjusted += '*';
}
break;
default:
adjusted += format_char;
break;
}
}
for(i = format_len; i > 0; i--) {
reversed += adjusted[i - 1];
}
return reversed;
}
void SequenceWindow::create_sequence()
{
QString startval, endval, incval, part, outputtext;
int start, stop, step, i;
bool ok;
startval = linStartVal->text();
endval = linEndVal->text();
incval = linIncVal->text();
start = startval.toInt(&ok, 10);
stop = endval.toInt(&ok, 10);
step = incval.toInt(&ok, 10);
if((stop <= start) || (step <= 0)) {
QMessageBox::critical(this, tr("Sequence Error"), tr("One or more of the input values is incorrect."));
return;
}
for(i = start; i <= stop; i += step) {
part = apply_format(QString::number(i, 10));
part += '\n';
outputtext += part;
}
txtPreview->setPlainText(outputtext);
}
void SequenceWindow::check_generate()
{
QString preview_copy;
preview_copy = txtPreview->toPlainText();
if(preview_copy.isEmpty()) {
btnExport->setEnabled(false);
} else {
btnExport->setEnabled(true);
}
}
void SequenceWindow::import()
{
//QString fileName;
//QFileDialog fdialog;
QFile file;
QString selectedFilter;
//fdialog.setFileMode(QFileDialog::ExistingFile);
//if(fdialog.exec()) {
// fileName = fdialog.selectedFiles().at(0);
//} else {
// return;
//}
QString fileName = QFileDialog::getOpenFileName(this,
tr("Import File"),
"./",
tr("All Files (*);;Text Files (*.txt)"));
if (fileName.isEmpty())
return;
file.setFileName(fileName);
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QMessageBox::critical(this, tr("Open Error"), tr("Could not open selected file."));
return;
}
QByteArray outstream = file.readAll();
txtPreview->setPlainText(QString(outstream));
file.close();
}
void SequenceWindow::generate_sequence()
{
ExportWindow dlg;
dlg.barcode = barcode;
dlg.output_data = txtPreview->toPlainText();
dlg.exec();
}

View file

@ -0,0 +1,47 @@
/*
Zint Barcode Generator - the open source barcode generator
Copyright (C) 2009-2016 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
the Free Software Foundation; either version 3 of the License, or
(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, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef SEQUENCEWINDOW_H
#define SEQUENCEWINDOW_H
#include "ui_extSequence.h"
#include "barcodeitem.h"
class SequenceWindow : public QDialog, private Ui::SequenceDialog
{
Q_OBJECT
public:
SequenceWindow();
~SequenceWindow();
BarcodeItem *barcode;
private:
QString apply_format(QString raw_number);
private slots:
void quit_now();
void reset_preview();
void create_sequence();
void check_generate();
void import();
void generate_sequence();
};
#endif