2008-07-18 18:49:14 +04:00
/***************************************************************************
2009-04-27 02:04:51 +04:00
* Copyright ( C ) 2008 by BogDan Vatra < bogdan @ licentia . eu > *
2021-01-11 21:11:41 +03:00
* Copyright ( C ) 2009 - 2021 by Robin Stuart < rstuart114 @ gmail . com > *
2008-07-18 18:49:14 +04:00
* *
2008-09-17 22:38:53 +04:00
* This program is free software : you can redistribute it and / or modify *
2008-07-18 18:49:14 +04:00
* it under the terms of the GNU General Public License as published by *
2008-09-17 22:38:53 +04:00
* the Free Software Foundation , either version 3 of the License , or *
2008-07-18 18:49:14 +04:00
* ( at your option ) any later version . *
* This program is distributed in the hope that it will be useful , *
* but WITHOUT ANY WARRANTY ; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the *
* GNU General Public License for more details . *
* You should have received a copy of the GNU General Public License *
2008-09-17 22:38:53 +04:00
* along with this program . If not , see < http : //www.gnu.org/licenses/>. *
2008-07-18 18:49:14 +04:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2020-05-16 12:22:33 +03:00
/* vim: set ts=4 sw=4 et : */
2008-07-18 18:49:14 +04:00
2020-09-30 14:19:12 +03:00
//#include <QDebug>
2008-07-18 18:49:14 +04:00
# include <QGraphicsScene>
# include <QImage>
# include <QColorDialog>
2009-05-22 01:00:23 +04:00
# include <QUiLoader>
# include <QFile>
2016-12-11 18:29:06 +03:00
# include <QRadioButton>
# include <QFileDialog>
# include <QMessageBox>
2017-01-14 19:34:03 +03:00
# include <QSettings>
2017-04-22 14:21:27 +03:00
# include <QClipboard>
# include <QMimeData>
2017-06-17 17:34:41 +03:00
# include <QColor>
2020-09-30 14:19:12 +03:00
# include <QListView>
# include <QShortcut>
2008-07-18 18:49:14 +04:00
# include "mainwindow.h"
2009-09-17 12:01:49 +04:00
# include "datawindow.h"
# include "sequencewindow.h"
2009-04-27 02:04:51 +04:00
# include <stdio.h>
2008-07-18 18:49:14 +04:00
2016-12-11 18:29:06 +03:00
MainWindow : : MainWindow ( QWidget * parent , Qt : : WindowFlags fl )
2021-05-17 22:04:00 +03:00
: QWidget ( parent , fl ) , m_optionWidget ( nullptr ) , m_symbology ( 0 )
2008-07-18 18:49:14 +04:00
{
2020-07-10 21:39:32 +03:00
m_bc . bc . setDebug ( QCoreApplication : : arguments ( ) . contains ( " --verbose " ) ) ; // Undocumented command line debug flag
2017-10-23 22:37:52 +03:00
2017-07-27 18:01:53 +03:00
QCoreApplication : : setOrganizationName ( " zint " ) ;
2017-01-14 19:34:03 +03:00
QCoreApplication : : setOrganizationDomain ( " zint.org.uk " ) ;
QCoreApplication : : setApplicationName ( " Barcode Studio " ) ;
2017-10-23 22:37:52 +03:00
2017-01-14 19:34:03 +03:00
QSettings settings ;
2021-01-11 21:11:41 +03:00
# if QT_VERSION < 0x60000
2020-10-27 18:11:33 +03:00
settings . setIniCodec ( " UTF-8 " ) ;
2021-01-11 21:11:41 +03:00
# endif
2009-05-19 18:05:26 +04:00
2019-11-26 00:20:21 +03:00
char bstyle_text [ ] [ 50 ] = {
" Australia Post Redirect Code " ,
" Australia Post Reply-Paid " ,
" Australia Post Routing Code " ,
" Australia Post Standard Customer " ,
2020-10-04 00:51:08 +03:00
" Aztec Code (ISO 24778) (and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Aztec Runes " ,
" Channel Code " ,
" Codabar " ,
2020-10-04 00:51:08 +03:00
" Codablock-F (and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Code 11 " ,
2020-10-04 00:51:08 +03:00
" Code 128 (ISO 15417) (and GS1-128 and HIBC) " ,
2021-06-10 13:15:39 +03:00
" Code 16k (ISO 12323) " ,
2019-11-26 00:20:21 +03:00
" Code 2 of 5 Data Logic " ,
" Code 2 of 5 IATA " ,
" Code 2 of 5 Industrial " ,
2021-06-10 13:15:39 +03:00
" Code 2 of 5 Interleaved (ISO 16390) " ,
2020-10-04 00:51:08 +03:00
" Code 2 of 5 Standard (Matrix) " ,
2019-11-26 00:20:21 +03:00
" Code 32 (Italian Pharmacode) " ,
2020-10-04 00:51:08 +03:00
" Code 39 (ISO 16388) (and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Code 39 Extended " ,
" Code 49 " ,
" Code 93 " ,
" Code One " ,
2020-06-04 20:45:25 +03:00
" DAFT Code " ,
2020-10-04 00:51:08 +03:00
" Data Matrix (ISO 16022) (and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Deutsche Post Identcode " ,
" Deutsche Post Leitcode " ,
" DotCode " ,
2020-08-03 19:27:42 +03:00
" DPD Code " ,
2019-11-26 00:20:21 +03:00
" Dutch Post KIX " ,
" EAN-14 " ,
" European Article Number (EAN) " ,
" Facing Identification Mark (FIM) " ,
" Flattermarken " ,
" Grid Matrix " ,
2020-07-10 21:39:32 +03:00
" GS1 DataBar Expanded " ,
" GS1 DataBar Expanded Stacked " ,
2019-11-26 00:20:21 +03:00
" GS1 DataBar Limited " ,
2020-07-10 21:39:32 +03:00
" GS1 DataBar Omnidirectional (and Truncated) " ,
2019-11-26 00:20:21 +03:00
" GS1 DataBar Stacked " ,
" GS1 DataBar Stacked Omnidirectional " ,
" Han Xin (Chinese Sensible) Code " ,
" International Standard Book Number (ISBN) " ,
2020-07-10 21:39:32 +03:00
" ITF-14 " ,
2019-11-26 00:20:21 +03:00
" Japanese Postal Barcode " ,
" Korean Postal Barcode " ,
" LOGMARS " ,
2020-12-19 20:13:35 +03:00
" MaxiCode (ISO 16023) " ,
2020-10-04 00:51:08 +03:00
" MicroPDF417 (ISO 24728) (and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Micro QR Code " ,
" MSI Plessey " ,
2020-07-15 21:00:12 +03:00
" NVE-18 (SSCC-18) " ,
2020-10-04 00:51:08 +03:00
" PDF417 (ISO 15438) (and Compact and HIBC) " ,
2019-11-26 00:20:21 +03:00
" Pharmacode " ,
" Pharmacode 2-track " ,
" Pharma Zentralnummer (PZN) " ,
" PLANET " ,
2020-10-04 00:51:08 +03:00
" POSTNET " ,
" QR Code (ISO 18004) (and HIBC) " ,
2019-11-27 19:54:03 +03:00
" Rectangular Micro QR (rMQR) " ,
2019-11-26 00:20:21 +03:00
" Royal Mail 4-state Barcode " ,
" Royal Mail 4-state Mailmark " ,
" Telepen " ,
" Telepen Numeric " ,
" UK Plessey " ,
2020-04-06 18:37:34 +03:00
" Ultracode " ,
2019-11-26 00:20:21 +03:00
" Universal Product Code (UPC-A) " ,
" Universal Product Code (UPC-E) " ,
2020-07-10 21:39:32 +03:00
" UPNQR " ,
" USPS Intelligent Mail (OneCode) " ,
2020-06-04 20:45:25 +03:00
" VIN (Vehicle Identification Number) "
2019-11-26 00:20:21 +03:00
} ;
scene = new QGraphicsScene ( this ) ;
setupUi ( this ) ;
view - > setScene ( scene ) ;
2020-09-30 14:19:12 +03:00
restoreGeometry ( settings . value ( " studio/window_geometry " ) . toByteArray ( ) ) ;
m_fgcolor . setRgb ( settings . value ( " studio/ink/red " , 0 ) . toInt ( ) ,
2020-07-10 21:39:32 +03:00
settings . value ( " studio/ink/green " , 0 ) . toInt ( ) ,
2020-08-03 23:08:48 +03:00
settings . value ( " studio/ink/blue " , 0 ) . toInt ( ) ,
settings . value ( " studio/ink/alpha " , 0xff ) . toInt ( ) ) ;
2020-09-30 14:19:12 +03:00
m_bgcolor . setRgb ( settings . value ( " studio/paper/red " , 0xff ) . toInt ( ) ,
2020-07-10 21:39:32 +03:00
settings . value ( " studio/paper/green " , 0xff ) . toInt ( ) ,
2020-08-03 23:08:48 +03:00
settings . value ( " studio/paper/blue " , 0xff ) . toInt ( ) ,
settings . value ( " studio/paper/alpha " , 0xff ) . toInt ( ) ) ;
2020-07-10 21:39:32 +03:00
2020-09-30 14:19:12 +03:00
int cnt = metaObject ( ) - > enumerator ( 0 ) . keyCount ( ) ;
for ( int i = 0 ; i < cnt ; i + + ) {
2019-11-26 00:20:21 +03:00
bstyle - > addItem ( metaObject ( ) - > enumerator ( 0 ) . key ( i ) ) ;
2021-05-20 20:22:57 +03:00
bstyle - > setItemText ( i , tr ( bstyle_text [ i ] ) ) ;
2019-11-26 00:20:21 +03:00
}
2020-09-30 14:19:12 +03:00
# ifdef _WIN32
bstyle - > setMaxVisibleItems ( cnt ) ; /* Apart from increasing combo size, seems to be needed for filter to work */
# endif
2021-01-11 21:11:41 +03:00
# if QT_VERSION < 0x50A00
2020-09-30 14:19:12 +03:00
/* Prior to Qt 5.10 comboboxes have display issues when filtered (scrollers not accounted for), so disable */
filter_bstyle - > hide ( ) ;
# endif
2020-07-10 21:39:32 +03:00
2019-11-26 00:20:21 +03:00
bstyle - > setCurrentIndex ( settings . value ( " studio/symbology " , 10 ) . toInt ( ) ) ;
2020-07-10 21:39:32 +03:00
2021-05-20 20:22:57 +03:00
txtData - > setText ( settings . value ( " studio/data " , tr ( " Your Data Here! " ) ) . toString ( ) ) ;
txtComposite - > setText ( settings . value ( " studio/composite_text " , tr ( " Your Data Here! " ) ) . toString ( ) ) ;
2020-09-30 14:19:12 +03:00
chkComposite - > setChecked ( settings . value ( " studio/chk_composite " ) . toInt ( ) ? true : false ) ;
cmbCompType - > setCurrentIndex ( settings . value ( " studio/comp_type " , 0 ) . toInt ( ) ) ;
cmbECI - > setCurrentIndex ( settings . value ( " studio/appearance/eci " , 0 ) . toInt ( ) ) ;
chkEscape - > setChecked ( settings . value ( " studio/chk_escape " ) . toInt ( ) ? true : false ) ;
chkData - > setChecked ( settings . value ( " studio/chk_data " ) . toInt ( ) ? true : false ) ;
chkRInit - > setChecked ( settings . value ( " studio/chk_rinit " ) . toInt ( ) ? true : false ) ;
2021-05-15 14:23:46 +03:00
chkGS1Parens - > setChecked ( settings . value ( " studio/chk_gs1parens " ) . toInt ( ) ? true : false ) ;
2020-09-30 14:19:12 +03:00
chkAutoHeight - > setChecked ( settings . value ( " studio/appearance/autoheight " , 1 ) . toInt ( ) ? true : false ) ;
2020-07-10 21:39:32 +03:00
heightb - > setValue ( settings . value ( " studio/appearance/height " , 50 ) . toInt ( ) ) ;
2020-09-30 14:19:12 +03:00
bwidth - > setValue ( settings . value ( " studio/appearance/border " , 0 ) . toInt ( ) ) ;
2020-07-10 21:39:32 +03:00
spnWhitespace - > setValue ( settings . value ( " studio/appearance/whitespace " , 0 ) . toInt ( ) ) ;
2021-05-25 22:42:26 +03:00
spnVWhitespace - > setValue ( settings . value ( " studio/appearance/vwhitespace " , 0 ) . toInt ( ) ) ;
2020-07-10 21:39:32 +03:00
spnScale - > setValue ( settings . value ( " studio/appearance/scale " , 1.0 ) . toFloat ( ) ) ;
btype - > setCurrentIndex ( settings . value ( " studio/appearance/border_type " , 0 ) . toInt ( ) ) ;
2020-09-30 14:19:12 +03:00
cmbFontSetting - > setCurrentIndex ( settings . value ( " studio/appearance/font_setting " , 0 ) . toInt ( ) ) ;
chkHRTShow - > setChecked ( settings . value ( " studio/appearance/chk_hrt_show " , 1 ) . toInt ( ) ? true : false ) ;
chkCMYK - > setChecked ( settings . value ( " studio/appearance/cmyk " , 0 ) . toInt ( ) ? true : false ) ;
cmbRotate - > setCurrentIndex ( settings . value ( " studio/appearance/rotate " , 0 ) . toInt ( ) ) ;
chkDotty - > setChecked ( settings . value ( " studio/appearance/dotty " , 0 ) . toInt ( ) ? true : false ) ;
spnDotSize - > setValue ( settings . value ( " studio/appearance/dot_size " , 4.0 / 5.0 ) . toFloat ( ) ) ;
2020-07-10 21:39:32 +03:00
2019-11-26 00:20:21 +03:00
change_options ( ) ;
2020-09-30 14:19:12 +03:00
2020-07-10 21:39:32 +03:00
scene - > addItem ( & m_bc ) ;
2019-11-26 00:20:21 +03:00
update_preview ( ) ;
2020-07-10 21:39:32 +03:00
2019-11-26 00:20:21 +03:00
connect ( bstyle , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( change_options ( ) ) ) ;
connect ( bstyle , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( filter_bstyle , SIGNAL ( textChanged ( const QString & ) ) , SLOT ( filter_symbologies ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( heightb , SIGNAL ( valueChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( bwidth , SIGNAL ( valueChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( btype , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( cmbFontSetting , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( txtData , SIGNAL ( textChanged ( const QString & ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( txtComposite , SIGNAL ( textChanged ( ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( chkComposite , SIGNAL ( stateChanged ( int ) ) , SLOT ( composite_ui_set ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( chkComposite , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( cmbCompType , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( cmbECI , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-06-04 20:45:25 +03:00
connect ( chkEscape , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-07-19 02:13:03 +03:00
connect ( chkData , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( chkRInit , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-15 14:23:46 +03:00
connect ( chkGS1Parens , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( spnWhitespace , SIGNAL ( valueChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-25 22:42:26 +03:00
connect ( spnVWhitespace , SIGNAL ( valueChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( btnAbout , SIGNAL ( clicked ( bool ) ) , SLOT ( about ( ) ) ) ;
connect ( btnSave , SIGNAL ( clicked ( bool ) ) , SLOT ( save ( ) ) ) ;
connect ( spnScale , SIGNAL ( valueChanged ( double ) ) , SLOT ( change_print_scale ( ) ) ) ;
connect ( btnExit , SIGNAL ( clicked ( bool ) ) , SLOT ( quit_now ( ) ) ) ;
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 ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( chkAutoHeight , SIGNAL ( stateChanged ( int ) ) , SLOT ( autoheight_ui_set ( ) ) ) ;
connect ( chkAutoHeight , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( chkHRTShow , SIGNAL ( stateChanged ( int ) ) , SLOT ( HRTShow_ui_set ( ) ) ) ;
connect ( chkHRTShow , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( chkCMYK , SIGNAL ( stateChanged ( int ) ) , SLOT ( change_cmyk ( ) ) ) ;
connect ( cmbRotate , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( chkDotty , SIGNAL ( stateChanged ( int ) ) , SLOT ( dotty_ui_set ( ) ) ) ;
connect ( chkDotty , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( spnDotSize , SIGNAL ( valueChanged ( double ) ) , SLOT ( update_preview ( ) ) ) ;
2017-05-15 23:12:19 +03:00
connect ( btnCopySVG , SIGNAL ( clicked ( bool ) ) , SLOT ( copy_to_clipboard_svg ( ) ) ) ;
connect ( btnCopyBMP , SIGNAL ( clicked ( bool ) ) , SLOT ( copy_to_clipboard_bmp ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( & m_bc . bc , SIGNAL ( encoded ( ) ) , SLOT ( on_encoded ( ) ) ) ;
2020-10-04 00:51:08 +03:00
QShortcut * ctrl_q = new QShortcut ( QKeySequence ( Qt : : CTRL | Qt : : Key_Q ) , this ) ;
2020-09-30 14:19:12 +03:00
connect ( ctrl_q , SIGNAL ( activated ( ) ) , SLOT ( quit_now ( ) ) ) ;
2008-07-18 18:49:14 +04:00
}
MainWindow : : ~ MainWindow ( )
{
2017-01-14 19:34:03 +03:00
QSettings settings ;
2021-01-11 21:11:41 +03:00
# if QT_VERSION < 0x60000
2020-10-27 18:11:33 +03:00
settings . setIniCodec ( " UTF-8 " ) ;
2021-01-11 21:11:41 +03:00
# endif
2017-10-23 22:37:52 +03:00
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/window_geometry " , saveGeometry ( ) ) ;
settings . setValue ( " studio/tab_index " , tabMain - > currentIndex ( ) ) ;
2017-01-14 19:34:03 +03:00
settings . setValue ( " studio/symbology " , bstyle - > currentIndex ( ) ) ;
settings . setValue ( " studio/ink/red " , m_fgcolor . red ( ) ) ;
settings . setValue ( " studio/ink/green " , m_fgcolor . green ( ) ) ;
settings . setValue ( " studio/ink/blue " , m_fgcolor . blue ( ) ) ;
2020-08-03 23:08:48 +03:00
settings . setValue ( " studio/ink/alpha " , m_fgcolor . alpha ( ) ) ;
2017-01-14 19:34:03 +03:00
settings . setValue ( " studio/paper/red " , m_bgcolor . red ( ) ) ;
settings . setValue ( " studio/paper/green " , m_bgcolor . green ( ) ) ;
settings . setValue ( " studio/paper/blue " , m_bgcolor . blue ( ) ) ;
2020-08-03 23:08:48 +03:00
settings . setValue ( " studio/paper/alpha " , m_bgcolor . alpha ( ) ) ;
2017-07-26 23:57:47 +03:00
settings . setValue ( " studio/data " , txtData - > text ( ) ) ;
settings . setValue ( " studio/composite_text " , txtComposite - > toPlainText ( ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/chk_composite " , chkComposite - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/comp_type " , cmbCompType - > currentIndex ( ) ) ;
settings . setValue ( " studio/eci " , cmbECI - > currentIndex ( ) ) ;
settings . setValue ( " studio/chk_escape " , chkEscape - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/chk_data " , chkData - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/chk_rinit " , chkRInit - > isChecked ( ) ? 1 : 0 ) ;
2021-05-15 14:23:46 +03:00
settings . setValue ( " studio/chk_gs1parens " , chkGS1Parens - > isChecked ( ) ? 1 : 0 ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/appearance/autoheight " , chkAutoHeight - > isChecked ( ) ? 1 : 0 ) ;
2017-07-26 23:57:47 +03:00
settings . setValue ( " studio/appearance/height " , heightb - > value ( ) ) ;
settings . setValue ( " studio/appearance/border " , bwidth - > value ( ) ) ;
settings . setValue ( " studio/appearance/whitespace " , spnWhitespace - > value ( ) ) ;
2021-05-25 22:42:26 +03:00
settings . setValue ( " studio/appearance/vwhitespace " , spnVWhitespace - > value ( ) ) ;
2017-07-26 23:57:47 +03:00
settings . setValue ( " studio/appearance/scale " , spnScale - > value ( ) ) ;
settings . setValue ( " studio/appearance/border_type " , btype - > currentIndex ( ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/appearance/font_setting " , cmbFontSetting - > currentIndex ( ) ) ;
settings . setValue ( " studio/appearance/chk_hrt_show " , chkHRTShow - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/appearance/chk_cmyk " , chkCMYK - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/appearance/rotate " , cmbRotate - > currentIndex ( ) ) ;
settings . setValue ( " studio/appearance/chk_dotty " , chkDotty - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( " studio/appearance/dot_size " , spnDotSize - > value ( ) ) ;
save_sub_settings ( settings , m_bc . bc . symbol ( ) ) ;
2008-07-18 18:49:14 +04:00
}
2009-07-16 16:59:22 +04:00
2016-12-15 02:33:17 +03:00
void MainWindow : : resizeEvent ( QResizeEvent * event )
{
QWidget : : resizeEvent ( event ) ;
update_preview ( ) ;
2008-07-18 18:49:14 +04:00
}
2009-07-16 16:59:22 +04:00
void MainWindow : : reset_view ( )
{
2020-09-30 14:19:12 +03:00
m_fgcolor . setRgb ( 0 , 0 , 0 , 0xff ) ;
m_bgcolor . setRgb ( 0xff , 0xff , 0xff , 0xff ) ;
2019-11-26 00:20:21 +03:00
update_preview ( ) ;
2009-07-16 16:59:22 +04:00
}
2009-05-19 18:05:26 +04:00
bool MainWindow : : save ( )
{
2019-11-26 00:20:21 +03:00
QSettings settings ;
2021-01-11 21:11:41 +03:00
# if QT_VERSION < 0x60000
2020-10-27 18:11:33 +03:00
settings . setIniCodec ( " UTF-8 " ) ;
2021-01-11 21:11:41 +03:00
# endif
2019-11-26 00:20:21 +03:00
QFileDialog save_dialog ;
QString filename ;
QString suffix ;
2017-07-27 12:21:46 +03:00
2019-11-26 00:20:21 +03:00
save_dialog . setAcceptMode ( QFileDialog : : AcceptSave ) ;
2021-05-20 20:22:57 +03:00
save_dialog . setWindowTitle ( tr ( " Save Barcode Image " ) ) ;
2019-11-26 00:20:21 +03:00
save_dialog . setDirectory ( settings . value ( " studio/default_dir " , QDir : : toNativeSeparators ( QDir : : homePath ( ) ) ) . toString ( ) ) ;
2017-10-23 22:37:52 +03:00
2015-08-18 14:50:42 +03:00
# ifdef NO_PNG
2019-11-26 00:20:21 +03:00
suffix = settings . value ( " studio/default_suffix " , " gif " ) . toString ( ) ;
2020-10-26 15:21:43 +03:00
save_dialog . setNameFilter ( tr ( " Encapsulated PostScript (*.eps);;Graphics Interchange Format (*.gif);;Scalable Vector Graphic (*.svg);;Windows Bitmap (*.bmp);;ZSoft PC Painter Image (*.pcx);;Enhanced Metafile (*.emf);;Tagged Image File Format (*.tif) " ) ) ;
2015-08-18 14:50:42 +03:00
# else
2019-11-26 00:20:21 +03:00
suffix = settings . value ( " studio/default_suffix " , " png " ) . toString ( ) ;
2020-10-26 15:21:43 +03:00
save_dialog . setNameFilter ( tr ( " Portable Network Graphic (*.png);;Encapsulated PostScript (*.eps);;Graphics Interchange Format (*.gif);;Scalable Vector Graphic (*.svg);;Windows Bitmap (*.bmp);;ZSoft PC Painter Image (*.pcx);;Enhanced Metafile (*.emf);;Tagged Image File Format (*.tif) " ) ) ;
2015-08-18 14:50:42 +03:00
# endif
2017-10-23 22:37:52 +03:00
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " png " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Portable Network Graphic (*.png) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " eps " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Encapsulated PostScript (*.eps) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " gif " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Graphics Interchange Format (*.gif) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " svg " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Scalable Vector Graphic (*.svg) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " bmp " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Windows Bitmap (*.bmp) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " pcx " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " ZSoft PC Painter Image (*.pcx) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " emf " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Enhanced Metafile (*.emf) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( QString : : compare ( suffix , " tif " , Qt : : CaseInsensitive ) = = 0 )
2021-05-20 20:22:57 +03:00
save_dialog . selectNameFilter ( tr ( " Tagged Image File Format (*.tif) " ) ) ;
2019-11-26 00:20:21 +03:00
if ( save_dialog . exec ( ) ) {
filename = save_dialog . selectedFiles ( ) . at ( 0 ) ;
if ( ( filename . lastIndexOf ( " . " ) = = - 1 ) | | ( filename . lastIndexOf ( " . " ) < ( filename . length ( ) - 5 ) ) ) {
suffix = save_dialog . selectedNameFilter ( ) ;
suffix = suffix . mid ( ( suffix . lastIndexOf ( " . " ) + 1 ) , 3 ) ;
filename . append ( " . " ) ;
filename . append ( suffix ) ;
2017-07-27 12:21:46 +03:00
} else {
2019-11-26 00:20:21 +03:00
suffix = filename . right ( filename . length ( ) - ( filename . lastIndexOf ( ' . ' ) + 1 ) ) ;
2017-07-27 12:21:46 +03:00
}
2019-11-26 00:20:21 +03:00
} else {
return false ;
}
2017-07-27 12:21:46 +03:00
2021-05-20 20:22:57 +03:00
if ( m_bc . bc . save_to_file ( filename ) = = false ) {
2020-09-30 14:19:12 +03:00
if ( m_bc . bc . getError ( ) > = ZINT_ERROR ) {
2020-07-10 21:39:32 +03:00
QMessageBox : : critical ( this , tr ( " Save Error " ) , m_bc . bc . error_message ( ) ) ;
return false ;
} else {
QMessageBox : : warning ( this , tr ( " Save Warning " ) , m_bc . bc . error_message ( ) ) ;
return true ;
}
2019-11-26 00:20:21 +03:00
}
2017-10-23 22:37:52 +03:00
2020-07-10 21:39:32 +03:00
settings . setValue ( " studio/default_dir " , filename . mid ( 0 , filename . lastIndexOf ( QDir : : separator ( ) ) ) ) ;
settings . setValue ( " studio/default_suffix " , suffix ) ;
2019-11-26 00:20:21 +03:00
return true ;
2009-05-19 18:05:26 +04:00
}
void MainWindow : : about ( )
{
2020-09-04 18:38:11 +03:00
QString zint_version ;
2021-05-20 20:22:57 +03:00
2020-11-22 14:29:45 +03:00
int lib_version = ZBarcode_Version ( ) ;
int version_major = lib_version / 10000 ;
int version_minor = ( lib_version % 10000 ) / 100 ;
int version_release = lib_version % 100 ;
int version_build ;
2021-05-20 20:22:57 +03:00
2020-11-22 14:29:45 +03:00
if ( version_release > 10 ) {
/* This is a test release */
version_release = version_release / 10 ;
version_build = lib_version % 10 ;
QTextStream ( & zint_version ) < < version_major < < " . " < < version_minor < < " . " < < version_release < < " . " < < version_build ;
2020-09-04 18:38:11 +03:00
} else {
2020-11-22 14:29:45 +03:00
/* This is a stable release */
QTextStream ( & zint_version ) < < version_major < < " . " < < version_minor < < " . " < < version_release ;
2020-09-04 18:38:11 +03:00
}
2019-11-26 00:20:21 +03:00
QMessageBox : : about ( this , tr ( " About Zint " ) ,
2020-09-04 18:38:11 +03:00
/*: %1 is Zint version, %2 is Qt version */
tr ( " <h2>Zint Barcode Studio %1</h2> "
2019-11-26 00:20:21 +03:00
" <p>A free barcode generator "
" <p>Instruction manual is available at the project homepage:<br> "
" <a href= \" http://www.zint.org.uk \" >http://www.zint.org.uk</a> "
2021-01-11 21:11:41 +03:00
" <p>Copyright © 2006-2021 Robin Stuart and others.<br> "
2019-11-26 00:20:21 +03:00
" Qt back end by BogDan Vatra<br> "
" Windows port by Harald Oehlmann</p> "
2020-09-04 18:38:11 +03:00
" <p>Qt version %2 "
2019-11-26 00:20:21 +03:00
" <p>With thanks to Norbert Szabó, Robert Elliott, "
2020-04-07 19:27:45 +03:00
" Milton Neal, Git Lost and many others at Sourceforge. "
2019-11-26 00:20:21 +03:00
" <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> "
2020-09-30 14:19:12 +03:00
" BS 797:1996, BS 798:1996, ISO/IEC 12323:2005, ISO/IEC 15417:2007,<br> "
2019-11-26 00:20:21 +03:00
" ISO/IEC 15438:2015, ISO/IEC 16022:2006, ISO/IEC 16023:2000,<br> "
" ISO/IEC 16388:2007, ISO/IEC 18004:2015, ISO/IEC 24723:2010,<br> "
" ISO/IEC 24724:2011, ISO/IEC 24728:2006, ISO/IEC 24778:2008,<br> "
2020-09-30 14:19:12 +03:00
" ISO/IEC 21471:2019, ANSI-HIBC 2.6-2016, ANSI/AIM BC6-2000,<br> "
2019-11-26 00:20:21 +03:00
" ANSI/AIM BC12-1998, AIMD014 (v 1.63), USPS-B-3200 "
2020-09-04 18:38:11 +03:00
" </small></td></tr></table> " ) . arg ( zint_version ) . arg ( QT_VERSION_STR ) ) ;
2009-05-19 18:05:26 +04:00
}
2008-07-18 18:49:14 +04:00
2009-09-17 12:01:49 +04:00
int MainWindow : : open_data_dialog ( )
{
2019-11-26 00:20:21 +03:00
int retval ;
DataWindow dlg ( txtData - > text ( ) ) ;
retval = dlg . exec ( ) ;
if ( dlg . Valid = = 1 )
txtData - > setText ( dlg . DataOutput ) ;
return retval ;
2009-09-17 12:01:49 +04:00
}
int MainWindow : : open_sequence_dialog ( )
{
2019-11-26 00:20:21 +03:00
SequenceWindow dlg ;
dlg . barcode = & m_bc ;
return dlg . exec ( ) ;
2009-09-17 12:01:49 +04:00
}
2008-07-18 18:49:14 +04:00
void MainWindow : : on_fgcolor_clicked ( )
{
2017-06-17 17:34:41 +03:00
QColor temp = m_fgcolor ;
2021-05-20 20:22:57 +03:00
m_fgcolor = QColorDialog : : getColor ( m_fgcolor , this , tr ( " Set foreground colour " ) , QColorDialog : : ShowAlphaChannel ) ;
2019-11-26 00:20:21 +03:00
if ( m_fgcolor . isValid ( ) ) {
update_preview ( ) ;
} else {
m_fgcolor = temp ;
}
2008-07-18 18:49:14 +04:00
}
void MainWindow : : on_bgcolor_clicked ( )
{
2017-06-17 17:34:41 +03:00
QColor temp = m_bgcolor ;
2021-05-20 20:22:57 +03:00
m_bgcolor = QColorDialog : : getColor ( m_bgcolor , this , tr ( " Set background colour " ) , QColorDialog : : ShowAlphaChannel ) ;
2019-11-26 00:20:21 +03:00
if ( m_bgcolor . isValid ( ) ) {
update_preview ( ) ;
} else {
m_bgcolor = temp ;
}
2008-07-18 18:49:14 +04:00
}
2020-09-30 14:19:12 +03:00
void MainWindow : : autoheight_ui_set ( )
2019-10-21 10:29:21 +03:00
{
2020-09-30 14:19:12 +03:00
if ( ! chkAutoHeight - > isEnabled ( ) | | chkAutoHeight - > isChecked ( ) ) {
2019-10-21 10:29:21 +03:00
lblHeight - > setEnabled ( false ) ;
heightb - > setEnabled ( false ) ;
} else {
lblHeight - > setEnabled ( true ) ;
heightb - > setEnabled ( true ) ;
}
2020-09-30 14:19:12 +03:00
}
void MainWindow : : HRTShow_ui_set ( )
{
if ( chkHRTShow - > isEnabled ( ) & & chkHRTShow - > isChecked ( ) ) {
lblFontSetting - > setEnabled ( true ) ;
cmbFontSetting - > setEnabled ( true ) ;
} else {
lblFontSetting - > setEnabled ( false ) ;
cmbFontSetting - > setEnabled ( false ) ;
}
}
void MainWindow : : dotty_ui_set ( )
{
int symbology = metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ;
if ( symbology = = BARCODE_DOTCODE ) {
chkDotty - > setEnabled ( false ) ;
lblDotSize - > setEnabled ( true ) ;
spnDotSize - > setEnabled ( true ) ;
} else {
if ( chkDotty - > isEnabled ( ) & & chkDotty - > isChecked ( ) ) {
lblDotSize - > setEnabled ( true ) ;
spnDotSize - > setEnabled ( true ) ;
} else {
lblDotSize - > setEnabled ( false ) ;
spnDotSize - > setEnabled ( false ) ;
}
}
}
void MainWindow : : on_encoded ( )
{
if ( ! chkAutoHeight - > isEnabled ( ) | | chkAutoHeight - > isChecked ( ) ) {
heightb - > setValue ( m_bc . bc . height ( ) ) ;
}
}
void MainWindow : : filter_symbologies ( )
{
QString filter = filter_bstyle - > text ( ) . simplified ( ) ; /* `simplified()` trims and reduces inner whitespace to a single space - nice! */
2021-06-10 13:15:39 +03:00
QListView * lview = qobject_cast < QListView * > ( bstyle - > view ( ) ) ;
2020-09-30 14:19:12 +03:00
QStandardItemModel * model = qobject_cast < QStandardItemModel * > ( bstyle - > model ( ) ) ;
QStandardItem * item ;
2021-06-10 13:15:39 +03:00
if ( ! lview | | ! model ) {
2020-09-30 14:19:12 +03:00
return ;
}
/* QString::split() only introduced Qt 5.14, so too new for us to use */
QStringList filter_list ;
if ( ! filter . isEmpty ( ) ) {
int i , j ;
for ( i = 0 ; ( j = filter . indexOf ( " " , i ) ) ! = - 1 ; i = j + 1 ) {
filter_list < < filter . mid ( i , j - i ) ;
}
filter_list < < filter . mid ( i ) ;
}
int filter_cnt = filter_list . size ( ) ;
int cnt = metaObject ( ) - > enumerator ( 0 ) . keyCount ( ) ;
if ( filter_cnt ) {
for ( int i = 0 ; i < cnt ; i + + ) {
2021-06-10 13:15:39 +03:00
bool hidden = lview - > isRowHidden ( i ) ;
2020-09-30 14:19:12 +03:00
bool hide = true ;
for ( int j = 0 ; j < filter_cnt ; j + + ) {
if ( bstyle - > itemText ( i ) . contains ( filter_list [ j ] , Qt : : CaseInsensitive ) ) {
hide = false ;
break ;
}
}
if ( ( hide & & ! hidden ) | | ( ! hide & & hidden ) ) {
// https://stackoverflow.com/questions/25172220/how-to-hide-qcombobox-items-instead-of-clearing-them-out
item = model - > item ( i ) ;
item - > setFlags ( hide ? item - > flags ( ) & ~ Qt : : ItemIsEnabled : item - > flags ( ) | Qt : : ItemIsEnabled ) ;
2021-06-10 13:15:39 +03:00
lview - > setRowHidden ( i , hide ) ;
2020-09-30 14:19:12 +03:00
}
}
} else {
for ( int i = 0 ; i < cnt ; i + + ) {
2021-06-10 13:15:39 +03:00
if ( lview - > isRowHidden ( i ) ) {
2020-09-30 14:19:12 +03:00
item = model - > item ( i ) ;
item - > setFlags ( item - > flags ( ) | Qt : : ItemIsEnabled ) ;
2021-06-10 13:15:39 +03:00
lview - > setRowHidden ( i , false ) ;
2020-09-30 14:19:12 +03:00
}
}
}
2019-10-21 10:29:21 +03:00
}
2009-05-19 18:05:26 +04:00
void MainWindow : : change_print_scale ( )
{
2019-11-26 00:20:21 +03:00
/* This value is only used when printing (saving) to file */
m_bc . bc . setScale ( ( float ) spnScale - > value ( ) ) ;
2009-05-19 18:05:26 +04:00
}
2020-09-30 14:19:12 +03:00
void MainWindow : : change_cmyk ( )
{
/* This value is only used when printing (saving) to file */
m_bc . bc . setCMYK ( chkCMYK - > isChecked ( ) ) ;
}
2009-05-19 18:05:26 +04:00
void MainWindow : : quit_now ( )
{
2019-11-26 00:20:21 +03:00
close ( ) ;
2009-05-19 18:05:26 +04:00
}
2017-05-15 23:12:19 +03:00
void MainWindow : : copy_to_clipboard_svg ( )
2017-04-22 14:21:27 +03:00
{
QClipboard * clipboard = QGuiApplication : : clipboard ( ) ;
2017-04-22 14:44:32 +03:00
QString filename = " .zint.svg " ;
double scale = spnScale - > value ( ) ;
2017-05-15 23:12:19 +03:00
spnScale - > setValue ( 5 ) ;
2017-04-22 14:21:27 +03:00
if ( ! m_bc . bc . save_to_file ( filename ) ) {
2020-09-30 14:19:12 +03:00
spnScale - > setValue ( scale ) ;
2019-11-26 00:20:21 +03:00
return ;
2017-04-22 14:21:27 +03:00
}
2021-06-10 13:15:39 +03:00
QMimeData * mdata = new QMimeData ;
mdata - > setImageData ( QImage ( filename ) ) ;
clipboard - > setMimeData ( mdata , QClipboard : : Clipboard ) ;
2017-04-22 14:21:27 +03:00
QFile : : remove ( filename ) ;
2017-04-22 14:44:32 +03:00
spnScale - > setValue ( scale ) ;
2017-04-22 14:21:27 +03:00
}
2017-05-15 23:12:19 +03:00
void MainWindow : : copy_to_clipboard_bmp ( )
{
QClipboard * clipboard = QGuiApplication : : clipboard ( ) ;
QString filename = " .zint.bmp " ;
if ( ! m_bc . bc . save_to_file ( filename ) ) {
2019-11-26 00:20:21 +03:00
return ;
2017-05-15 23:12:19 +03:00
}
2021-06-10 13:15:39 +03:00
QMimeData * mdata = new QMimeData ;
mdata - > setImageData ( QImage ( filename ) ) ;
clipboard - > setMimeData ( mdata , QClipboard : : Clipboard ) ;
2017-05-15 23:12:19 +03:00
QFile : : remove ( filename ) ;
}
2009-04-27 02:04:51 +04:00
void MainWindow : : change_options ( )
2008-07-18 18:49:14 +04:00
{
2019-11-26 00:20:21 +03:00
QUiLoader uiload ;
2020-09-30 14:19:12 +03:00
QSettings settings ;
2021-01-11 21:11:41 +03:00
# if QT_VERSION < 0x60000
2020-10-27 18:11:33 +03:00
settings . setIniCodec ( " UTF-8 " ) ;
2021-01-11 21:11:41 +03:00
# endif
2020-09-30 14:19:12 +03:00
bool initial_load = m_symbology = = 0 ;
int original_tab_count = tabMain - > count ( ) ;
int original_tab_index = tabMain - > currentIndex ( ) ;
2020-06-04 20:45:25 +03:00
int symbology = metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ;
2019-11-26 00:20:21 +03:00
2020-09-30 14:19:12 +03:00
if ( m_symbology ) {
save_sub_settings ( settings , m_symbology ) ;
}
2021-05-20 20:22:57 +03:00
if ( tabMain - > count ( ) = = 3 )
2019-11-26 00:20:21 +03:00
tabMain - > removeTab ( 1 ) ;
2020-10-04 00:51:08 +03:00
chkComposite - > setText ( tr ( " Add &2D Component " ) ) ;
2021-01-11 21:11:41 +03:00
cmbECI - > setItemText ( 25 , tr ( " 29: GB 2312 (PRC) " ) ) ;
2020-08-01 00:56:41 +03:00
btype - > setItemText ( 0 , tr ( " No border " ) ) ;
2020-09-30 14:19:12 +03:00
combobox_item_enabled ( cmbFontSetting , 1 , true ) ;
2020-08-01 00:56:41 +03:00
2021-05-20 20:22:57 +03:00
if ( symbology = = BARCODE_CODE128 ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpC128.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 128 " ) ) ;
2020-10-04 00:51:08 +03:00
chkComposite - > setText ( tr ( " Add &2D Component (GS1-128 only) " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radC128EAN " ) , SIGNAL ( toggled ( bool ) ) , SLOT ( composite_ean_check ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC128Stand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC128CSup " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC128EAN " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC128HIBC " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_PDF417 ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpPDF417.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " PDF41&7 " ) ) ;
2019-11-26 00:20:21 +03:00
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 ( ) ) ) ;
2020-06-04 20:45:25 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_MICROPDF417 ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpMicroPDF.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Micro PDF41&7 " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMPDFCols " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radMPDFStand " ) , SIGNAL ( toggled ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2009-04-27 02:04:51 +04:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_DOTCODE ) {
2016-08-20 15:21:05 +03:00
QFile file ( " :/grpDotCode.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2016-08-20 15:21:05 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " DotCod&e " ) ) ;
2016-08-20 15:21:05 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbDotCols " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-01-22 21:07:59 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbDotMask " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radDotStand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radDotGS1 " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2016-08-20 15:21:05 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_AZTEC ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpAztec.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Aztec Cod&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radAztecAuto " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radAztecSize " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radAztecECC " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbAztecSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbAztecECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
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 ( ) ) ) ;
2017-10-23 22:37:52 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_MSI_PLESSEY ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpMSICheck.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " MSI Pless&ey " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMSICheck " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-06-10 13:15:39 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMSICheck " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( msi_plessey_ui_set ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " chkMSICheckText " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODE11 ) {
2020-06-04 20:45:25 +03:00
QFile file ( " :/grpC11.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-06-04 20:45:25 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 11 " ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radC11TwoCheckDigits " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC11OneCheckDigit " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC11NoCheckDigits " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_C25STANDARD | | symbology = = BARCODE_C25INTER | | symbology = = BARCODE_C25IATA
| | symbology = = BARCODE_C25LOGIC | | symbology = = BARCODE_C25IND ) {
2021-05-17 22:04:00 +03:00
QFile file ( " :/grpC25.ui " ) ;
if ( file . open ( QIODevice : : ReadOnly ) ) {
m_optionWidget = uiload . load ( & file ) ;
file . close ( ) ;
static const char * names [ ] = { " Standard (Matrix) " , " Interleaved " , " IATA " , " " , " Data Logic " , " Industrial " } ;
2021-05-25 22:42:26 +03:00
/*: %1 is name of variant (Standard, Interleaved, IATA, Data Logic, Industrial) */
2021-05-17 22:04:00 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 2 of 5 %1 " ) . arg ( names [ symbology - BARCODE_C25STANDARD ] ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC25Stand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC25Check " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC25CheckHide " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
}
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODE39 | | symbology = = BARCODE_EXCODE39 ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpC39.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
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 ( ) ) ) ;
2021-05-20 20:22:57 +03:00
if ( symbology = = BARCODE_EXCODE39 ) {
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 39 Extended " ) ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radC39HIBC " ) - > isChecked ( ) ) {
2019-11-26 00:20:21 +03:00
m_optionWidget - > findChild < QRadioButton * > ( " radC39HIBC " ) - > setChecked ( false ) ;
m_optionWidget - > findChild < QRadioButton * > ( " radC39Stand " ) - > setChecked ( true ) ;
}
m_optionWidget - > findChild < QRadioButton * > ( " radC39HIBC " ) - > setEnabled ( false ) ;
2021-05-20 20:22:57 +03:00
} else {
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 39 " ) ) ;
2019-11-26 00:20:21 +03:00
m_optionWidget - > findChild < QRadioButton * > ( " radC39HIBC " ) - > setEnabled ( true ) ;
2020-09-30 14:19:12 +03:00
}
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_LOGMARS ) {
2020-06-04 20:45:25 +03:00
QFile file ( " :/grpLOGMARS.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-06-04 20:45:25 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " LOGM&ARS " ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radLOGMARSStand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radLOGMARSCheck " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODE16K ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpC16k.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 16K " ) ) ;
2020-08-01 00:56:41 +03:00
btype - > setItemText ( 0 , tr ( " Default (bind) " ) ) ;
2020-05-21 20:22:28 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbC16kRowSepHeight " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radC16kStand " ) , SIGNAL ( toggled ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODABAR ) {
2020-06-04 20:45:25 +03:00
QFile file ( " :/grpCodabar.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-06-04 20:45:25 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&abar " ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkCodabarCheck " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODABLOCKF ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpCodablockF.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Codablock&-F " ) ) ;
2020-08-01 00:56:41 +03:00
btype - > setItemText ( 0 , tr ( " Default (bind) " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbCbfWidth " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbCbfHeight " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-05-16 12:22:33 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbCbfRowSepHeight " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radCbfStand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radCbfHIBC " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2009-04-27 02:04:51 +04:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_DATAMATRIX ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpDM.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " D&ata Matrix " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radDM200Stand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radDM200GS1 " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radDM200HIBC " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbDM200Size " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " chkDMRectangle " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " chkDMRE " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkDMGSSep " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_ITF14 ) {
2020-08-01 00:56:41 +03:00
btype - > setItemText ( 0 , tr ( " Default (box, non-zero width) " ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_QRCODE ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpQR.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " QR Cod&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbQRSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbQRECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-11-27 15:54:44 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbQRMask " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
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 ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkQRFullMultibyte " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_RMQR ) {
2019-11-27 19:54:03 +03:00
QFile file ( " :/grpRMQR.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-27 19:54:03 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " rMQR Cod&e " ) ) ;
2019-11-27 19:54:03 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbRMQRSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbRMQRECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radRMQRStand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radRMQRGS1 " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkRMQRFullMultibyte " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-27 19:54:03 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_HANXIN ) {
QFile file ( " :/grpHX.ui " ) ;
2019-11-26 00:20:21 +03:00
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Han Xin Cod&e " ) ) ;
2021-01-11 21:11:41 +03:00
cmbECI - > setItemText ( 25 , tr ( " 29: GB 18030 (PRC) " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbHXSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbHXECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-11-27 15:54:44 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbHXMask " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkHXFullMultibyte " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_MICROQR ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpMQR.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Micro QR Cod&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMQRSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMQRECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-11-27 15:54:44 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMQRMask " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkMQRFullMultibyte " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_GRIDMATRIX ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpGrid.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Grid M&atrix " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbGridSize " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbGridECC " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-09-30 14:19:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkGridFullMultibyte " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_MAXICODE ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpMaxicode.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " MaxiCod&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMaxiMode " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbMaxiMode " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( maxi_primary ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " txtMaxiPrimary " ) , SIGNAL ( textChanged ( const QString & ) ) , SLOT ( update_preview ( ) ) ) ;
2020-12-19 20:13:35 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkMaxiSCMVV " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " chkMaxiSCMVV " ) , SIGNAL ( stateChanged ( int ) ) , SLOT ( maxi_primary ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " spnMaxiSCMVV " ) , SIGNAL ( valueChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CHANNEL ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpChannel.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Channel Cod&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbChannel " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODEONE ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpCodeOne.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Code On&e " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbC1Size " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radC1GS1 " ) , SIGNAL ( toggled ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_CODE49 ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpC49.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Cod&e 49 " ) ) ;
2021-05-25 22:42:26 +03:00
btype - > setItemText ( 0 , tr ( " Default (bind) " ) ) ;
2020-05-21 20:22:28 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbC49RowSepHeight " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radC49GS1 " ) , SIGNAL ( toggled ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_DBAR_EXPSTK ) {
2019-11-26 00:20:21 +03:00
QFile file ( " :/grpDBExtend.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2019-11-26 00:20:21 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " GS1 DataBar Stack&ed " ) ) ;
2019-11-26 00:20:21 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbCols " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2020-07-15 21:00:12 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_ULTRA ) {
2020-04-07 20:09:53 +03:00
QFile file ( " :/grpUltra.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-04-07 20:09:53 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " Ultracod&e " ) ) ;
2020-04-07 20:09:53 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " radUltraAuto " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radUltraEcc " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " cmbUltraEcc " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radUltraStand " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
connect ( m_optionWidget - > findChild < QObject * > ( " radUltraGS1 " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
2019-11-26 00:20:21 +03:00
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_UPCA | | symbology = = BARCODE_UPCA_CHK | | symbology = = BARCODE_UPCA_CC ) {
2020-07-15 21:00:12 +03:00
QFile file ( " :/grpUPCA.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-07-15 21:00:12 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " UPC-&A " ) ) ;
2020-09-30 14:19:12 +03:00
combobox_item_enabled ( cmbFontSetting , 1 , false ) ;
if ( cmbFontSetting - > currentIndex ( ) = = 1 ) {
cmbFontSetting - > setCurrentIndex ( 0 ) ;
}
2020-07-15 21:00:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbUPCAAddonGap " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_EANX | | symbology = = BARCODE_EANX_CHK | | symbology = = BARCODE_EANX_CC
2020-07-15 21:00:12 +03:00
| | symbology = = BARCODE_UPCE | | symbology = = BARCODE_UPCE_CHK | | symbology = = BARCODE_UPCE_CC
2021-05-20 20:22:57 +03:00
| | symbology = = BARCODE_ISBNX ) {
2020-07-15 21:00:12 +03:00
QFile file ( " :/grpUPCEAN.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-07-15 21:00:12 +03:00
file . close ( ) ;
if ( symbology = = BARCODE_UPCE | | symbology = = BARCODE_UPCE_CHK | | symbology = = BARCODE_UPCE_CC ) {
2020-10-04 00:51:08 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " UPC-&E " ) ) ;
2020-07-15 21:00:12 +03:00
} else if ( symbology = = BARCODE_ISBNX ) {
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " ISBN " ) ) ;
} else {
2020-10-04 00:51:08 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " &EAN " ) ) ;
2020-07-15 21:00:12 +03:00
}
2020-09-30 14:19:12 +03:00
combobox_item_enabled ( cmbFontSetting , 1 , false ) ;
if ( cmbFontSetting - > currentIndex ( ) = = 1 ) {
cmbFontSetting - > setCurrentIndex ( 0 ) ;
}
2020-07-15 21:00:12 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " cmbUPCEANAddonGap " ) , SIGNAL ( currentIndexChanged ( int ) ) , SLOT ( update_preview ( ) ) ) ;
2021-05-20 20:22:57 +03:00
} else if ( symbology = = BARCODE_VIN ) {
2020-06-04 20:45:25 +03:00
QFile file ( " :/grpVIN.ui " ) ;
if ( ! file . open ( QIODevice : : ReadOnly ) )
return ;
2021-05-20 20:22:57 +03:00
m_optionWidget = uiload . load ( & file ) ;
2020-06-04 20:45:25 +03:00
file . close ( ) ;
2021-05-20 20:22:57 +03:00
tabMain - > insertTab ( 1 , m_optionWidget , tr ( " &VIN " ) ) ;
2020-06-04 20:45:25 +03:00
connect ( m_optionWidget - > findChild < QObject * > ( " chkVINImportChar " ) , SIGNAL ( clicked ( bool ) ) , SLOT ( update_preview ( ) ) ) ;
}
2021-05-20 20:22:57 +03:00
switch ( symbology ) {
2019-11-26 00:20:21 +03:00
case BARCODE_CODE128 :
case BARCODE_EANX :
case BARCODE_UPCA :
case BARCODE_UPCE :
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_OMN :
case BARCODE_DBAR_LTD :
case BARCODE_DBAR_EXP :
case BARCODE_DBAR_STK :
case BARCODE_DBAR_OMNSTK :
case BARCODE_DBAR_EXPSTK :
2019-11-26 00:20:21 +03:00
grpComposite - > show ( ) ;
break ;
default :
grpComposite - > hide ( ) ;
break ;
}
2021-05-20 20:22:57 +03:00
2020-09-30 14:19:12 +03:00
cmbECI - > setEnabled ( m_bc . bc . supportsECI ( symbology ) ) ; /* Will need checking again in update_preview() as encoding mode dependent (HIBC) */
2021-05-15 14:23:46 +03:00
chkGS1Parens - > setEnabled ( m_bc . bc . supportsGS1 ( symbology ) ) ; /* Ditto (GS1) */
2020-09-30 14:19:12 +03:00
chkRInit - > setEnabled ( m_bc . bc . supportsReaderInit ( symbology ) ) ; /* Ditto (HIBC and GS1) */
chkAutoHeight - > setEnabled ( ! m_bc . bc . isFixedRatio ( symbology ) ) ;
chkHRTShow - > setEnabled ( m_bc . bc . hasHRT ( symbology ) ) ;
chkDotty - > setEnabled ( m_bc . bc . isDotty ( symbology ) ) ;
load_sub_settings ( settings , symbology ) ;
composite_ui_set ( ) ;
autoheight_ui_set ( ) ;
HRTShow_ui_set ( ) ;
dotty_ui_set ( ) ;
if ( initial_load ) {
tabMain - > setCurrentIndex ( settings . value ( " studio/tab_index " , 0 ) . toInt ( ) ) ;
} else if ( original_tab_count = = tabMain - > count ( ) ) {
tabMain - > setCurrentIndex ( original_tab_index ) ;
} else if ( original_tab_count > tabMain - > count ( ) ) {
tabMain - > setCurrentIndex ( original_tab_index = = 2 ? 1 : 0 ) ;
} else {
tabMain - > setCurrentIndex ( original_tab_index = = 1 ? 2 : 0 ) ;
}
2008-07-18 18:49:14 +04:00
}
2020-09-30 14:19:12 +03:00
void MainWindow : : composite_ui_set ( )
2009-04-27 02:04:51 +04:00
{
2021-05-20 20:22:57 +03:00
if ( ! grpComposite - > isHidden ( ) & & chkComposite - > isChecked ( ) ) {
2019-11-26 00:20:21 +03:00
lblCompType - > setEnabled ( true ) ;
cmbCompType - > setEnabled ( true ) ;
lblComposite - > setEnabled ( true ) ;
txtComposite - > setEnabled ( true ) ;
2020-09-30 14:19:12 +03:00
if ( metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) = = BARCODE_CODE128 ) {
QRadioButton * radioButton = m_optionWidget - > findChild < QRadioButton * > ( " radC128EAN " ) ;
if ( radioButton ) {
radioButton - > setChecked ( true ) ;
}
}
2021-05-20 20:22:57 +03:00
} else {
2019-11-26 00:20:21 +03:00
lblCompType - > setEnabled ( false ) ;
cmbCompType - > setEnabled ( false ) ;
lblComposite - > setEnabled ( false ) ;
txtComposite - > setEnabled ( false ) ;
}
2009-04-27 02:04:51 +04:00
}
void MainWindow : : composite_ean_check ( )
{
2021-05-20 20:22:57 +03:00
if ( metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ! = BARCODE_CODE128 )
2019-11-26 00:20:21 +03:00
return ;
2020-09-30 14:19:12 +03:00
QRadioButton * radioButton = m_optionWidget - > findChild < QRadioButton * > ( " radC128EAN " ) ;
if ( radioButton & & ! radioButton - > isChecked ( ) )
2019-11-26 00:20:21 +03:00
chkComposite - > setChecked ( false ) ;
2009-04-27 02:04:51 +04:00
}
void MainWindow : : maxi_primary ( )
2008-10-07 18:28:32 +04:00
{
2021-05-20 20:22:57 +03:00
if ( metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ! = BARCODE_MAXICODE )
2019-11-26 00:20:21 +03:00
return ;
2020-12-19 20:13:35 +03:00
QCheckBox * chkMaxiSCMVV = m_optionWidget - > findChild < QCheckBox * > ( " chkMaxiSCMVV " ) ;
2021-05-20 20:22:57 +03:00
if ( m_optionWidget - > findChild < QComboBox * > ( " cmbMaxiMode " ) - > currentIndex ( ) = = 0 ) {
2019-11-26 00:20:21 +03:00
m_optionWidget - > findChild < QLabel * > ( " lblMaxiPrimary " ) - > setEnabled ( true ) ;
m_optionWidget - > findChild < QLineEdit * > ( " txtMaxiPrimary " ) - > setEnabled ( true ) ;
2020-12-19 20:13:35 +03:00
chkMaxiSCMVV - > setEnabled ( true ) ;
m_optionWidget - > findChild < QLabel * > ( " lblMaxiSCMVV " ) - > setEnabled ( chkMaxiSCMVV - > isChecked ( ) ) ;
m_optionWidget - > findChild < QSpinBox * > ( " spnMaxiSCMVV " ) - > setEnabled ( chkMaxiSCMVV - > isChecked ( ) ) ;
2019-11-26 00:20:21 +03:00
} else {
m_optionWidget - > findChild < QLabel * > ( " lblMaxiPrimary " ) - > setEnabled ( false ) ;
m_optionWidget - > findChild < QLineEdit * > ( " txtMaxiPrimary " ) - > setEnabled ( false ) ;
2020-12-19 20:13:35 +03:00
chkMaxiSCMVV - > setEnabled ( false ) ;
m_optionWidget - > findChild < QLabel * > ( " lblMaxiSCMVV " ) - > setEnabled ( false ) ;
m_optionWidget - > findChild < QSpinBox * > ( " spnMaxiSCMVV " ) - > setEnabled ( false ) ;
2019-11-26 00:20:21 +03:00
}
2008-10-07 18:28:32 +04:00
}
2009-04-27 02:04:51 +04:00
2021-06-10 13:15:39 +03:00
void MainWindow : : msi_plessey_ui_set ( )
{
if ( metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ! = BARCODE_MSI_PLESSEY )
return ;
QCheckBox * checkBox = m_optionWidget ? m_optionWidget - > findChild < QCheckBox * > ( " chkMSICheckText " ) : nullptr ;
if ( checkBox ) {
checkBox - > setEnabled ( get_combobox_index ( " cmbMSICheck " ) > 0 ) ;
}
}
2020-09-30 14:19:12 +03:00
// Taken from https://stackoverflow.com/questions/38915001/disable-specific-items-in-qcombobox
void MainWindow : : combobox_item_enabled ( QComboBox * comboBox , int index , bool enabled )
{
QStandardItemModel * model = qobject_cast < QStandardItemModel * > ( comboBox - > model ( ) ) ;
if ( model ) {
QStandardItem * item = model - > item ( index ) ;
if ( item ) {
item - > setEnabled ( enabled ) ;
}
}
}
void MainWindow : : upcean_addon_gap ( QComboBox * comboBox , QLabel * label , int base )
2020-07-15 21:00:12 +03:00
{
const QRegularExpression addonRE ( " ^[0-9X]+[+][0-9]+$ " ) ;
int item_val ;
if ( txtData - > text ( ) . contains ( addonRE ) ) {
comboBox - > setEnabled ( true ) ;
label - > setEnabled ( true ) ;
item_val = comboBox - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val + base ) ;
}
} else {
comboBox - > setEnabled ( false ) ;
label - > setEnabled ( false ) ;
}
}
2020-07-19 02:13:03 +03:00
void MainWindow : : set_gs1_mode ( bool gs1_mode )
{
if ( gs1_mode ) {
m_bc . bc . setInputMode ( GS1_MODE | ( m_bc . bc . inputMode ( ) & ~ 0x07 ) ) ; // Keep upper bits
chkData - > setEnabled ( false ) ;
} else {
chkData - > setEnabled ( true ) ;
}
}
2009-04-27 02:04:51 +04:00
void MainWindow : : update_preview ( )
2008-10-07 18:28:32 +04:00
{
2020-07-15 21:00:12 +03:00
int symbology = metaObject ( ) - > enumerator ( 0 ) . value ( bstyle - > currentIndex ( ) ) ;
2021-02-06 02:55:24 +03:00
int recheck_eci = true ;
2019-11-26 00:20:21 +03:00
int width = view - > geometry ( ) . width ( ) ;
int height = view - > geometry ( ) . height ( ) ;
2020-05-16 12:22:33 +03:00
int item_val ;
2020-06-04 20:45:25 +03:00
QCheckBox * checkBox ;
2019-11-26 00:20:21 +03:00
//m_bc.ar=(Zint::QZint::AspectRatioMode)1;
2020-09-30 14:19:12 +03:00
if ( ! grpComposite - > isHidden ( ) & & chkComposite - > isChecked ( ) ) {
2019-11-26 00:20:21 +03:00
m_bc . bc . setPrimaryMessage ( txtData - > text ( ) ) ;
m_bc . bc . setText ( txtComposite - > toPlainText ( ) ) ;
} else {
m_bc . bc . setText ( txtData - > text ( ) ) ;
}
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( - 1 ) ;
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( 0 ) ;
2020-05-16 12:22:33 +03:00
m_bc . bc . setOption3 ( 0 ) ;
2020-07-19 02:13:03 +03:00
chkData - > setEnabled ( true ) ;
if ( chkData - > isChecked ( ) ) {
m_bc . bc . setInputMode ( DATA_MODE ) ;
} else {
m_bc . bc . setInputMode ( UNICODE_MODE ) ;
}
2020-06-04 20:45:25 +03:00
if ( chkEscape - > isChecked ( ) ) {
m_bc . bc . setInputMode ( m_bc . bc . inputMode ( ) | ESCAPE_MODE ) ;
}
m_bc . bc . setGSSep ( false ) ;
2020-09-30 14:19:12 +03:00
m_bc . bc . setDotSize ( 0.4f / 0.5f ) ;
2020-07-15 21:00:12 +03:00
switch ( symbology ) {
2019-11-26 00:20:21 +03:00
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 ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_GS1_128_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_GS1_128 ) ;
2019-11-26 00:20:21 +03:00
}
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 ) ;
2020-07-15 21:00:12 +03:00
upcean_addon_gap ( m_optionWidget - > findChild < QComboBox * > ( " cmbUPCEANAddonGap " ) , m_optionWidget - > findChild < QLabel * > ( " lblUPCEANAddonGap " ) , 7 /*base*/ ) ;
break ;
case BARCODE_ISBNX :
m_bc . bc . setSymbol ( symbology ) ;
upcean_addon_gap ( m_optionWidget - > findChild < QComboBox * > ( " cmbUPCEANAddonGap " ) , m_optionWidget - > findChild < QLabel * > ( " lblUPCEANAddonGap " ) , 7 /*base*/ ) ;
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_UPCA :
if ( chkComposite - > isChecked ( ) )
m_bc . bc . setSymbol ( BARCODE_UPCA_CC ) ;
else
m_bc . bc . setSymbol ( BARCODE_UPCA ) ;
2020-07-15 21:00:12 +03:00
upcean_addon_gap ( m_optionWidget - > findChild < QComboBox * > ( " cmbUPCAAddonGap " ) , m_optionWidget - > findChild < QLabel * > ( " lblUPCAAddonGap " ) , 9 /*base*/ ) ;
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_UPCE :
if ( chkComposite - > isChecked ( ) )
m_bc . bc . setSymbol ( BARCODE_UPCE_CC ) ;
else
m_bc . bc . setSymbol ( BARCODE_UPCE ) ;
2020-07-15 21:00:12 +03:00
upcean_addon_gap ( m_optionWidget - > findChild < QComboBox * > ( " cmbUPCEANAddonGap " ) , m_optionWidget - > findChild < QLabel * > ( " lblUPCEANAddonGap " ) , 7 /*base*/ ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_OMN :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_OMN_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_OMN ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_LTD :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_LTD_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_LTD ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_EXP :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_EXP_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_EXP ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_STK :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_STK_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_STK ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_OMNSTK :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_OMNSTK_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_OMNSTK ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-07-29 22:43:08 +03:00
case BARCODE_DBAR_EXPSTK :
2019-11-26 00:20:21 +03:00
if ( chkComposite - > isChecked ( ) )
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_EXPSTK_CC ) ;
2019-11-26 00:20:21 +03:00
else
2020-07-29 22:43:08 +03:00
m_bc . bc . setSymbol ( BARCODE_DBAR_EXPSTK ) ;
2019-11-26 00:20:21 +03:00
if ( m_optionWidget - > findChild < QComboBox * > ( " cmbCols " ) - > currentIndex ( ) ! = 0 )
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbCols " ) - > currentIndex ( ) ) ;
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_PDF417 :
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbPDFCols " ) - > currentIndex ( ) ) ;
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( m_optionWidget - > findChild < QComboBox * > ( " cmbPDFECC " ) - > currentIndex ( ) - 1 ) ;
2019-11-26 00:20:21 +03:00
if ( m_optionWidget - > findChild < QRadioButton * > ( " radPDFStand " ) - > isChecked ( ) )
m_bc . bc . setSymbol ( BARCODE_PDF417 ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radPDFTruncated " ) - > isChecked ( ) )
2020-07-30 00:35:31 +03:00
m_bc . bc . setSymbol ( BARCODE_PDF417COMP ) ;
2019-11-26 00:20:21 +03:00
if ( m_optionWidget - > findChild < QRadioButton * > ( " radPDFHIBC " ) - > isChecked ( ) )
m_bc . bc . setSymbol ( BARCODE_HIBC_PDF ) ;
break ;
case BARCODE_MICROPDF417 :
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbMPDFCols " ) - > currentIndex ( ) ) ;
2019-11-26 00:20:21 +03:00
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 ;
2009-05-22 01:00:23 +04:00
2016-08-20 15:21:05 +03:00
case BARCODE_DOTCODE :
m_bc . bc . setSymbol ( BARCODE_DOTCODE ) ;
2021-05-28 17:05:06 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbDotCols " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val + 4 ) ; // Cols 1-4 not listed
}
2021-01-22 21:07:59 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbDotMask " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( ( item_val < < 8 ) | m_bc . bc . option3 ( ) ) ;
}
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radDotGS1 " ) - > isChecked ( ) ) ;
2016-08-20 15:21:05 +03:00
break ;
2019-11-26 00:20:21 +03:00
case BARCODE_AZTEC :
m_bc . bc . setSymbol ( BARCODE_AZTEC ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radAztecSize " ) - > isChecked ( ) )
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbAztecSize " ) - > currentIndex ( ) + 1 ) ;
2019-11-26 00:20:21 +03:00
if ( m_optionWidget - > findChild < QRadioButton * > ( " radAztecECC " ) - > isChecked ( ) )
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( m_optionWidget - > findChild < QComboBox * > ( " cmbAztecECC " ) - > currentIndex ( ) + 1 ) ;
2019-11-26 00:20:21 +03:00
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radAztecGS1 " ) - > isChecked ( ) ) ;
2019-11-26 00:20:21 +03:00
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 ) ;
2021-06-10 13:15:39 +03:00
item_val = get_combobox_index ( " cmbMSICheck " ) ;
if ( item_val & & m_optionWidget - > findChild < QCheckBox * > ( " chkMSICheckText " ) - > isChecked ( ) ) {
item_val + = 10 ;
}
m_bc . bc . setOption2 ( item_val ) ;
2020-06-04 20:45:25 +03:00
break ;
case BARCODE_CODE11 :
m_bc . bc . setSymbol ( BARCODE_CODE11 ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radC11OneCheckDigit " ) - > isChecked ( ) ) {
m_bc . bc . setOption2 ( 1 ) ;
} else if ( m_optionWidget - > findChild < QRadioButton * > ( " radC11NoCheckDigits " ) - > isChecked ( ) ) {
m_bc . bc . setOption2 ( 2 ) ;
}
2019-11-26 00:20:21 +03:00
break ;
2021-05-17 22:04:00 +03:00
case BARCODE_C25STANDARD :
case BARCODE_C25INTER :
case BARCODE_C25IATA :
case BARCODE_C25LOGIC :
case BARCODE_C25IND :
m_bc . bc . setSymbol ( symbology ) ;
m_bc . bc . setOption2 ( get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
2019-11-26 00:20:21 +03:00
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 ( ) )
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( 1 ) ;
2019-11-26 00:20:21 +03:00
}
break ;
case BARCODE_EXCODE39 :
m_bc . bc . setSymbol ( BARCODE_EXCODE39 ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radC39Check " ) - > isChecked ( ) )
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( 1 ) ;
2019-11-26 00:20:21 +03:00
break ;
2020-06-04 20:45:25 +03:00
case BARCODE_LOGMARS :
m_bc . bc . setSymbol ( BARCODE_LOGMARS ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radLOGMARSCheck " ) - > isChecked ( ) ) {
m_bc . bc . setOption2 ( 1 ) ;
}
break ;
2019-11-26 00:20:21 +03:00
case BARCODE_CODE16K :
m_bc . bc . setSymbol ( BARCODE_CODE16K ) ;
2020-08-09 10:21:21 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radC16kGS1 " ) - > isChecked ( ) ) ;
2020-05-21 20:22:28 +03:00
// Row separator height selection uses option 3 in zint_symbol
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbC16kRowSepHeight " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( item_val + 1 ) ; // Zero-based
}
2019-11-26 00:20:21 +03:00
break ;
2009-05-22 01:00:23 +04:00
2020-06-04 20:45:25 +03:00
case BARCODE_CODABAR :
m_bc . bc . setSymbol ( BARCODE_CODABAR ) ;
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkCodabarCheck " ) - > isChecked ( ) ) {
m_bc . bc . setOption2 ( 1 ) ;
}
break ;
2020-05-16 12:22:33 +03:00
case BARCODE_CODABLOCKF :
if ( m_optionWidget - > findChild < QRadioButton * > ( " radCbfHIBC " ) - > isChecked ( ) ) {
m_bc . bc . setSymbol ( BARCODE_HIBC_BLOCKF ) ;
} else {
2016-09-17 13:39:01 +03:00
m_bc . bc . setSymbol ( BARCODE_CODABLOCKF ) ;
2020-05-16 12:22:33 +03:00
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbCbfWidth " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( item_val - 1 + 9 ) ;
2020-05-16 12:22:33 +03:00
}
// Height selection uses option 1 in zint_symbol
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbCbfHeight " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val ) ;
2020-05-16 12:22:33 +03:00
}
// Row separator height selection uses option 3 in zint_symbol
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbCbfRowSepHeight " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-05-21 20:22:28 +03:00
m_bc . bc . setOption3 ( item_val + 1 ) ; // Zero-based
2020-05-16 12:22:33 +03:00
}
break ;
2017-10-23 22:37:52 +03:00
2019-11-26 00:20:21 +03:00
case BARCODE_DATAMATRIX :
if ( m_optionWidget - > findChild < QRadioButton * > ( " radDM200HIBC " ) - > isChecked ( ) )
m_bc . bc . setSymbol ( BARCODE_HIBC_DM ) ;
else
m_bc . bc . setSymbol ( BARCODE_DATAMATRIX ) ;
2020-06-04 20:45:25 +03:00
if ( m_optionWidget - > findChild < QRadioButton * > ( " radDM200GS1 " ) - > isChecked ( ) ) {
2020-07-19 02:13:03 +03:00
set_gs1_mode ( true ) ;
2020-06-04 20:45:25 +03:00
checkBox = m_optionWidget - > findChild < QCheckBox * > ( " chkDMGSSep " ) ;
checkBox - > setEnabled ( true ) ;
if ( checkBox - > isChecked ( ) ) {
m_bc . bc . setGSSep ( true ) ;
}
} else {
2020-07-19 02:13:03 +03:00
set_gs1_mode ( false ) ;
2020-06-04 20:45:25 +03:00
m_optionWidget - > findChild < QCheckBox * > ( " chkDMGSSep " ) - > setEnabled ( false ) ;
}
2019-11-26 00:20:21 +03:00
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbDM200Size " ) - > currentIndex ( ) ) ;
2019-11-26 00:20:21 +03:00
if ( m_optionWidget - > findChild < QComboBox * > ( " cmbDM200Size " ) - > currentIndex ( ) = = 0 ) {
// Supressing rectangles or allowing DMRE only makes sense if in automatic size mode
findChild < QCheckBox * > ( " chkDMRectangle " ) - > setEnabled ( true ) ;
findChild < QCheckBox * > ( " chkDMRE " ) - > setEnabled ( true ) ;
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkDMRectangle " ) - > isChecked ( ) )
m_bc . bc . setOption3 ( DM_SQUARE ) ;
else {
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkDMRE " ) - > isChecked ( ) )
m_bc . bc . setOption3 ( DM_DMRE ) ;
else
m_bc . bc . setOption3 ( 0 ) ;
}
} else {
findChild < QCheckBox * > ( " chkDMRectangle " ) - > setEnabled ( false ) ;
findChild < QCheckBox * > ( " chkDMRE " ) - > setEnabled ( false ) ;
m_bc . bc . setOption3 ( 0 ) ;
}
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 ) ;
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radQRGS1 " ) - > isChecked ( ) ) ;
2019-11-26 00:20:21 +03:00
2020-06-04 20:45:25 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbQRSize " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val ) ;
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbQRECC " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val ) ;
2020-06-04 20:45:25 +03:00
}
2020-11-27 15:54:44 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbQRMask " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( ( item_val < < 8 ) | m_bc . bc . option3 ( ) ) ;
}
2020-09-30 14:19:12 +03:00
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkQRFullMultibyte " ) - > isChecked ( ) ) {
2020-11-27 15:54:44 +03:00
m_bc . bc . setOption3 ( ZINT_FULL_MULTIBYTE | m_bc . bc . option3 ( ) ) ;
2020-09-30 14:19:12 +03:00
}
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_MICROQR :
m_bc . bc . setSymbol ( BARCODE_MICROQR ) ;
2020-06-04 20:45:25 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbMQRSize " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val ) ;
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbMQRECC " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val ) ;
2020-06-04 20:45:25 +03:00
}
2020-11-27 15:54:44 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbMQRMask " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( ( item_val < < 8 ) | m_bc . bc . option3 ( ) ) ;
}
2020-09-30 14:19:12 +03:00
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkMQRFullMultibyte " ) - > isChecked ( ) ) {
2020-11-27 15:54:44 +03:00
m_bc . bc . setOption3 ( ZINT_FULL_MULTIBYTE | m_bc . bc . option3 ( ) ) ;
2020-09-30 14:19:12 +03:00
}
2019-11-26 00:20:21 +03:00
break ;
2019-11-27 19:54:03 +03:00
case BARCODE_RMQR :
m_bc . bc . setSymbol ( BARCODE_RMQR ) ;
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radRMQRGS1 " ) - > isChecked ( ) ) ;
2019-11-27 19:54:03 +03:00
2020-06-04 20:45:25 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbRMQRSize " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val ) ;
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbRMQRECC " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val * 2 ) ; // Levels 2 (M) and 4 (H) only
2020-06-04 20:45:25 +03:00
}
2020-09-30 14:19:12 +03:00
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkRMQRFullMultibyte " ) - > isChecked ( ) ) {
m_bc . bc . setOption3 ( ZINT_FULL_MULTIBYTE ) ;
}
2019-11-27 19:54:03 +03:00
break ;
2019-11-26 00:20:21 +03:00
case BARCODE_GRIDMATRIX :
m_bc . bc . setSymbol ( BARCODE_GRIDMATRIX ) ;
2020-06-04 20:45:25 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbGridSize " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val ) ;
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbGridECC " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val ) ;
2020-06-04 20:45:25 +03:00
}
2020-09-30 14:19:12 +03:00
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkGridFullMultibyte " ) - > isChecked ( ) ) {
m_bc . bc . setOption3 ( ZINT_FULL_MULTIBYTE ) ;
}
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_MAXICODE :
m_bc . bc . setSymbol ( BARCODE_MAXICODE ) ;
if ( m_optionWidget - > findChild < QComboBox * > ( " cmbMaxiMode " ) - > currentIndex ( ) = = 0 )
{
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( 0 ) ; /* Auto-determine mode 2 or 3 from primary message (checks that it isn't empty) */
2019-11-26 00:20:21 +03:00
m_bc . bc . setPrimaryMessage ( m_optionWidget - > findChild < QLineEdit * > ( " txtMaxiPrimary " ) - > text ( ) ) ;
2020-12-19 20:13:35 +03:00
QCheckBox * chkMaxiSCMVV = m_optionWidget - > findChild < QCheckBox * > ( " chkMaxiSCMVV " ) ;
if ( chkMaxiSCMVV - > isEnabled ( ) & & chkMaxiSCMVV - > isChecked ( ) ) {
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QSpinBox * > ( " spnMaxiSCMVV " ) - > value ( ) + 1 ) ;
}
2019-11-26 00:20:21 +03:00
}
else
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( m_optionWidget - > findChild < QComboBox * > ( " cmbMaxiMode " ) - > currentIndex ( ) + 3 ) ;
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_CHANNEL :
m_bc . bc . setSymbol ( BARCODE_CHANNEL ) ;
if ( m_optionWidget - > findChild < QComboBox * > ( " cmbChannel " ) - > currentIndex ( ) = = 0 )
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( 0 ) ;
2019-11-26 00:20:21 +03:00
else
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbChannel " ) - > currentIndex ( ) + 2 ) ;
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_CODEONE :
m_bc . bc . setSymbol ( BARCODE_CODEONE ) ;
2020-06-04 20:45:25 +03:00
m_bc . bc . setOption2 ( m_optionWidget - > findChild < QComboBox * > ( " cmbC1Size " ) - > currentIndex ( ) ) ;
2021-02-06 02:55:24 +03:00
if ( m_bc . bc . option2 ( ) = = 9 ) { // Version S
recheck_eci = false ;
cmbECI - > setEnabled ( false ) ;
lblECI - > setEnabled ( false ) ;
m_optionWidget - > findChild < QRadioButton * > ( " radC1GS1 " ) - > setEnabled ( false ) ;
} else {
m_optionWidget - > findChild < QRadioButton * > ( " radC1GS1 " ) - > setEnabled ( true ) ;
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radC1GS1 " ) - > isChecked ( ) ) ;
}
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_CODE49 :
m_bc . bc . setSymbol ( BARCODE_CODE49 ) ;
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radC49GS1 " ) - > isChecked ( ) ) ;
2020-05-21 20:22:28 +03:00
// Row separator height selection uses option 3 in zint_symbol
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbC49RowSepHeight " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( item_val + 1 ) ; // Zero-based
}
2019-11-26 00:20:21 +03:00
break ;
case BARCODE_HANXIN :
m_bc . bc . setSymbol ( BARCODE_HANXIN ) ;
2020-06-04 20:45:25 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbHXSize " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption2 ( item_val ) ;
}
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbHXECC " ) - > currentIndex ( ) ;
if ( item_val ) {
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( item_val ) ;
2020-06-04 20:45:25 +03:00
}
2020-11-27 15:54:44 +03:00
item_val = m_optionWidget - > findChild < QComboBox * > ( " cmbHXMask " ) - > currentIndex ( ) ;
if ( item_val ) {
m_bc . bc . setOption3 ( ( item_val < < 8 ) | m_bc . bc . option3 ( ) ) ;
}
2020-09-30 14:19:12 +03:00
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkHXFullMultibyte " ) - > isChecked ( ) ) {
2020-11-27 15:54:44 +03:00
m_bc . bc . setOption3 ( ZINT_FULL_MULTIBYTE | m_bc . bc . option3 ( ) ) ;
2020-09-30 14:19:12 +03:00
}
2019-11-26 00:20:21 +03:00
break ;
2020-07-15 21:00:12 +03:00
2020-04-07 20:09:53 +03:00
case BARCODE_ULTRA :
m_bc . bc . setSymbol ( BARCODE_ULTRA ) ;
if ( m_optionWidget - > findChild < QRadioButton * > ( " radUltraEcc " ) - > isChecked ( ) )
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( m_optionWidget - > findChild < QComboBox * > ( " cmbUltraEcc " ) - > currentIndex ( ) + 1 ) ;
2020-07-19 02:13:03 +03:00
set_gs1_mode ( m_optionWidget - > findChild < QRadioButton * > ( " radUltraGS1 " ) - > isChecked ( ) ) ;
2020-04-07 20:09:53 +03:00
break ;
2019-11-26 00:20:21 +03:00
2020-06-04 20:45:25 +03:00
case BARCODE_VIN :
m_bc . bc . setSymbol ( BARCODE_VIN ) ;
if ( m_optionWidget - > findChild < QCheckBox * > ( " chkVINImportChar " ) - > isChecked ( ) ) {
m_bc . bc . setOption2 ( m_bc . bc . option2 ( ) | 1 ) ; // Import character 'I' prefix
}
break ;
2019-11-26 00:20:21 +03:00
default :
2020-07-15 21:00:12 +03:00
m_bc . bc . setSymbol ( symbology ) ;
2019-11-26 00:20:21 +03:00
break ;
}
2020-09-30 14:19:12 +03:00
m_symbology = m_bc . bc . symbol ( ) ;
/* Recheck ECI and Reader Init */
2021-02-06 02:55:24 +03:00
if ( recheck_eci ) {
cmbECI - > setEnabled ( m_bc . bc . supportsECI ( ) ) ;
lblECI - > setEnabled ( cmbECI - > isEnabled ( ) ) ;
}
2021-05-15 14:23:46 +03:00
chkGS1Parens - > setEnabled ( m_bc . bc . supportsGS1 ( ) ) ;
2020-09-30 14:19:12 +03:00
chkRInit - > setEnabled ( m_bc . bc . supportsReaderInit ( ) & & ( m_bc . bc . inputMode ( ) & 0x07 ) ! = GS1_MODE ) ;
2019-11-26 00:20:21 +03:00
2020-09-30 14:19:12 +03:00
if ( ! grpComposite - > isHidden ( ) & & chkComposite - > isChecked ( ) )
2020-12-19 20:13:35 +03:00
m_bc . bc . setOption1 ( cmbCompType - > currentIndex ( ) ) ;
2019-11-26 00:20:21 +03:00
2020-09-30 14:19:12 +03:00
if ( ! chkAutoHeight - > isEnabled ( ) | | chkAutoHeight - > isChecked ( ) ) {
2019-10-21 10:29:21 +03:00
m_bc . bc . setHeight ( 0 ) ;
} else {
m_bc . bc . setHeight ( heightb - > value ( ) ) ;
}
2020-09-30 14:19:12 +03:00
m_bc . bc . setECI ( cmbECI - > isEnabled ( ) ? cmbECI - > currentIndex ( ) : 0 ) ;
2021-05-15 14:23:46 +03:00
m_bc . bc . setGS1Parens ( chkGS1Parens - > isEnabled ( ) & & chkGS1Parens - > isChecked ( ) ) ;
m_bc . bc . setReaderInit ( chkRInit - > isEnabled ( ) & & chkRInit - > isChecked ( ) ) ;
2020-09-30 14:19:12 +03:00
m_bc . bc . setShowText ( chkHRTShow - > isEnabled ( ) & & chkHRTShow - > isChecked ( ) ) ;
m_bc . bc . setBorderType ( btype - > currentIndex ( ) ) ;
m_bc . bc . setBorderWidth ( bwidth - > value ( ) ) ;
2019-11-26 00:20:21 +03:00
m_bc . bc . setWhitespace ( spnWhitespace - > value ( ) ) ;
2021-05-25 22:42:26 +03:00
m_bc . bc . setVWhitespace ( spnVWhitespace - > value ( ) ) ;
2020-09-30 14:19:12 +03:00
m_bc . bc . setFontSetting ( cmbFontSetting - > currentIndex ( ) ) ;
m_bc . bc . setRotateAngle ( cmbRotate - > currentIndex ( ) ) ;
m_bc . bc . setDotty ( chkDotty - > isEnabled ( ) & & chkDotty - > isChecked ( ) ) ;
if ( m_symbology = = BARCODE_DOTCODE | | ( chkDotty - > isEnabled ( ) & & chkDotty - > isChecked ( ) ) ) {
m_bc . bc . setDotSize ( spnDotSize - > value ( ) ) ;
}
2019-11-26 00:20:21 +03:00
m_bc . bc . setFgColor ( m_fgcolor ) ;
m_bc . bc . setBgColor ( m_bgcolor ) ;
2020-09-30 14:19:12 +03:00
change_print_scale ( ) ;
change_cmyk ( ) ;
2019-11-26 00:20:21 +03:00
m_bc . setSize ( width - 10 , height - 10 ) ;
m_bc . update ( ) ;
2020-09-30 14:19:12 +03:00
scene - > setSceneRect ( m_bc . boundingRect ( ) ) ;
2019-11-26 00:20:21 +03:00
scene - > update ( ) ;
2008-10-07 18:28:32 +04:00
}
2020-09-30 14:19:12 +03:00
/* Return settings subsection name for a symbol */
const char * MainWindow : : get_setting_name ( int symbology ) {
struct item {
const char * name ;
int define ;
int val ;
} ;
2021-06-10 13:15:39 +03:00
static const struct item ndata [ ] = {
2020-09-30 14:19:12 +03:00
{ " " , - 1 , 0 } ,
{ " code11 " , BARCODE_CODE11 , 1 } ,
{ " c25standard " , BARCODE_C25STANDARD , 2 } ,
{ " c25inter " , BARCODE_C25INTER , 3 } ,
{ " c25iata " , BARCODE_C25IATA , 4 } ,
{ " " , - 1 , 5 } ,
{ " c25logic " , BARCODE_C25LOGIC , 6 } ,
{ " c25ind " , BARCODE_C25IND , 7 } ,
{ " code39 " , BARCODE_CODE39 , 8 } ,
{ " excode39 " , BARCODE_EXCODE39 , 9 } ,
{ " " , - 1 , 10 } ,
{ " " , - 1 , 11 } ,
{ " " , - 1 , 12 } ,
{ " eanx " , BARCODE_EANX , 13 } ,
{ " eanx " , BARCODE_EANX_CHK , 14 } ,
{ " " , - 1 , 15 } ,
{ " code128 " , BARCODE_GS1_128 , 16 } ,
{ " " , - 1 , 17 } ,
{ " codabar " , BARCODE_CODABAR , 18 } ,
{ " " , - 1 , 19 } ,
{ " code128 " , BARCODE_CODE128 , 20 } ,
{ " dpleit " , BARCODE_DPLEIT , 21 } ,
{ " dpident " , BARCODE_DPIDENT , 22 } ,
{ " code16k " , BARCODE_CODE16K , 23 } ,
{ " code49 " , BARCODE_CODE49 , 24 } ,
{ " code93 " , BARCODE_CODE93 , 25 } ,
{ " " , - 1 , 26 } ,
{ " " , - 1 , 27 } ,
{ " flat " , BARCODE_FLAT , 28 } ,
{ " dbar_omn " , BARCODE_DBAR_OMN , 29 } ,
{ " dbar_ltd " , BARCODE_DBAR_LTD , 30 } ,
{ " dbar_exp " , BARCODE_DBAR_EXP , 31 } ,
{ " telepen " , BARCODE_TELEPEN , 32 } ,
{ " " , - 1 , 33 } ,
{ " upca " , BARCODE_UPCA , 34 } ,
{ " upca " , BARCODE_UPCA_CHK , 35 } ,
{ " " , - 1 , 36 } ,
{ " upce " , BARCODE_UPCE , 37 } ,
{ " upce " , BARCODE_UPCE_CHK , 38 } ,
{ " " , - 1 , 39 } ,
{ " postnet " , BARCODE_POSTNET , 40 } ,
{ " " , - 1 , 41 } ,
{ " " , - 1 , 42 } ,
{ " " , - 1 , 43 } ,
{ " " , - 1 , 44 } ,
{ " " , - 1 , 45 } ,
{ " " , - 1 , 46 } ,
{ " msi_plessey " , BARCODE_MSI_PLESSEY , 47 } ,
{ " " , - 1 , 48 } ,
{ " fim " , BARCODE_FIM , 49 } ,
{ " logmars " , BARCODE_LOGMARS , 50 } ,
{ " pharma " , BARCODE_PHARMA , 51 } ,
{ " pzn " , BARCODE_PZN , 52 } ,
{ " pharma_two " , BARCODE_PHARMA_TWO , 53 } ,
{ " " , - 1 , 54 } ,
{ " pdf417 " , BARCODE_PDF417 , 55 } ,
{ " pdf417 " , BARCODE_PDF417COMP , 56 } ,
{ " maxicode " , BARCODE_MAXICODE , 57 } ,
{ " qrcode " , BARCODE_QRCODE , 58 } ,
{ " " , - 1 , 59 } ,
{ " code128 " , BARCODE_CODE128B , 60 } ,
{ " " , - 1 , 61 } ,
{ " " , - 1 , 62 } ,
{ " auspost " , BARCODE_AUSPOST , 63 } ,
{ " " , - 1 , 64 } ,
{ " " , - 1 , 65 } ,
{ " ausreply " , BARCODE_AUSREPLY , 66 } ,
{ " ausroute " , BARCODE_AUSROUTE , 67 } ,
{ " ausredirect " , BARCODE_AUSREDIRECT , 68 } ,
{ " isbnx " , BARCODE_ISBNX , 69 } ,
{ " rm4scc " , BARCODE_RM4SCC , 70 } ,
{ " datamatrix " , BARCODE_DATAMATRIX , 71 } ,
{ " ean14 " , BARCODE_EAN14 , 72 } ,
{ " vin " , BARCODE_VIN , 73 } ,
{ " codablockf " , BARCODE_CODABLOCKF , 74 } ,
{ " nve18 " , BARCODE_NVE18 , 75 } ,
{ " japanpost " , BARCODE_JAPANPOST , 76 } ,
{ " koreapost " , BARCODE_KOREAPOST , 77 } ,
{ " " , - 1 , 78 } ,
{ " dbar_stk " , BARCODE_DBAR_STK , 79 } ,
{ " dbar_omnstk " , BARCODE_DBAR_OMNSTK , 80 } ,
{ " dbar_expstk " , BARCODE_DBAR_EXPSTK , 81 } ,
{ " planet " , BARCODE_PLANET , 82 } ,
{ " " , - 1 , 83 } ,
{ " micropdf417 " , BARCODE_MICROPDF417 , 84 } ,
{ " usps_imail " , BARCODE_USPS_IMAIL , 85 } ,
{ " plessey " , BARCODE_PLESSEY , 86 } ,
{ " telepen_num " , BARCODE_TELEPEN_NUM , 87 } ,
{ " " , - 1 , 88 } ,
{ " itf14 " , BARCODE_ITF14 , 89 } ,
{ " kix " , BARCODE_KIX , 90 } ,
{ " " , - 1 , 91 } ,
{ " aztec " , BARCODE_AZTEC , 92 } ,
{ " daft " , BARCODE_DAFT , 93 } ,
{ " " , - 1 , 94 } ,
{ " " , - 1 , 95 } ,
{ " dpd " , BARCODE_DPD , 96 } ,
{ " microqr " , BARCODE_MICROQR , 97 } ,
{ " code128 " , BARCODE_HIBC_128 , 98 } ,
{ " code39 " , BARCODE_HIBC_39 , 99 } ,
{ " " , - 1 , 100 } ,
{ " " , - 1 , 101 } ,
{ " datamatrix " , BARCODE_HIBC_DM , 102 } ,
{ " " , - 1 , 103 } ,
{ " qrcode " , BARCODE_HIBC_QR , 104 } ,
{ " " , - 1 , 105 } ,
{ " pdf417 " , BARCODE_HIBC_PDF , 106 } ,
{ " " , - 1 , 107 } ,
{ " micropdf417 " , BARCODE_HIBC_MICPDF , 108 } ,
{ " " , - 1 , 109 } ,
{ " codablockf " , BARCODE_HIBC_BLOCKF , 110 } ,
{ " " , - 1 , 111 } ,
{ " aztec " , BARCODE_HIBC_AZTEC , 112 } ,
{ " " , - 1 , 113 } ,
{ " " , - 1 , 114 } ,
{ " dotcode " , BARCODE_DOTCODE , 115 } ,
{ " hanxin " , BARCODE_HANXIN , 116 } ,
{ " " , - 1 , 117 } ,
{ " " , - 1 , 118 } ,
{ " " , - 1 , 119 } ,
{ " " , - 1 , 120 } ,
{ " mailmark " , BARCODE_MAILMARK , 121 } ,
{ " " , - 1 , 122 } ,
{ " " , - 1 , 123 } ,
{ " " , - 1 , 124 } ,
{ " " , - 1 , 125 } ,
{ " " , - 1 , 126 } ,
{ " " , - 1 , 127 } ,
{ " azrune " , BARCODE_AZRUNE , 128 } ,
{ " code32 " , BARCODE_CODE32 , 129 } ,
{ " eanx " , BARCODE_EANX_CC , 130 } ,
{ " code128 " , BARCODE_GS1_128_CC , 131 } ,
{ " dbar_omn " , BARCODE_DBAR_OMN_CC , 132 } ,
{ " dbar_ltd " , BARCODE_DBAR_LTD_CC , 133 } ,
{ " dbar_exp " , BARCODE_DBAR_EXP_CC , 134 } ,
{ " upca " , BARCODE_UPCA_CC , 135 } ,
{ " upce " , BARCODE_UPCE_CC , 136 } ,
{ " dbar_stk " , BARCODE_DBAR_STK_CC , 137 } ,
{ " dbar_omnstk " , BARCODE_DBAR_OMNSTK_CC , 138 } ,
{ " dbar_expstk " , BARCODE_DBAR_EXPSTK_CC , 139 } ,
{ " channel " , BARCODE_CHANNEL , 140 } ,
{ " codeone " , BARCODE_CODEONE , 141 } ,
{ " gridmatrix " , BARCODE_GRIDMATRIX , 142 } ,
{ " upnqr " , BARCODE_UPNQR , 143 } ,
{ " ultra " , BARCODE_ULTRA , 144 } ,
{ " rmqr " , BARCODE_RMQR , 145 } ,
} ;
2021-06-10 13:15:39 +03:00
static const int data_size = sizeof ( ndata ) / sizeof ( struct item ) ;
2020-09-30 14:19:12 +03:00
if ( symbology < 0 | | symbology > = data_size ) {
return " " ;
}
2021-06-10 13:15:39 +03:00
if ( ndata [ symbology ] . val ! = symbology | | ( ndata [ symbology ] . define ! = - 1 & & ndata [ symbology ] . define ! = symbology ) ) { // Self-check
fprintf ( stderr , " MainWindow::get_setting_name: ndata table out of sync (%d) \n " , symbology ) ;
2020-09-30 14:19:12 +03:00
return " " ;
}
2021-06-10 13:15:39 +03:00
return ndata [ symbology ] . name ;
2020-09-30 14:19:12 +03:00
}
/* Helper to return index of selected radio button in group, checking for NULL */
int MainWindow : : get_button_group_index ( const QStringList & children ) {
2021-05-17 22:04:00 +03:00
if ( m_optionWidget ) {
QRadioButton * radioButton ;
for ( int index = 0 ; index < children . size ( ) ; index + + ) {
radioButton = m_optionWidget - > findChild < QRadioButton * > ( children [ index ] ) ;
if ( radioButton & & radioButton - > isChecked ( ) ) {
return index ;
}
2020-09-30 14:19:12 +03:00
}
}
return 0 ;
}
/* Helper to set radio button in group from index in settings, checking for NULL */
void MainWindow : : set_radiobutton_from_setting ( QSettings & settings , const QString & setting , const QStringList & children , int default_val ) {
2021-05-17 22:04:00 +03:00
if ( m_optionWidget ) {
int index = settings . value ( setting , default_val ) . toInt ( ) ;
QRadioButton * radioButton ;
if ( index > = 0 & & index < children . size ( ) ) {
radioButton = m_optionWidget - > findChild < QRadioButton * > ( children [ index ] ) ;
} else {
radioButton = m_optionWidget - > findChild < QRadioButton * > ( children [ 0 ] ) ;
}
if ( radioButton ) {
radioButton - > setChecked ( true ) ;
}
2020-09-30 14:19:12 +03:00
}
}
/* Helper to return index of selected item in combobox, checking for NULL */
int MainWindow : : get_combobox_index ( const QString & child ) {
2021-05-17 22:04:00 +03:00
QComboBox * comboBox = m_optionWidget ? m_optionWidget - > findChild < QComboBox * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
return comboBox ? comboBox - > currentIndex ( ) : 0 ;
}
/* Helper to set item in combobox from index in settings, checking for NULL */
void MainWindow : : set_combobox_from_setting ( QSettings & settings , const QString & setting , const QString & child , int default_val ) {
2021-05-17 22:04:00 +03:00
QComboBox * comboBox = m_optionWidget ? m_optionWidget - > findChild < QComboBox * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
if ( comboBox ) {
comboBox - > setCurrentIndex ( settings . value ( setting , default_val ) . toInt ( ) ) ;
}
}
/* Helper to return if checkbox checked, checking for NULL */
int MainWindow : : get_checkbox_val ( const QString & child ) {
2021-05-17 22:04:00 +03:00
QCheckBox * checkBox = m_optionWidget ? m_optionWidget - > findChild < QCheckBox * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
return checkBox & & checkBox - > isChecked ( ) ? 1 : 0 ;
}
/* Helper to set checkbox from settings, checking for NULL */
void MainWindow : : set_checkbox_from_setting ( QSettings & settings , const QString & setting , const QString & child , int default_val ) {
2021-05-17 22:04:00 +03:00
QCheckBox * checkBox = m_optionWidget ? m_optionWidget - > findChild < QCheckBox * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
if ( checkBox ) {
checkBox - > setChecked ( settings . value ( setting , default_val ) . toInt ( ) ? true : false ) ;
}
}
/* Helper to return text of line edit, checking for NULL */
QString MainWindow : : get_lineedit_val ( const QString & child ) {
2021-05-17 22:04:00 +03:00
QLineEdit * lineEdit = m_optionWidget ? m_optionWidget - > findChild < QLineEdit * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
return lineEdit ? lineEdit - > text ( ) : " " ;
}
/* Helper to set line edit from settings, checking for NULL */
void MainWindow : : set_lineedit_from_setting ( QSettings & settings , const QString & setting , const QString & child , const char * default_val ) {
2021-05-17 22:04:00 +03:00
QLineEdit * lineEdit = m_optionWidget ? m_optionWidget - > findChild < QLineEdit * > ( child ) : nullptr ;
2020-09-30 14:19:12 +03:00
if ( lineEdit ) {
lineEdit - > setText ( settings . value ( setting , default_val ) . toString ( ) ) ;
}
}
2020-12-19 20:13:35 +03:00
/* Helper to return value of spin box, checking for NULL */
int MainWindow : : get_spinbox_val ( const QString & child ) {
2021-05-17 22:04:00 +03:00
QSpinBox * spinBox = m_optionWidget ? m_optionWidget - > findChild < QSpinBox * > ( child ) : nullptr ;
2020-12-19 20:13:35 +03:00
return spinBox ? spinBox - > value ( ) : 0 ;
}
/* Helper to set spin box from settings, checking for NULL */
void MainWindow : : set_spinbox_from_setting ( QSettings & settings , const QString & setting , const QString & child , int default_val ) {
2021-05-17 22:04:00 +03:00
QSpinBox * spinBox = m_optionWidget ? m_optionWidget - > findChild < QSpinBox * > ( child ) : nullptr ;
2020-12-19 20:13:35 +03:00
if ( spinBox ) {
spinBox - > setValue ( settings . value ( setting , default_val ) . toInt ( ) ) ;
}
}
2020-09-30 14:19:12 +03:00
/* Save settings for an individual symbol */
void MainWindow : : save_sub_settings ( QSettings & settings , int symbology ) {
const char * name = get_setting_name ( symbology ) ;
if ( * name ) {
settings . setValue ( QString ( " studio/bc/%1/data " ) . arg ( name ) , txtData - > text ( ) ) ;
if ( ! grpComposite - > isHidden ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/composite_text " ) . arg ( name ) , txtComposite - > toPlainText ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/chk_composite " ) . arg ( name ) , chkComposite - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( QString ( " studio/bc/%1/comp_type " ) . arg ( name ) , cmbCompType - > currentIndex ( ) ) ;
}
if ( cmbECI - > isEnabled ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/eci " ) . arg ( name ) , cmbECI - > currentIndex ( ) ) ;
}
settings . setValue ( QString ( " studio/bc/%1/chk_escape " ) . arg ( name ) , chkEscape - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( QString ( " studio/bc/%1/chk_data " ) . arg ( name ) , chkData - > isChecked ( ) ? 1 : 0 ) ;
if ( chkRInit - > isEnabled ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/chk_rinit " ) . arg ( name ) , chkRInit - > isChecked ( ) ? 1 : 0 ) ;
}
2021-05-15 14:23:46 +03:00
settings . setValue ( QString ( " studio/bc/%1/chk_gs1parens " ) . arg ( name ) , chkGS1Parens - > isChecked ( ) ? 1 : 0 ) ;
2020-09-30 14:19:12 +03:00
if ( chkAutoHeight - > isEnabled ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/appearance/autoheight " ) . arg ( name ) , chkAutoHeight - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/height " ) . arg ( name ) , heightb - > value ( ) ) ;
}
settings . setValue ( QString ( " studio/bc/%1/appearance/border " ) . arg ( name ) , bwidth - > value ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/whitespace " ) . arg ( name ) , spnWhitespace - > value ( ) ) ;
2021-05-25 22:42:26 +03:00
settings . setValue ( QString ( " studio/bc/%1/appearance/vwhitespace " ) . arg ( name ) , spnVWhitespace - > value ( ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( QString ( " studio/bc/%1/appearance/scale " ) . arg ( name ) , spnScale - > value ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/border_type " ) . arg ( name ) , btype - > currentIndex ( ) ) ;
if ( chkHRTShow - > isEnabled ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/appearance/font_setting " ) . arg ( name ) , cmbFontSetting - > currentIndex ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/chk_hrt_show " ) . arg ( name ) , chkHRTShow - > isChecked ( ) ? 1 : 0 ) ;
}
settings . setValue ( QString ( " studio/bc/%1/appearance/cmyk " ) . arg ( name ) , chkCMYK - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/rotate " ) . arg ( name ) , cmbRotate - > currentIndex ( ) ) ;
if ( symbology = = BARCODE_DOTCODE | | chkDotty - > isEnabled ( ) ) {
settings . setValue ( QString ( " studio/bc/%1/appearance/chk_dotty " ) . arg ( name ) , chkDotty - > isChecked ( ) ? 1 : 0 ) ;
settings . setValue ( QString ( " studio/bc/%1/appearance/dot_size " ) . arg ( name ) , spnDotSize - > value ( ) ) ;
}
settings . setValue ( QString ( " studio/bc/%1/ink/red " ) . arg ( name ) , m_fgcolor . red ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/ink/green " ) . arg ( name ) , m_fgcolor . green ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/ink/blue " ) . arg ( name ) , m_fgcolor . blue ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/ink/alpha " ) . arg ( name ) , m_fgcolor . alpha ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/paper/red " ) . arg ( name ) , m_bgcolor . red ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/paper/green " ) . arg ( name ) , m_bgcolor . green ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/paper/blue " ) . arg ( name ) , m_bgcolor . blue ( ) ) ;
settings . setValue ( QString ( " studio/bc/%1/paper/alpha " ) . arg ( name ) , m_bgcolor . alpha ( ) ) ;
}
switch ( symbology ) {
case BARCODE_CODE128 :
case BARCODE_CODE128B :
case BARCODE_GS1_128 :
case BARCODE_GS1_128_CC :
case BARCODE_HIBC_128 :
settings . setValue ( " studio/bc/code128/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radC128Stand " < < " radC128EAN " < < " radC128CSup " < < " radC128HIBC " ) ) ;
break ;
case BARCODE_PDF417 :
case BARCODE_PDF417COMP :
case BARCODE_HIBC_PDF :
settings . setValue ( " studio/bc/pdf417/cols " , get_combobox_index ( " cmbPDFCols " ) ) ;
settings . setValue ( " studio/bc/pdf417/ecc " , get_combobox_index ( " cmbPDFECC " ) ) ;
settings . setValue ( " studio/bc/pdf417/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radPDFStand " < < " radPDFTruncated " < < " radPDFHIBC " ) ) ;
break ;
case BARCODE_MICROPDF417 :
case BARCODE_HIBC_MICPDF :
settings . setValue ( " studio/bc/micropdf417/cols " , get_combobox_index ( " cmbMPDFCols " ) ) ;
settings . setValue ( " studio/bc/micropdf417/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radMPDFStand " < < " radMPDFHIBC " ) ) ;
break ;
case BARCODE_DOTCODE :
settings . setValue ( " studio/bc/dotcode/cols " , get_combobox_index ( " cmbDotCols " ) ) ;
2021-01-22 21:07:59 +03:00
settings . setValue ( " studio/bc/dotcode/mask " , get_combobox_index ( " cmbDotMask " ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/bc/dotcode/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radDotStand " < < " radDotGS1 " ) ) ;
break ;
case BARCODE_AZTEC :
case BARCODE_HIBC_AZTEC :
settings . setValue ( " studio/bc/aztec/autoresizing " , get_button_group_index ( QStringList ( ) < < " radAztecAuto " < < " radAztecSize " < < " radAztecECC " ) ) ;
settings . setValue ( " studio/bc/aztec/size " , get_combobox_index ( " cmbAztecSize " ) ) ;
settings . setValue ( " studio/bc/aztec/ecc " , get_combobox_index ( " cmbAztecECC " ) ) ;
settings . setValue ( " studio/bc/aztec/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radAztecStand " < < " radAztecGS1 " < < " radAztecHIBC " ) ) ;
break ;
case BARCODE_MSI_PLESSEY :
settings . setValue ( " studio/bc/msi_plessey/check_digit " , get_combobox_index ( " cmbMSICheck " ) ) ;
2021-06-10 13:15:39 +03:00
settings . setValue ( " studio/bc/msi_plessey/check_text " , get_checkbox_val ( " chkMSICheckText " ) ) ;
2020-09-30 14:19:12 +03:00
break ;
case BARCODE_CODE11 :
settings . setValue ( " studio/bc/code11/check_digit " , get_button_group_index ( QStringList ( ) < < " radC11TwoCheckDigits " < < " radC11OneCheckDigit " < < " radC11NoCheckDigits " ) ) ;
break ;
2021-05-17 22:04:00 +03:00
case BARCODE_C25STANDARD :
settings . setValue ( " studio/bc/c25standard/check_digit " , get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
case BARCODE_C25INTER :
settings . setValue ( " studio/bc/c25inter/check_digit " , get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
case BARCODE_C25IATA :
settings . setValue ( " studio/bc/c25iata/check_digit " , get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
case BARCODE_C25LOGIC :
settings . setValue ( " studio/bc/c25logic/check_digit " , get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
case BARCODE_C25IND :
settings . setValue ( " studio/bc/c25ind/check_digit " , get_button_group_index ( QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ) ;
break ;
2020-09-30 14:19:12 +03:00
case BARCODE_CODE39 :
case BARCODE_HIBC_39 :
settings . setValue ( " studio/bc/code39/check_digit " , get_button_group_index ( QStringList ( ) < < " radC39Stand " < < " radC39Check " < < " radC39HIBC " ) ) ;
break ;
case BARCODE_EXCODE39 :
settings . setValue ( " studio/bc/excode39/check_digit " , get_button_group_index ( QStringList ( ) < < " radC39Stand " < < " radC39Check " ) ) ;
break ;
case BARCODE_LOGMARS :
settings . setValue ( " studio/bc/logmars/check_digit " , get_button_group_index ( QStringList ( ) < < " radLOGMARSStand " < < " radLOGMARSCheck " ) ) ;
break ;
case BARCODE_CODE16K :
settings . setValue ( " studio/bc/code16k/row_sep_height " , get_combobox_index ( " cmbC16kRowSepHeight " ) ) ;
settings . setValue ( " studio/bc/code16k/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radC16kStand " < < " radC16kGS1 " ) ) ;
break ;
case BARCODE_CODABAR :
settings . setValue ( " studio/bc/codabar/chk_check_char " , get_checkbox_val ( " chkCodabarCheck " ) ) ;
break ;
case BARCODE_CODABLOCKF :
case BARCODE_HIBC_BLOCKF :
settings . setValue ( " studio/bc/codablockf/width " , get_combobox_index ( " cmbCbfWidth " ) ) ;
settings . setValue ( " studio/bc/codablockf/height " , get_combobox_index ( " cmbCbfHeight " ) ) ;
settings . setValue ( " studio/bc/codablockf/row_sep_height " , get_combobox_index ( " cmbCbfRowSepHeight " ) ) ;
settings . setValue ( " studio/bc/codablockf/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radCbfStand " < < " radCbfHIBC " ) ) ;
break ;
case BARCODE_DATAMATRIX :
case BARCODE_HIBC_DM :
settings . setValue ( " studio/bc/datamatrix/size " , get_combobox_index ( " cmbDM200Size " ) ) ;
settings . setValue ( " studio/bc/datamatrix/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radDM200Stand " < < " radDM200GS1 " < < " radDM200HIBC " ) ) ;
settings . setValue ( " studio/bc/datamatrix/chk_suppress_rect " , get_checkbox_val ( " chkDMRectangle " ) ) ;
settings . setValue ( " studio/bc/datamatrix/chk_allow_dmre " , get_checkbox_val ( " chkDMRE " ) ) ;
settings . setValue ( " studio/bc/datamatrix/chk_gs_sep " , get_checkbox_val ( " chkDMGSSep " ) ) ;
break ;
case BARCODE_QRCODE :
case BARCODE_HIBC_QR :
settings . setValue ( " studio/bc/qrcode/size " , get_combobox_index ( " cmbQRSize " ) ) ;
settings . setValue ( " studio/bc/qrcode/ecc " , get_combobox_index ( " cmbQRECC " ) ) ;
2020-11-27 15:54:44 +03:00
settings . setValue ( " studio/bc/qrcode/mask " , get_combobox_index ( " cmbQRMask " ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/bc/qrcode/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radDM200Stand " < < " radQRGS1 " < < " radQRHIBC " ) ) ;
settings . setValue ( " studio/bc/qrcode/chk_full_multibyte " , get_checkbox_val ( " chkQRFullMultibyte " ) ) ;
break ;
case BARCODE_RMQR :
settings . setValue ( " studio/bc/rmqr/size " , get_combobox_index ( " cmbRMQRSize " ) ) ;
settings . setValue ( " studio/bc/rmqr/ecc " , get_combobox_index ( " cmbRMQRECC " ) ) ;
settings . setValue ( " studio/bc/rmqr/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radQRStand " < < " radRMQRGS1 " ) ) ;
settings . setValue ( " studio/bc/rmqr/chk_full_multibyte " , get_checkbox_val ( " chkRMQRFullMultibyte " ) ) ;
break ;
case BARCODE_HANXIN :
settings . setValue ( " studio/bc/hanxin/size " , get_combobox_index ( " cmbHXSize " ) ) ;
settings . setValue ( " studio/bc/hanxin/ecc " , get_combobox_index ( " cmbHXECC " ) ) ;
2020-11-27 15:54:44 +03:00
settings . setValue ( " studio/bc/hanxin/mask " , get_combobox_index ( " cmbHXMask " ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/bc/hanxin/chk_full_multibyte " , get_checkbox_val ( " chkHXFullMultibyte " ) ) ;
break ;
case BARCODE_MICROQR :
settings . setValue ( " studio/bc/microqr/size " , get_combobox_index ( " cmbMQRSize " ) ) ;
settings . setValue ( " studio/bc/microqr/ecc " , get_combobox_index ( " cmbMQRECC " ) ) ;
2020-11-27 15:54:44 +03:00
settings . setValue ( " studio/bc/microqr/mask " , get_combobox_index ( " cmbMQRMask " ) ) ;
2020-09-30 14:19:12 +03:00
settings . setValue ( " studio/bc/microqr/chk_full_multibyte " , get_checkbox_val ( " chkMQRFullMultibyte " ) ) ;
break ;
case BARCODE_GRIDMATRIX :
settings . setValue ( " studio/bc/gridmatrix/size " , get_combobox_index ( " cmbGridSize " ) ) ;
settings . setValue ( " studio/bc/gridmatrix/ecc " , get_combobox_index ( " cmbGridECC " ) ) ;
settings . setValue ( " studio/bc/gridmatrix/chk_full_multibyte " , get_checkbox_val ( " chkGridFullMultibyte " ) ) ;
break ;
case BARCODE_MAXICODE :
settings . setValue ( " studio/bc/maxicode/mode " , get_combobox_index ( " cmbMaxiMode " ) ) ;
settings . setValue ( " studio/bc/maxicode/primary_message " , get_lineedit_val ( " txtMaxiPrimary " ) ) ;
2020-12-19 20:13:35 +03:00
settings . setValue ( " studio/bc/maxicode/chk_scm_vv " , get_checkbox_val ( " chkMaxiSCMVV " ) ) ;
settings . setValue ( " studio/bc/maxicode/spn_scm_vv " , get_spinbox_val ( " spnMaxiSCMVV " ) ) ;
2020-09-30 14:19:12 +03:00
break ;
case BARCODE_CODEONE :
settings . setValue ( " studio/bc/codeone/size " , get_combobox_index ( " cmbC1Size " ) ) ;
settings . setValue ( " studio/bc/codeone/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radC1Stand " < < " radC1GS1 " ) ) ;
break ;
case BARCODE_CODE49 :
settings . setValue ( " studio/bc/code49/row_sep_height " , get_combobox_index ( " cmbC49RowSepHeight " ) ) ;
settings . setValue ( " studio/bc/code49/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radC49Stand " < < " radC49GS1 " ) ) ;
break ;
case BARCODE_DBAR_EXPSTK :
case BARCODE_DBAR_EXPSTK_CC :
settings . setValue ( " studio/bc/dbar_expstk/cols " , get_combobox_index ( " cmbCols " ) ) ;
break ;
case BARCODE_ULTRA :
settings . setValue ( " studio/bc/ultra/autoresizing " , get_button_group_index ( QStringList ( ) < < " radUltraAuto " < < " radUltraEcc " ) ) ;
settings . setValue ( " studio/bc/ultra/ecc " , get_combobox_index ( " cmbUltraEcc " ) ) ;
settings . setValue ( " studio/bc/ultra/encoding_mode " , get_button_group_index ( QStringList ( ) < < " radUltraStand " < < " radUltraGS1 " ) ) ;
break ;
case BARCODE_UPCA :
case BARCODE_UPCA_CHK :
case BARCODE_UPCA_CC :
settings . setValue ( " studio/bc/upca/addongap " , get_combobox_index ( " cmbUPCAAddonGap " ) ) ;
break ;
case BARCODE_EANX :
case BARCODE_EANX_CHK :
case BARCODE_EANX_CC :
settings . setValue ( " studio/bc/eanx/addongap " , get_combobox_index ( " cmbUPCEANAddonGap " ) ) ;
break ;
case BARCODE_UPCE :
case BARCODE_UPCE_CHK :
case BARCODE_UPCE_CC :
settings . setValue ( " studio/bc/upce/addongap " , get_combobox_index ( " cmbUPCEANAddonGap " ) ) ;
break ;
case BARCODE_ISBNX :
settings . setValue ( " studio/bc/isnbx/addongap " , get_combobox_index ( " cmbUPCEANAddonGap " ) ) ;
break ;
case BARCODE_VIN :
settings . setValue ( " studio/bc/vin/chk_import_char_prefix " , get_checkbox_val ( " chkVINImportChar " ) ) ;
break ;
}
}
/* Load settings for an individual symbol */
void MainWindow : : load_sub_settings ( QSettings & settings , int symbology ) {
const char * name = get_setting_name ( symbology ) ;
if ( * name ) {
2021-06-10 13:15:39 +03:00
const QString & tdata = settings . value ( QString ( " studio/bc/%1/data " ) . arg ( name ) , " " ) . toString ( ) ;
if ( ! tdata . isEmpty ( ) ) {
txtData - > setText ( tdata ) ;
2020-09-30 14:19:12 +03:00
}
if ( ! grpComposite - > isHidden ( ) ) {
const QString & composite_text = settings . value ( QString ( " studio/bc/%1/composite_text " ) . arg ( name ) , " " ) . toString ( ) ;
if ( ! composite_text . isEmpty ( ) ) {
txtComposite - > setText ( composite_text ) ;
}
chkComposite - > setChecked ( settings . value ( QString ( " studio/bc/%1/chk_composite " ) . arg ( name ) , 0 ) . toInt ( ) ? true : false ) ;
cmbCompType - > setCurrentIndex ( settings . value ( QString ( " studio/bc/%1/comp_type " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
}
if ( cmbECI - > isEnabled ( ) ) {
cmbECI - > setCurrentIndex ( settings . value ( QString ( " studio/bc/%1/eci " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
}
chkEscape - > setChecked ( settings . value ( QString ( " studio/bc/%1/chk_escape " ) . arg ( name ) ) . toInt ( ) ? true : false ) ;
chkData - > setChecked ( settings . value ( QString ( " studio/bc/%1/chk_data " ) . arg ( name ) ) . toInt ( ) ? true : false ) ;
if ( chkRInit - > isEnabled ( ) ) {
chkRInit - > setChecked ( settings . value ( QString ( " studio/bc/%1/chk_rinit " ) . arg ( name ) ) . toInt ( ) ? true : false ) ;
}
2021-05-15 14:23:46 +03:00
chkGS1Parens - > setChecked ( settings . value ( QString ( " studio/bc/%1/chk_gs1parens " ) . arg ( name ) ) . toInt ( ) ? true : false ) ;
2020-09-30 14:19:12 +03:00
if ( chkAutoHeight - > isEnabled ( ) ) {
chkAutoHeight - > setChecked ( settings . value ( QString ( " studio/bc/%1/appearance/autoheight " ) . arg ( name ) , 1 ) . toInt ( ) ? true : false ) ;
heightb - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/height " ) . arg ( name ) , 50 ) . toInt ( ) ) ;
}
bwidth - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/border " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
spnWhitespace - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/whitespace " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
2021-05-25 22:42:26 +03:00
spnVWhitespace - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/vwhitespace " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
2020-09-30 14:19:12 +03:00
spnScale - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/scale " ) . arg ( name ) , 1.0 ) . toFloat ( ) ) ;
btype - > setCurrentIndex ( settings . value ( QString ( " studio/bc/%1/appearance/border_type " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
if ( chkHRTShow - > isEnabled ( ) ) {
cmbFontSetting - > setCurrentIndex ( settings . value ( QString ( " studio/bc/%1/appearance/font_setting " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
chkHRTShow - > setChecked ( settings . value ( QString ( " studio/bc/%1/appearance/chk_hrt_show " ) . arg ( name ) , 1 ) . toInt ( ) ? true : false ) ;
}
chkCMYK - > setChecked ( settings . value ( QString ( " studio/bc/%1/appearance/cmyk " ) . arg ( name ) , 0 ) . toInt ( ) ? true : false ) ;
cmbRotate - > setCurrentIndex ( settings . value ( QString ( " studio/bc/%1/appearance/rotate " ) . arg ( name ) , 0 ) . toInt ( ) ) ;
if ( symbology = = BARCODE_DOTCODE | | chkDotty - > isEnabled ( ) ) {
chkDotty - > setChecked ( settings . value ( QString ( " studio/bc/%1/appearance/chk_dotty " ) . arg ( name ) , 0 ) . toInt ( ) ? true : false ) ;
spnDotSize - > setValue ( settings . value ( QString ( " studio/bc/%1/appearance/dot_size " ) . arg ( name ) , 0.4f / 0.5f ) . toFloat ( ) ) ;
}
m_fgcolor . setRgb ( settings . value ( QString ( " studio/bc/%1/ink/red " ) . arg ( name ) , 0 ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/ink/green " ) . arg ( name ) , 0 ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/ink/blue " ) . arg ( name ) , 0 ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/ink/alpha " ) . arg ( name ) , 0xff ) . toInt ( ) ) ;
m_bgcolor . setRgb ( settings . value ( QString ( " studio/bc/%1/paper/red " ) . arg ( name ) , 0xff ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/paper/green " ) . arg ( name ) , 0xff ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/paper/blue " ) . arg ( name ) , 0xff ) . toInt ( ) ,
settings . value ( QString ( " studio/bc/%1/paper/alpha " ) . arg ( name ) , 0xff ) . toInt ( ) ) ;
}
switch ( symbology ) {
case BARCODE_CODE128 :
case BARCODE_CODE128B :
case BARCODE_GS1_128 :
case BARCODE_GS1_128_CC :
case BARCODE_HIBC_128 :
set_radiobutton_from_setting ( settings , " studio/bc/code128/encoding_mode " , QStringList ( ) < < " radC128Stand " < < " radC128EAN " < < " radC128CSup " < < " radC128HIBC " ) ;
break ;
case BARCODE_PDF417 :
case BARCODE_PDF417COMP :
case BARCODE_HIBC_PDF :
set_combobox_from_setting ( settings , " studio/bc/pdf417/cols " , " cmbPDFCols " ) ;
set_combobox_from_setting ( settings , " studio/bc/pdf417/ecc " , " cmbPDFECC " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/pdf417/encoding_mode " , QStringList ( ) < < " radPDFStand " < < " radPDFTruncated " < < " radPDFHIBC " ) ;
break ;
case BARCODE_MICROPDF417 :
case BARCODE_HIBC_MICPDF :
set_combobox_from_setting ( settings , " studio/bc/micropdf417/cols " , " cmbMPDFCols " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/micropdf417/encoding_mode " , QStringList ( ) < < " radMPDFStand " < < " radMPDFHIBC " ) ;
break ;
case BARCODE_DOTCODE :
set_combobox_from_setting ( settings , " studio/bc/dotcode/cols " , " cmbDotCols " ) ;
2021-01-22 21:07:59 +03:00
set_combobox_from_setting ( settings , " studio/bc/dotcode/mask " , " cmbDotMask " ) ;
2020-09-30 14:19:12 +03:00
set_radiobutton_from_setting ( settings , " studio/bc/dotcode/encoding_mode " , QStringList ( ) < < " radDotStand " < < " radDotGS1 " ) ;
break ;
case BARCODE_AZTEC :
case BARCODE_HIBC_AZTEC :
set_radiobutton_from_setting ( settings , " studio/bc/aztec/autoresizing " , QStringList ( ) < < " radAztecAuto " < < " radAztecSize " < < " radAztecECC " ) ;
set_combobox_from_setting ( settings , " studio/bc/aztec/size " , " cmbAztecSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/aztec/ecc " , " cmbAztecECC " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/aztec/encoding_mode " , QStringList ( ) < < " radAztecStand " < < " radAztecGS1 " < < " radAztecHIBC " ) ;
break ;
case BARCODE_MSI_PLESSEY :
set_combobox_from_setting ( settings , " studio/bc/msi_plessey/check_digit " , " cmbMSICheck " ) ;
2021-06-10 13:15:39 +03:00
set_checkbox_from_setting ( settings , " studio/bc/msi_plessey/check_text " , " chkMSICheckText " ) ;
msi_plessey_ui_set ( ) ;
2020-09-30 14:19:12 +03:00
break ;
case BARCODE_CODE11 :
set_radiobutton_from_setting ( settings , " studio/bc/code11/check_digit " , QStringList ( ) < < " radC11TwoCheckDigits " < < " radC11OneCheckDigit " < < " radC11NoCheckDigits " ) ;
break ;
2021-05-17 22:04:00 +03:00
case BARCODE_C25STANDARD :
set_radiobutton_from_setting ( settings , " studio/bc/c25standard/check_digit " , QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ;
break ;
case BARCODE_C25INTER :
set_radiobutton_from_setting ( settings , " studio/bc/c25inter/check_digit " , QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ;
break ;
case BARCODE_C25IATA :
set_radiobutton_from_setting ( settings , " studio/bc/c25iata/check_digit " , QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ;
break ;
case BARCODE_C25LOGIC :
set_radiobutton_from_setting ( settings , " studio/bc/c25logic/check_digit " , QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ;
break ;
case BARCODE_C25IND :
set_radiobutton_from_setting ( settings , " studio/bc/c25ind/check_digit " , QStringList ( ) < < " radC25Stand " < < " radC25Check " < < " radC25CheckHide " ) ;
break ;
2020-09-30 14:19:12 +03:00
case BARCODE_CODE39 :
case BARCODE_HIBC_39 :
set_radiobutton_from_setting ( settings , " studio/bc/code39/check_digit " , QStringList ( ) < < " radC39Stand " < < " radC39Check " < < " radC39HIBC " ) ;
break ;
case BARCODE_EXCODE39 :
set_radiobutton_from_setting ( settings , " studio/bc/excode39/check_digit " , QStringList ( ) < < " radC39Stand " < < " radC39Check " ) ;
break ;
case BARCODE_LOGMARS :
set_radiobutton_from_setting ( settings , " studio/bc/logmars/check_digit " , QStringList ( ) < < " radLOGMARSStand " < < " radLOGMARSCheck " ) ;
break ;
case BARCODE_CODE16K :
set_combobox_from_setting ( settings , " studio/bc/code16k/row_sep_height " , " cmbC16kRowSepHeight " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/code16k/encoding_mode " , QStringList ( ) < < " radC16kStand " < < " radC16kGS1 " ) ;
break ;
case BARCODE_CODABAR :
set_checkbox_from_setting ( settings , " studio/bc/codabar/chk_check_char " , " chkCodabarCheck " ) ;
break ;
case BARCODE_CODABLOCKF :
case BARCODE_HIBC_BLOCKF :
set_combobox_from_setting ( settings , " studio/bc/codablockf/width " , " cmbCbfWidth " ) ;
set_combobox_from_setting ( settings , " studio/bc/codablockf/height " , " cmbCbfHeight " ) ;
set_combobox_from_setting ( settings , " studio/bc/codablockf/row_sep_height " , " cmbCbfRowSepHeight " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/codablockf/encoding_mode " , QStringList ( ) < < " radCbfStand " < < " radCbfHIBC " ) ;
break ;
case BARCODE_DATAMATRIX :
case BARCODE_HIBC_DM :
set_combobox_from_setting ( settings , " studio/bc/datamatrix/size " , " cmbDM200Size " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/datamatrix/encoding_mode " , QStringList ( ) < < " radDM200Stand " < < " radDM200GS1 " < < " radDM200HIBC " ) ;
set_checkbox_from_setting ( settings , " studio/bc/datamatrix/chk_suppress_rect " , " chkDMRectangle " ) ;
set_checkbox_from_setting ( settings , " studio/bc/datamatrix/chk_allow_dmre " , " chkDMRE " ) ;
set_checkbox_from_setting ( settings , " studio/bc/datamatrix/chk_gs_sep " , " chkDMGSSep " ) ;
break ;
case BARCODE_QRCODE :
case BARCODE_HIBC_QR :
set_combobox_from_setting ( settings , " studio/bc/qrcode/size " , " cmbQRSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/qrcode/ecc " , " cmbQRECC " ) ;
2020-11-27 15:54:44 +03:00
set_combobox_from_setting ( settings , " studio/bc/qrcode/mask " , " cmbQRMask " ) ;
2020-09-30 14:19:12 +03:00
set_radiobutton_from_setting ( settings , " studio/bc/qrcode/encoding_mode " , QStringList ( ) < < " radDM200Stand " < < " radQRGS1 " < < " radQRHIBC " ) ;
set_checkbox_from_setting ( settings , " studio/bc/qrcode/chk_full_multibyte " , " chkQRFullMultibyte " ) ;
break ;
case BARCODE_RMQR :
set_combobox_from_setting ( settings , " studio/bc/rmqr/size " , " cmbRMQRSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/rmqr/ecc " , " cmbRMQRECC " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/rmqr/encoding_mode " , QStringList ( ) < < " radQRStand " < < " radRMQRGS1 " ) ;
set_checkbox_from_setting ( settings , " studio/bc/rmqr/chk_full_multibyte " , " chkRMQRFullMultibyte " ) ;
break ;
case BARCODE_HANXIN :
set_combobox_from_setting ( settings , " studio/bc/hanxin/size " , " cmbHXSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/hanxin/ecc " , " cmbHXECC " ) ;
2020-11-27 15:54:44 +03:00
set_combobox_from_setting ( settings , " studio/bc/hanxin/mask " , " cmbHXMask " ) ;
2020-09-30 14:19:12 +03:00
set_checkbox_from_setting ( settings , " studio/bc/hanxin/chk_full_multibyte " , " chkHXFullMultibyte " ) ;
break ;
case BARCODE_MICROQR :
set_combobox_from_setting ( settings , " studio/bc/microqr/size " , " cmbMQRSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/microqr/ecc " , " cmbMQRECC " ) ;
2020-11-27 15:54:44 +03:00
set_combobox_from_setting ( settings , " studio/bc/microqr/mask " , " cmbMQRMask " ) ;
2020-09-30 14:19:12 +03:00
set_checkbox_from_setting ( settings , " studio/bc/microqr/chk_full_multibyte " , " chkMQRFullMultibyte " ) ;
break ;
case BARCODE_GRIDMATRIX :
set_combobox_from_setting ( settings , " studio/bc/gridmatrix/size " , " cmbGridSize " ) ;
set_combobox_from_setting ( settings , " studio/bc/gridmatrix/ecc " , " cmbGridECC " ) ;
set_checkbox_from_setting ( settings , " studio/bc/gridmatrix/chk_full_multibyte " , " chkGridFullMultibyte " ) ;
break ;
case BARCODE_MAXICODE :
set_combobox_from_setting ( settings , " studio/bc/maxicode/mode " , " cmbMaxiMode " , 1 ) ;
set_lineedit_from_setting ( settings , " studio/bc/maxicode/primary_message " , " txtMaxiPrimary " , " Primary Message Here! " ) ;
2020-12-19 20:13:35 +03:00
set_checkbox_from_setting ( settings , " studio/bc/maxicode/chk_scm_vv " , " chkMaxiSCMVV " ) ;
set_spinbox_from_setting ( settings , " studio/bc/maxicode/spn_scm_vv " , " spnMaxiSCMVV " , 96 ) ; /* 96 is ASC MH10/SC 8 */
2020-09-30 14:19:12 +03:00
break ;
case BARCODE_CODEONE :
set_combobox_from_setting ( settings , " studio/bc/codeone/size " , " cmbC1Size " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/codeone/encoding_mode " , QStringList ( ) < < " radC1Stand " < < " radC1GS1 " ) ;
break ;
case BARCODE_CODE49 :
set_combobox_from_setting ( settings , " studio/bc/code49/row_sep_height " , " cmbC49RowSepHeight " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/code49/encoding_mode " , QStringList ( ) < < " radC49Stand " < < " radC49GS1 " ) ;
break ;
case BARCODE_DBAR_EXPSTK :
set_combobox_from_setting ( settings , " studio/bc/dbar_expstk/cols " , " cmbCols " ) ;
break ;
case BARCODE_ULTRA :
set_radiobutton_from_setting ( settings , " studio/bc/ultra/autoresizing " , QStringList ( ) < < " radUltraAuto " < < " radUltraEcc " ) ;
set_combobox_from_setting ( settings , " studio/bc/ultra/ecc " , " cmbUltraEcc " ) ;
set_radiobutton_from_setting ( settings , " studio/bc/ultra/encoding_mode " , QStringList ( ) < < " radUltraStand " < < " radUltraGS1 " ) ;
break ;
case BARCODE_UPCA :
case BARCODE_UPCA_CHK :
case BARCODE_UPCA_CC :
set_combobox_from_setting ( settings , " studio/bc/upca/addongap " , " cmbUPCAAddonGap " ) ;
break ;
case BARCODE_EANX :
case BARCODE_EANX_CHK :
case BARCODE_EANX_CC :
set_combobox_from_setting ( settings , " studio/bc/eanx/addongap " , " cmbUPCEANAddonGap " ) ;
break ;
case BARCODE_UPCE :
case BARCODE_UPCE_CHK :
case BARCODE_UPCE_CC :
set_combobox_from_setting ( settings , " studio/bc/upce/addongap " , " cmbUPCEANAddonGap " ) ;
break ;
case BARCODE_ISBNX :
set_combobox_from_setting ( settings , " studio/bc/isbnx/addongap " , " cmbUPCEANAddonGap " ) ;
break ;
case BARCODE_VIN :
set_checkbox_from_setting ( settings , " studio/bc/vin/chk_import_char_prefix " , " chkVINImportChar " ) ;
break ;
}
}