mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
CLI/Tcl: fix version check (need <= 999 for DAFT permille)
UPNQR: fix required binary mode using mode_preset UPNQR: allow mask to be manually specified GUI: use non-native QColorDialog on Unix also; no noEXE for CLI equivalent; add shortcuts for copy-to-clipboard and CLI equivalent CLI: new --version option to print Zint version
This commit is contained in:
@ -17,8 +17,8 @@ else()
|
||||
qt5_wrap_ui(zint-qt_SRCS mainWindow.ui extCLI.ui extData.ui extSequence.ui extExport.ui)
|
||||
endif()
|
||||
|
||||
# grpAztec.ui grpC39.ui grpCodablockF.ui grpDotCode.ui grpMaxicode.ui grpQR.ui grpVIN.ui
|
||||
# grpC11.ui grpC49.ui grpCodeOne.ui grpGrid.ui grpMicroPDF.ui grpRMQR.ui
|
||||
# grpAztec.ui grpC39.ui grpCodablockF.ui grpDotCode.ui grpMaxicode.ui grpQR.ui grpUPNQR.ui
|
||||
# grpC11.ui grpC49.ui grpCodeOne.ui grpGrid.ui grpMicroPDF.ui grpRMQR.ui grpVIN.ui
|
||||
# grpC128.ui grpC93.ui grpDAFT.ui grpHX.ui grpMQR.ui grpUltra.ui
|
||||
# grpC16k.ui grpChannel.ui grpDBExtend.ui grpITF14.ui grpMSICheck.ui grpUPCA.ui
|
||||
# grpC25.ui grpCodabar.ui grpDM.ui grpLOGMARS.ui grpPDF417.ui grpUPCEAN.ui
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Zint Barcode Generator - the open source barcode generator
|
||||
Copyright (C) 2021 Robin Stuart <rstuart114@gmail.com>
|
||||
Copyright (C) 2021-2022 Robin Stuart <rstuart114@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -16,7 +16,6 @@
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* vim: set ts=4 sw=4 et : */
|
||||
|
||||
//#include <QDebug>
|
||||
#include <QSettings>
|
||||
@ -50,11 +49,14 @@ CLIWindow::CLIWindow(BarcodeItem *bc, const bool autoHeight, const double height
|
||||
#endif
|
||||
if (index == 1) {
|
||||
radCLIWin->setChecked(true);
|
||||
chkCLINoEXE->setEnabled(true);
|
||||
} else {
|
||||
radCLIUnix->setChecked(true);
|
||||
chkCLINoEXE->setEnabled(false);
|
||||
}
|
||||
chkCLILongOpts->setChecked(settings.value(QSL("studio/cli/chk_long_opts"), 0).toInt() ? true : false);
|
||||
chkCLIBarcodeName->setChecked(settings.value(QSL("studio/cli/chk_barcode_name"), 0).toInt() ? true : false);
|
||||
chkCLINoEXE->setChecked(settings.value(QSL("studio/cli/chk_no_exe"), 0).toInt() ? true : false);
|
||||
|
||||
QIcon copyIcon(QIcon::fromTheme(QSL("edit-copy"), QIcon(QSL(":res/copy.svg"))));
|
||||
QIcon closeIcon(QIcon::fromTheme(QSL("window-close"), QIcon(QSL(":res/x.svg"))));
|
||||
@ -67,6 +69,7 @@ CLIWindow::CLIWindow(BarcodeItem *bc, const bool autoHeight, const double height
|
||||
connect(radCLIWin, SIGNAL(toggled( bool )), SLOT(generate_cli()));
|
||||
connect(chkCLILongOpts, SIGNAL(toggled( bool )), SLOT(generate_cli()));
|
||||
connect(chkCLIBarcodeName, SIGNAL(toggled( bool )), SLOT(generate_cli()));
|
||||
connect(chkCLINoEXE, SIGNAL(toggled( bool )), SLOT(generate_cli()));
|
||||
|
||||
generate_cli();
|
||||
}
|
||||
@ -81,6 +84,7 @@ CLIWindow::~CLIWindow()
|
||||
settings.setValue(QSL("studio/cli/rad_unix_win"), radCLIWin->isChecked() ? 1 : 0);
|
||||
settings.setValue(QSL("studio/cli/chk_long_opts"), chkCLILongOpts->isChecked() ? 1 : 0);
|
||||
settings.setValue(QSL("studio/cli/chk_barcode_name"), chkCLIBarcodeName->isChecked() ? 1 : 0);
|
||||
settings.setValue(QSL("studio/cli/chk_no_exe"), chkCLINoEXE->isChecked() ? 1 : 0);
|
||||
}
|
||||
|
||||
void CLIWindow::copy_to_clipboard()
|
||||
@ -94,9 +98,18 @@ void CLIWindow::copy_to_clipboard()
|
||||
|
||||
void CLIWindow::generate_cli()
|
||||
{
|
||||
bool noEXE = false;
|
||||
if (radCLIWin->isChecked()) {
|
||||
noEXE = chkCLINoEXE->isChecked();
|
||||
chkCLINoEXE->setEnabled(true);
|
||||
} else {
|
||||
chkCLINoEXE->setEnabled(false);
|
||||
}
|
||||
QString cmd = m_bc->bc.getAsCLI(radCLIWin->isChecked(), chkCLILongOpts->isChecked(),
|
||||
chkCLIBarcodeName->isChecked(), m_autoHeight, m_heightPerRow);
|
||||
chkCLIBarcodeName->isChecked(), noEXE, m_autoHeight, m_heightPerRow);
|
||||
|
||||
txtCLICmd->setPlainText(cmd);
|
||||
statusBarCLI->clearMessage();
|
||||
}
|
||||
|
||||
/* vim: set ts=4 sw=4 et : */
|
||||
|
@ -113,6 +113,20 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkCLINoEXE">
|
||||
<property name="text">
|
||||
<string>&No .exe (Windows)</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Do not add ".exe" extension to zint command
|
||||
(Windows only, ignored is disabled)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -51,8 +51,8 @@
|
||||
<string>Subset &C Suppression</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Do not begin in Subset C mode,
|
||||
even if initial data is numeric</string>
|
||||
<string>Do not use Subset C mode
|
||||
(numeric compression)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
112
frontend_qt/grpUPNQR.ui
Normal file
112
frontend_qt/grpUPNQR.ui
Normal file
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>grpUPNQR</class>
|
||||
<widget class="QWidget" name="grpUPNQR">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>227</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>600</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayoutUPNQR">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayoutUPNQR">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelUPNQRMask">
|
||||
<property name="text">
|
||||
<string>&Mask:</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Manually specify which mask to use</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cmbUPNQRMask</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="cmbUPNQRMask">
|
||||
<property name="toolTip">
|
||||
<string>Manually specify which mask to use</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Automatic</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>7</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacerQR">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -44,6 +44,17 @@ static const int tempMessageTimeout = 2000;
|
||||
|
||||
static const QKeySequence quitKeySeq(Qt::CTRL | Qt::Key_Q); // Use on Windows also (i.e. not using QKeySequence::Quit)
|
||||
|
||||
static const QKeySequence openCLISeq(Qt::SHIFT | Qt::CTRL | Qt::Key_C);
|
||||
|
||||
static const QKeySequence copyBMPSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_B);
|
||||
static const QKeySequence copyEMFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_E);
|
||||
static const QKeySequence copyGIFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_G);
|
||||
#ifndef NO_PNG
|
||||
static const QKeySequence copyPNGSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_P);
|
||||
#endif
|
||||
static const QKeySequence copySVGSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_S);
|
||||
static const QKeySequence copyTIFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_T);
|
||||
|
||||
struct bstyle_item {
|
||||
const QString text;
|
||||
int symbology;
|
||||
@ -124,7 +135,8 @@ static const struct bstyle_item bstyle_items[] = {
|
||||
};
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
||||
: QWidget(parent, fl), m_optionWidget(nullptr), m_symbology(0), m_saveAsShortcut(nullptr), m_menu(nullptr),
|
||||
: QWidget(parent, fl), m_optionWidget(nullptr), m_symbology(0),
|
||||
m_menu(nullptr),
|
||||
m_lblHeightPerRow(nullptr), m_spnHeightPerRow(nullptr),
|
||||
m_btnHeightPerRowDisable(nullptr), m_btnHeightPerRowDefault(nullptr)
|
||||
{
|
||||
@ -263,8 +275,26 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
||||
connect(errtxtBar, SIGNAL(customContextMenuRequested(const QPoint &)), this,
|
||||
SLOT(errtxtBar_context_menu(const QPoint &)));
|
||||
|
||||
m_saveAsShortcut = new QShortcut(QKeySequence::Save, this); // Will enable/disable this on error
|
||||
// Will enable/disable these on error
|
||||
m_saveAsShortcut = new QShortcut(QKeySequence::Save, this);
|
||||
connect(m_saveAsShortcut, SIGNAL(activated()), SLOT(save()));
|
||||
m_openCLIShortcut = new QShortcut(openCLISeq, this);
|
||||
connect(m_openCLIShortcut, SIGNAL(activated()), SLOT(open_cli_dialog()));
|
||||
m_copyBMPShortcut = new QShortcut(copyBMPSeq, this);
|
||||
connect(m_copyBMPShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_bmp()));
|
||||
m_copyEMFShortcut = new QShortcut(copyEMFSeq, this);
|
||||
connect(m_copyEMFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_emf()));
|
||||
m_copyGIFShortcut = new QShortcut(copyGIFSeq, this);
|
||||
connect(m_copyGIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_gif()));
|
||||
#ifndef NO_PNG
|
||||
m_copyPNGShortcut = new QShortcut(copyPNGSeq, this);
|
||||
connect(m_copyPNGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_png()));
|
||||
#endif
|
||||
m_copySVGShortcut = new QShortcut(copySVGSeq, this);
|
||||
connect(m_copySVGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_svg()));
|
||||
m_copyTIFShortcut = new QShortcut(copyTIFSeq, this);
|
||||
connect(m_copyTIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_tif()));
|
||||
|
||||
QShortcut *helpShortcut = new QShortcut(QKeySequence::HelpContents, this);
|
||||
connect(helpShortcut, SIGNAL(activated()), SLOT(help()));
|
||||
QShortcut *quitShortcut = new QShortcut(quitKeySeq, this);
|
||||
@ -594,7 +624,8 @@ void MainWindow::open_cli_dialog()
|
||||
void MainWindow::on_fgcolor_clicked()
|
||||
{
|
||||
QColor temp = m_fgcolor;
|
||||
m_fgcolor = QColorDialog::getColor(m_fgcolor, this, tr("Set foreground colour"), QColorDialog::ShowAlphaChannel);
|
||||
m_fgcolor = QColorDialog::getColor(m_fgcolor, this, tr("Set foreground colour"),
|
||||
QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel);
|
||||
if (m_fgcolor.isValid()) {
|
||||
update_preview();
|
||||
} else {
|
||||
@ -605,7 +636,8 @@ void MainWindow::on_fgcolor_clicked()
|
||||
void MainWindow::on_bgcolor_clicked()
|
||||
{
|
||||
QColor temp = m_bgcolor;
|
||||
m_bgcolor = QColorDialog::getColor(m_bgcolor, this, tr("Set background colour"), QColorDialog::ShowAlphaChannel);
|
||||
m_bgcolor = QColorDialog::getColor(m_bgcolor, this, tr("Set background colour"),
|
||||
QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel);
|
||||
if (m_bgcolor.isValid()) {
|
||||
update_preview();
|
||||
} else {
|
||||
@ -983,7 +1015,7 @@ void MainWindow::view_context_menu(const QPoint &pos)
|
||||
menu.addAction(m_copySVGAct);
|
||||
menu.addAction(m_copyTIFAct);
|
||||
menu.addSeparator();
|
||||
menu.addAction(m_CLIAct);
|
||||
menu.addAction(m_openCLIAct);
|
||||
menu.addSeparator();
|
||||
menu.addAction(m_saveAsAct);
|
||||
|
||||
@ -1341,6 +1373,16 @@ void MainWindow::change_options()
|
||||
connect(get_widget(QSL("cmbQRStructAppIndex")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
|
||||
connect(get_widget(QSL("spnQRStructAppID")), SIGNAL(valueChanged( int )), SLOT(update_preview()));
|
||||
|
||||
} else if (symbology == BARCODE_UPNQR) {
|
||||
QFile file(QSL(":/grpUPNQR.ui"));
|
||||
if (file.open(QIODevice::ReadOnly)) {
|
||||
m_optionWidget = uiload.load(&file);
|
||||
file.close();
|
||||
load_sub_settings(settings, symbology);
|
||||
tabMain->insertTab(1, m_optionWidget, tr("UP&NQR"));
|
||||
connect(get_widget(QSL("cmbUPNQRMask")), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
|
||||
}
|
||||
|
||||
} else if (symbology == BARCODE_RMQR) {
|
||||
QFile file(QSL(":/grpRMQR.ui"));
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
@ -2228,6 +2270,17 @@ void MainWindow::update_preview()
|
||||
}
|
||||
break;
|
||||
|
||||
case BARCODE_UPNQR:
|
||||
m_bc.bc.setSymbol(BARCODE_UPNQR);
|
||||
//eci_not_set = false;
|
||||
cmbECI->setCurrentIndex(2 /*ECI 4*/);
|
||||
//cmbECI->setEnabled(false);
|
||||
//lblECI->setEnabled(false);
|
||||
if ((item_val = get_cmb_index(QSL("cmbUPNQRMask"))) != 0) {
|
||||
m_bc.bc.setOption3((item_val << 8) | m_bc.bc.option3());
|
||||
}
|
||||
break;
|
||||
|
||||
case BARCODE_RMQR:
|
||||
m_bc.bc.setSymbol(BARCODE_RMQR);
|
||||
|
||||
@ -2449,10 +2502,12 @@ void MainWindow::createActions()
|
||||
|
||||
m_copyBMPAct = new QAction(copyIcon, tr("Copy as &BMP"), this);
|
||||
m_copyBMPAct->setStatusTip(tr("Copy to clipboard as BMP"));
|
||||
m_copyBMPAct->setShortcut(copyBMPSeq);
|
||||
connect(m_copyBMPAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_bmp()));
|
||||
|
||||
m_copyEMFAct = new QAction(copyIcon, tr("Copy as E&MF"), this);
|
||||
m_copyEMFAct->setStatusTip(tr("Copy to clipboard as EMF"));
|
||||
m_copyEMFAct->setShortcut(copyEMFSeq);
|
||||
connect(m_copyEMFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_emf()));
|
||||
|
||||
#ifdef MAINWINDOW_COPY_EPS /* TODO: see if can get this to work */
|
||||
@ -2463,6 +2518,7 @@ void MainWindow::createActions()
|
||||
|
||||
m_copyGIFAct = new QAction(copyIcon, tr("Copy as &GIF"), this);
|
||||
m_copyGIFAct->setStatusTip(tr("Copy to clipboard as GIF"));
|
||||
m_copyGIFAct->setShortcut(copyGIFSeq);
|
||||
connect(m_copyGIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_gif()));
|
||||
|
||||
#ifdef MAINWINDOW_COPY_PCX /* TODO: see if can get this to work */
|
||||
@ -2474,20 +2530,24 @@ void MainWindow::createActions()
|
||||
#ifndef NO_PNG
|
||||
m_copyPNGAct = new QAction(copyIcon, tr("Copy as &PNG"), this);
|
||||
m_copyPNGAct->setStatusTip(tr("Copy to clipboard as PNG"));
|
||||
m_copyPNGAct->setShortcut(copyPNGSeq);
|
||||
connect(m_copyPNGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_png()));
|
||||
#endif
|
||||
|
||||
m_copySVGAct = new QAction(copyIcon, tr("Copy as S&VG"), this);
|
||||
m_copySVGAct->setStatusTip(tr("Copy to clipboard as SVG"));
|
||||
m_copySVGAct->setShortcut(copySVGSeq);
|
||||
connect(m_copySVGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_svg()));
|
||||
|
||||
m_copyTIFAct = new QAction(copyIcon, tr("Copy as &TIF"), this);
|
||||
m_copyTIFAct->setStatusTip(tr("Copy to clipboard as TIF"));
|
||||
m_copyTIFAct->setShortcut(copyTIFSeq);
|
||||
connect(m_copyTIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_tif()));
|
||||
|
||||
m_CLIAct = new QAction(cliIcon, tr("C&LI equivalent..."), this);
|
||||
m_CLIAct->setStatusTip(tr("Generate CLI equivalent"));
|
||||
connect(m_CLIAct, SIGNAL(triggered()), this, SLOT(open_cli_dialog()));
|
||||
m_openCLIAct = new QAction(cliIcon, tr("C&LI Equivalent..."), this);
|
||||
m_openCLIAct->setStatusTip(tr("Generate CLI equivalent"));
|
||||
m_openCLIAct->setShortcut(openCLISeq);
|
||||
connect(m_openCLIAct, SIGNAL(triggered()), this, SLOT(open_cli_dialog()));
|
||||
|
||||
m_saveAsAct = new QAction(saveIcon, tr("&Save As..."), this);
|
||||
m_saveAsAct->setStatusTip(tr("Output image to file"));
|
||||
@ -2533,7 +2593,7 @@ void MainWindow::createMenu()
|
||||
m_menu->addAction(m_copyTIFAct);
|
||||
m_menu->addSeparator();
|
||||
|
||||
m_menu->addAction(m_CLIAct);
|
||||
m_menu->addAction(m_openCLIAct);
|
||||
m_menu->addSeparator();
|
||||
m_menu->addAction(m_saveAsAct);
|
||||
m_menu->addSeparator();
|
||||
@ -2563,10 +2623,19 @@ void MainWindow::enableActions(bool enabled)
|
||||
#endif
|
||||
m_copySVGAct->setEnabled(enabled);
|
||||
m_copyTIFAct->setEnabled(enabled);
|
||||
m_CLIAct->setEnabled(enabled);
|
||||
m_openCLIAct->setEnabled(enabled);
|
||||
m_saveAsAct->setEnabled(enabled);
|
||||
|
||||
m_saveAsShortcut->setEnabled(enabled);
|
||||
m_openCLIShortcut->setEnabled(enabled);
|
||||
m_copyBMPShortcut->setEnabled(enabled);
|
||||
m_copyEMFShortcut->setEnabled(enabled);
|
||||
m_copyGIFShortcut->setEnabled(enabled);
|
||||
#ifndef NO_PNG
|
||||
m_copyPNGShortcut->setEnabled(enabled);
|
||||
#endif
|
||||
m_copySVGShortcut->setEnabled(enabled);
|
||||
m_copyTIFShortcut->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void MainWindow::copy_to_clipboard(const QString &filename, const QString& name, const char *mimeType)
|
||||
@ -3061,6 +3130,10 @@ void MainWindow::save_sub_settings(QSettings &settings, int symbology)
|
||||
settings.setValue(QSL("studio/bc/qrcode/structapp_id"), get_spn_val(QSL("spnQRStructAppID")));
|
||||
break;
|
||||
|
||||
case BARCODE_UPNQR:
|
||||
settings.setValue(QSL("studio/bc/upnqr/mask"), get_cmb_index(QSL("cmbUPNQRMask")));
|
||||
break;
|
||||
|
||||
case BARCODE_RMQR:
|
||||
settings.setValue(QSL("studio/bc/rmqr/size"), get_cmb_index(QSL("cmbRMQRSize")));
|
||||
settings.setValue(QSL("studio/bc/rmqr/ecc"), get_cmb_index(QSL("cmbRMQRECC")));
|
||||
@ -3445,6 +3518,10 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
||||
set_spn_from_setting(settings, QSL("studio/bc/qrcode/structapp_id"), QSL("spnQRStructAppID"), 0);
|
||||
break;
|
||||
|
||||
case BARCODE_UPNQR:
|
||||
set_cmb_from_setting(settings, QSL("studio/bc/upnqr/mask"), QSL("cmbUPNQRMask"));
|
||||
break;
|
||||
|
||||
case BARCODE_RMQR:
|
||||
set_cmb_from_setting(settings, QSL("studio/bc/rmqr/size"), QSL("cmbRMQRSize"));
|
||||
set_cmb_from_setting(settings, QSL("studio/bc/rmqr/ecc"), QSL("cmbRMQRECC"));
|
||||
|
@ -159,8 +159,17 @@ private:
|
||||
QWidget *m_optionWidget;
|
||||
QGraphicsScene *scene;
|
||||
int m_symbology;
|
||||
QShortcut *m_saveAsShortcut;
|
||||
QMenu *m_menu;
|
||||
QShortcut *m_saveAsShortcut;
|
||||
QShortcut *m_openCLIShortcut;
|
||||
QShortcut *m_copyBMPShortcut;
|
||||
QShortcut *m_copyEMFShortcut;
|
||||
QShortcut *m_copyGIFShortcut;
|
||||
#ifndef NO_PNG
|
||||
QShortcut *m_copyPNGShortcut;
|
||||
#endif
|
||||
QShortcut *m_copySVGShortcut;
|
||||
QShortcut *m_copyTIFShortcut;
|
||||
QAction *m_copyBMPAct;
|
||||
QAction *m_copyEMFAct;
|
||||
QAction *m_copyEPSAct;
|
||||
@ -169,7 +178,7 @@ private:
|
||||
QAction *m_copyPNGAct;
|
||||
QAction *m_copySVGAct;
|
||||
QAction *m_copyTIFAct;
|
||||
QAction *m_CLIAct;
|
||||
QAction *m_openCLIAct;
|
||||
QAction *m_saveAsAct;
|
||||
QAction *m_aboutAct;
|
||||
QAction *m_helpAct;
|
||||
|
@ -28,6 +28,7 @@
|
||||
<file>grpQR.ui</file>
|
||||
<file>grpRMQR.ui</file>
|
||||
<file>grpUltra.ui</file>
|
||||
<file>grpUPNQR.ui</file>
|
||||
<file>grpUPCA.ui</file>
|
||||
<file>grpUPCEAN.ui</file>
|
||||
<file>grpVIN.ui</file>
|
||||
|
Reference in New Issue
Block a user