mirror of
https://github.com/woo-j/zint.git
synced 2024-12-23 01:33:55 +03:00
fuzz.h: fix upper/lowercase flags
GUI: suppress clazy warnings
This commit is contained in:
parent
d42eb13841
commit
f3a982c1dd
@ -1,7 +1,7 @@
|
|||||||
/* aztec.h - Handles Aztec 2D Symbols */
|
/* aztec.h - Handles Aztec 2D Symbols */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -95,7 +95,8 @@ static const char AztecSymbolChar[128] = {
|
|||||||
25, 26, 27, 29, 25, 30, 26, 27
|
25, 26, 27, 29, 25, 30, 26, 27
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char AztecModes[129] = "BMMMMMMMMMMMMXBBBBBBBBBBBBBMMMMMXPPPPPPPPPPPXPXPDDDDDDDDDDPPPPPPMUUUUUUUUUUUUUUUUUUUUUUUUUUPMPMMMLLLLLLLLLLLLLLLLLLLLLLLLLLPMPMM";
|
static const char AztecModes[129] = "BMMMMMMMMMMMMXBBBBBBBBBBBBBMMMMMXPPPPPPPPPPPXPXPDDDDDDDDDDPPPPPP"
|
||||||
|
"MUUUUUUUUUUUUUUUUUUUUUUUUUUPMPMMMLLLLLLLLLLLLLLLLLLLLLLLLLLPMPMM";
|
||||||
|
|
||||||
static const short AztecSizes[32] = {
|
static const short AztecSizes[32] = {
|
||||||
/* Codewords per symbol */
|
/* Codewords per symbol */
|
||||||
|
@ -166,7 +166,8 @@ static int pdf_quelmode(const unsigned char codeascii) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Helper to switch TEX mode sub-mode */
|
/* Helper to switch TEX mode sub-mode */
|
||||||
static int pdf_textprocess_switch(const int curtable, const int newtable, unsigned char chainet[PDF_MAX_STREAM_LEN], int wnet) {
|
static int pdf_textprocess_switch(const int curtable, const int newtable, unsigned char chainet[PDF_MAX_STREAM_LEN],
|
||||||
|
int wnet) {
|
||||||
switch (curtable) {
|
switch (curtable) {
|
||||||
case T_ALPHA:
|
case T_ALPHA:
|
||||||
switch (newtable) {
|
switch (newtable) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* postal.c - Handles POSTNET, PLANET, CEPNet, FIM. RM4SCC and Flattermarken */
|
/* postal.c - Handles POSTNET, PLANET, CEPNet, FIM. RM4SCC and Flattermarken */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
Including bug fixes by Bryan Hatton
|
Including bug fixes by Bryan Hatton
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@ -135,7 +135,8 @@ static int usps_set_height(struct zint_symbol *symbol, const int no_errtxt) {
|
|||||||
|
|
||||||
/* Handles the POSTNET system used for Zip codes in the US */
|
/* Handles the POSTNET system used for Zip codes in the US */
|
||||||
/* Also handles Brazilian CEPNet - more information CEPNet e Código Bidimensional Datamatrix 2D (26/05/2021) at
|
/* Also handles Brazilian CEPNet - more information CEPNet e Código Bidimensional Datamatrix 2D (26/05/2021) at
|
||||||
* https://www.correios.com.br/enviar/correspondencia/arquivos/nacional/guia-tecnico-cepnet-e-2d-triagem-enderecamento-27-04-2021.pdf/view
|
https://www.correios.com.br/enviar/correspondencia/arquivos/nacional/
|
||||||
|
guia-tecnico-cepnet-e-2d-triagem-enderecamento-27-04-2021.pdf/view
|
||||||
*/
|
*/
|
||||||
static int postnet_enc(struct zint_symbol *symbol, const unsigned char source[], char *d, const int length) {
|
static int postnet_enc(struct zint_symbol *symbol, const unsigned char source[], char *d, const int length) {
|
||||||
int i, sum, check_digit;
|
int i, sum, check_digit;
|
||||||
|
@ -81,8 +81,8 @@
|
|||||||
|
|
||||||
#define IS_UHX_F (IS_UAD_F | IS_UBC_F | IS_UE__F | IS_UF__F) /* Uppercase hex */
|
#define IS_UHX_F (IS_UAD_F | IS_UBC_F | IS_UE__F | IS_UF__F) /* Uppercase hex */
|
||||||
#define IS_LHX_F (IS_LAD_F | IS_LBC_F | IS_LE__F | IS_LF__F) /* Lowercase hex */
|
#define IS_LHX_F (IS_LAD_F | IS_LBC_F | IS_LE__F | IS_LF__F) /* Lowercase hex */
|
||||||
#define IS_UPR_F (IS_UPO_F | IS_UHX_F) /* Uppercase letters */
|
#define IS_UPR_F (IS_UPO_F | IS_UHX_F | IS_UT__F | IS_UX__F) /* Uppercase letters */
|
||||||
#define IS_LWR_F (IS_LWO_F | IS_LHX_F) /* Lowercase letters */
|
#define IS_LWR_F (IS_LWO_F | IS_LHX_F | IS_LT__F | IS_LX__F) /* Lowercase letters */
|
||||||
|
|
||||||
/* Flag table for `is_chr()` and `is_sane()` (taken from "backend/common.c") */
|
/* Flag table for `is_chr()` and `is_sane()` (taken from "backend/common.c") */
|
||||||
#define IS_CLS_F (IS_CLI_F | IS_SIL_F)
|
#define IS_CLS_F (IS_CLI_F | IS_SIL_F)
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Copyright (C) 2008 by BogDan Vatra *
|
* Copyright (C) 2008 by BogDan Vatra *
|
||||||
* bogdan@licentia.eu *
|
* bogdan@licentia.eu *
|
||||||
* Copyright (C) 2010-2023 Robin Stuart *
|
* Copyright (C) 2010-2024 Robin Stuart *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
@ -23,27 +23,30 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include "qzint.h"
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <QFontDatabase>
|
#include <QFontDatabase>
|
||||||
#include <QFontMetrics>
|
#include <QFontMetrics>
|
||||||
/* The following include is necessary to compile with Qt 5.15 on Windows; Qt 5.7 did not require it */
|
/* The following include is necessary to compile with Qt 5.15 on Windows; Qt 5.7 did not require it */
|
||||||
#include <QPainterPath>
|
#include <QPainterPath>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "qzint.h"
|
||||||
#include "../backend/fonts/normal_ttf.h" /* Arimo */
|
#include "../backend/fonts/normal_ttf.h" /* Arimo */
|
||||||
#include "../backend/fonts/upcean_ttf.h" /* OCR-B subset (digits, "<", ">") */
|
#include "../backend/fonts/upcean_ttf.h" /* OCR-B subset (digits, "<", ">") */
|
||||||
|
|
||||||
// Shorthand
|
// Shorthand
|
||||||
#define QSL QStringLiteral
|
#define QSL QStringLiteral
|
||||||
|
#define QSEmpty QLatin1String("")
|
||||||
|
|
||||||
namespace Zint {
|
namespace Zint {
|
||||||
static const int maxSegs = 256;
|
static const int maxSegs = 256;
|
||||||
static const int maxCLISegs = 10; /* CLI restricted to 10 segments (including main data) */
|
static const int maxCLISegs = 10; /* CLI restricted to 10 segments (including main data) */
|
||||||
|
|
||||||
/* Matches RGB(A) hex string or CMYK decimal "C,M,Y,K" percentage string */
|
/* Matches RGB(A) hex string or CMYK decimal "C,M,Y,K" percentage string */
|
||||||
static const QRegularExpression colorRE(
|
static const QString colorREstr(
|
||||||
QSL("^([0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)|(((100|[0-9]{0,2}),){3}(100|[0-9]{0,2}))$"));
|
QSL("^([0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)|(((100|[0-9]{0,2}),){3}(100|[0-9]{0,2}))$"));
|
||||||
|
Q_GLOBAL_STATIC_WITH_ARGS(QRegularExpression, colorRE, (colorREstr));
|
||||||
|
|
||||||
static const QString normalFontFamily = QSL("Arimo"); /* Sans-serif metrically compatible with Arial */
|
static const QString normalFontFamily = QSL("Arimo"); /* Sans-serif metrically compatible with Arial */
|
||||||
static const QString upceanFontFamily = QSL("OCRB"); /* Monospace OCR-B */
|
static const QString upceanFontFamily = QSL("OCRB"); /* Monospace OCR-B */
|
||||||
@ -88,19 +91,19 @@ namespace Zint {
|
|||||||
int comma1 = text.indexOf(',');
|
int comma1 = text.indexOf(',');
|
||||||
int comma2 = text.indexOf(',', comma1 + 1);
|
int comma2 = text.indexOf(',', comma1 + 1);
|
||||||
int comma3 = text.indexOf(',', comma2 + 1);
|
int comma3 = text.indexOf(',', comma2 + 1);
|
||||||
int black = 100 - text.mid(comma3 + 1).toInt();
|
int black = 100 - text.midRef(comma3 + 1).toInt();
|
||||||
int val = 100 - text.mid(0, comma1).toInt();
|
int val = 100 - text.midRef(0, comma1).toInt();
|
||||||
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - text.mid(comma1 + 1, comma2 - comma1 - 1).toInt();
|
val = 100 - text.midRef(comma1 + 1, comma2 - comma1 - 1).toInt();
|
||||||
g = (int) roundf((0xFF * val * black) / 10000.0f);
|
g = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - text.mid(comma2 + 1, comma3 - comma2 - 1).toInt();
|
val = 100 - text.midRef(comma2 + 1, comma3 - comma2 - 1).toInt();
|
||||||
b = (int) roundf((0xFF * val * black) / 10000.0f);
|
b = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
a = 0xFF;
|
a = 0xFF;
|
||||||
} else {
|
} else {
|
||||||
r = text.mid(0, 2).toInt(nullptr, 16);
|
r = text.midRef(0, 2).toInt(nullptr, 16);
|
||||||
g = text.mid(2, 2).toInt(nullptr, 16);
|
g = text.midRef(2, 2).toInt(nullptr, 16);
|
||||||
b = text.mid(4, 2).toInt(nullptr, 16);
|
b = text.midRef(4, 2).toInt(nullptr, 16);
|
||||||
a = text.length() == 8 ? text.mid(6, 2).toInt(nullptr, 16) : 0xFF;
|
a = text.length() == 8 ? text.midRef(6, 2).toInt(nullptr, 16) : 0xFF;
|
||||||
}
|
}
|
||||||
color.setRgb(r, g, b, a);
|
color.setRgb(r, g, b, a);
|
||||||
return color;
|
return color;
|
||||||
@ -488,7 +491,7 @@ namespace Zint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool QZint::setFgStr(const QString& fgStr) {
|
bool QZint::setFgStr(const QString& fgStr) {
|
||||||
if (fgStr.indexOf(colorRE) == 0) {
|
if (fgStr.indexOf(*colorRE) == 0) {
|
||||||
m_fgStr = fgStr;
|
m_fgStr = fgStr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -510,7 +513,7 @@ namespace Zint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool QZint::setBgStr(const QString& bgStr) {
|
bool QZint::setBgStr(const QString& bgStr) {
|
||||||
if (bgStr.indexOf(colorRE) == 0) {
|
if (bgStr.indexOf(*colorRE) == 0) {
|
||||||
m_bgStr = bgStr;
|
m_bgStr = bgStr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1195,7 +1198,7 @@ namespace Zint {
|
|||||||
if (ZBarcode_BarcodeName(symbology, buf) == 0) {
|
if (ZBarcode_BarcodeName(symbology, buf) == 0) {
|
||||||
return QString(buf);
|
return QString(buf);
|
||||||
}
|
}
|
||||||
return QSL("");
|
return QSEmpty;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Whether Zint library "libzint" built with PNG support or not */
|
/* Whether Zint library "libzint" built with PNG support or not */
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#ifndef QZINT_H
|
#ifndef QZINT_H
|
||||||
#define QZINT_H
|
#define QZINT_H
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "zint.h"
|
#include "zint.h"
|
||||||
|
@ -14,7 +14,8 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||||
|
|
||||||
#include <QtTest/QtTest>
|
#include <QtTest/QSignalSpy>
|
||||||
|
#include <QtTest/QTest>
|
||||||
#include "../qzint.h" /* Don't use <qzint.h> in case it's been changed */
|
#include "../qzint.h" /* Don't use <qzint.h> in case it's been changed */
|
||||||
|
|
||||||
#ifndef ARRAY_SIZE
|
#ifndef ARRAY_SIZE
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# Makefile for generating "manual.txt" and "manual.pdf" from "manual.pmd" and "zint.1" from "zint.1.pmd" using pandoc
|
# Makefile for generating "manual.txt" and "manual.pdf" from "manual.pmd" and "zint.1" from "zint.1.pmd" using pandoc
|
||||||
# Copyright (C) 2022-2023 <rstuart114@gmail.com>
|
# Copyright (C) 2022-2024 <rstuart114@gmail.com>
|
||||||
|
# vim: set ts=4 sw=4 noet :
|
||||||
#
|
#
|
||||||
# Requires a recent version of pandoc, plus pandoc-tablenos, xelatex and various other packages - see "README"
|
# Requires a recent version of pandoc, plus pandoc-tablenos, xelatex and various other packages - see "README"
|
||||||
# .svg images generated by "zint_images.sh"
|
# .svg images generated by "zint_images.sh"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Zint Barcode Generator - the open source barcode generator
|
Zint Barcode Generator - the open source barcode generator
|
||||||
Copyright (C) 2021-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2021-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -19,14 +19,15 @@
|
|||||||
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include <QSettings>
|
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
|
#include <QSettings>
|
||||||
|
|
||||||
#include "cliwindow.h"
|
#include "cliwindow.h"
|
||||||
|
|
||||||
// Shorthand
|
// Shorthand
|
||||||
#define QSL QStringLiteral
|
#define QSL QStringLiteral
|
||||||
|
#define QSEmpty QLatin1String("")
|
||||||
|
|
||||||
static const int tempMessageTimeout = 2000;
|
static const int tempMessageTimeout = 2000;
|
||||||
|
|
||||||
@ -107,7 +108,7 @@ void CLIWindow::generate_cli()
|
|||||||
chkCLINoEXE->setEnabled(false);
|
chkCLINoEXE->setEnabled(false);
|
||||||
}
|
}
|
||||||
QString cmd = m_bc->bc.getAsCLI(radCLIWin->isChecked(), chkCLILongOpts->isChecked(),
|
QString cmd = m_bc->bc.getAsCLI(radCLIWin->isChecked(), chkCLILongOpts->isChecked(),
|
||||||
chkCLIBarcodeName->isChecked(), noEXE, m_autoHeight, m_heightPerRow, QSL("") /*outfile*/,
|
chkCLIBarcodeName->isChecked(), noEXE, m_autoHeight, m_heightPerRow, QSEmpty /*outfile*/,
|
||||||
m_xdimdpVars);
|
m_xdimdpVars);
|
||||||
|
|
||||||
txtCLICmd->setPlainText(cmd);
|
txtCLICmd->setPlainText(cmd);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Zint Barcode Generator - the open source barcode generator
|
Zint Barcode Generator - the open source barcode generator
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -20,11 +20,11 @@
|
|||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QUiLoader>
|
|
||||||
#include <QStringList>
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSettings>
|
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
#include <QSettings>
|
||||||
|
#include <QStringList>
|
||||||
|
#include <QUiLoader>
|
||||||
|
|
||||||
#include "datawindow.h"
|
#include "datawindow.h"
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ DataWindow::DataWindow(const QString &input, bool isEscaped, int seg_no) : Valid
|
|||||||
lastPosn = match.capturedEnd(0);
|
lastPosn = match.capturedEnd(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out += input.mid(lastPosn);
|
out += input.midRef(lastPosn);
|
||||||
txtDataInput->setPlainText(out);
|
txtDataInput->setPlainText(out);
|
||||||
statusBarData->showMessage(tr("Converted LFs"), tempMessageTimeout);
|
statusBarData->showMessage(tr("Converted LFs"), tempMessageTimeout);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Zint Barcode Generator - the open source barcode generator
|
Zint Barcode Generator - the open source barcode generator
|
||||||
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -19,16 +19,17 @@
|
|||||||
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include <QUiLoader>
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QStringBuilder>
|
#include <QStringBuilder>
|
||||||
|
#include <QUiLoader>
|
||||||
|
|
||||||
#include "exportwindow.h"
|
#include "exportwindow.h"
|
||||||
|
|
||||||
// Shorthand
|
// Shorthand
|
||||||
#define QSL QStringLiteral
|
#define QSL QStringLiteral
|
||||||
|
#define QSEmpty QLatin1String("")
|
||||||
|
|
||||||
ExportWindow::ExportWindow(BarcodeItem *bc, const QString& output_data)
|
ExportWindow::ExportWindow(BarcodeItem *bc, const QString& output_data)
|
||||||
: m_bc(bc), m_output_data(output_data), m_lines(0)
|
: m_bc(bc), m_output_data(output_data), m_lines(0)
|
||||||
@ -50,7 +51,7 @@ ExportWindow::ExportWindow(BarcodeItem *bc, const QString& output_data)
|
|||||||
linDestPath->setText(settings.value(QSL("studio/export/destination"),
|
linDestPath->setText(settings.value(QSL("studio/export/destination"),
|
||||||
QDir::toNativeSeparators(QDir::homePath())).toString());
|
QDir::toNativeSeparators(QDir::homePath())).toString());
|
||||||
linPrefix->setText(settings.value(QSL("studio/export/file_prefix"), QSL("bcs_")).toString());
|
linPrefix->setText(settings.value(QSL("studio/export/file_prefix"), QSL("bcs_")).toString());
|
||||||
linPostfix->setText(settings.value(QSL("studio/export/file_postfix"), QSL("")).toString());
|
linPostfix->setText(settings.value(QSL("studio/export/file_postfix"), QSEmpty).toString());
|
||||||
cmbFileName->setCurrentIndex(settings.value(QSL("studio/export/name_format"), 0).toInt());
|
cmbFileName->setCurrentIndex(settings.value(QSL("studio/export/name_format"), 0).toInt());
|
||||||
cmbFileType->setCurrentIndex(std::min(settings.value(QSL("studio/export/filetype"), 0).toInt(),
|
cmbFileType->setCurrentIndex(std::min(settings.value(QSL("studio/export/filetype"), 0).toInt(),
|
||||||
cmbFileType->count() - 1));
|
cmbFileType->count() - 1));
|
||||||
|
@ -16,23 +16,28 @@
|
|||||||
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
|
#include <QAction>
|
||||||
|
#include <QClipboard>
|
||||||
|
#include <QColor>
|
||||||
|
#include <QColorDialog>
|
||||||
|
#include <QDesktopServices>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QFileDialog>
|
||||||
#include <QGraphicsScene>
|
#include <QGraphicsScene>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QColorDialog>
|
|
||||||
#include <QUiLoader>
|
|
||||||
#include <QFile>
|
|
||||||
#include <QRadioButton>
|
|
||||||
#include <QFileDialog>
|
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QSettings>
|
|
||||||
#include <QClipboard>
|
|
||||||
#include <QMimeData>
|
|
||||||
#include <QColor>
|
|
||||||
#include <QListView>
|
#include <QListView>
|
||||||
#include <QShortcut>
|
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QAction>
|
#include <QMessageBox>
|
||||||
|
#include <QMimeData>
|
||||||
|
#include <QRadioButton>
|
||||||
|
#include <QScreen>
|
||||||
|
#include <QSettings>
|
||||||
|
#include <QShortcut>
|
||||||
|
#include <QStandardItemModel>
|
||||||
|
#include <QTextStream>
|
||||||
|
#include <QUiLoader>
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "cliwindow.h"
|
#include "cliwindow.h"
|
||||||
#include "datawindow.h"
|
#include "datawindow.h"
|
||||||
@ -41,25 +46,27 @@
|
|||||||
|
|
||||||
// Shorthand
|
// Shorthand
|
||||||
#define QSL QStringLiteral
|
#define QSL QStringLiteral
|
||||||
|
#define QSEmpty QLatin1String("")
|
||||||
|
|
||||||
static const int tempMessageTimeout = 2000;
|
static const int tempMessageTimeout = 2000;
|
||||||
|
|
||||||
static const QKeySequence quitKeySeq(Qt::CTRL | Qt::Key_Q); // Use on Windows also (i.e. not using QKeySequence::Quit)
|
// Use on Windows also (i.e. not using QKeySequence::Quit)
|
||||||
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, quitKeySeq, (Qt::CTRL | Qt::Key_Q));
|
||||||
|
|
||||||
static const QKeySequence openCLISeq(Qt::SHIFT | Qt::CTRL | Qt::Key_C);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, openCLISeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_C));
|
||||||
|
|
||||||
static const QKeySequence copyBMPSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_B);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copyBMPSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_B));
|
||||||
static const QKeySequence copyEMFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_E);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copyEMFSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_E));
|
||||||
static const QKeySequence copyGIFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_G);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copyGIFSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_G));
|
||||||
static const QKeySequence copyPNGSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_P);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copyPNGSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_P));
|
||||||
static const QKeySequence copySVGSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_S);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copySVGSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_S));
|
||||||
static const QKeySequence copyTIFSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_T);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, copyTIFSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_T));
|
||||||
|
|
||||||
static const QKeySequence factoryResetSeq(Qt::SHIFT | Qt::CTRL | Qt::Key_R);
|
Q_GLOBAL_STATIC_WITH_ARGS(QKeySequence, factoryResetSeq, (Qt::SHIFT | Qt::CTRL | Qt::Key_R));
|
||||||
|
|
||||||
// RGB hexadecimal 6 or 8 in length or CMYK comma-separated decimal percentages "C,M,Y,K"
|
// RGB hexadecimal 6 or 8 in length or CMYK comma-separated decimal percentages "C,M,Y,K"
|
||||||
static const QRegularExpression colorRE(
|
static const QString colorREstr(QSL("^([0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)|(((100|[0-9]{0,2}),){3}(100|[0-9]{0,2}))$"));
|
||||||
QSL("^([0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?)|(((100|[0-9]{0,2}),){3}(100|[0-9]{0,2}))$"));
|
Q_GLOBAL_STATIC_WITH_ARGS(QRegularExpression, colorRE, (colorREstr));
|
||||||
|
|
||||||
static const QString fgDefault(QSL("000000"));
|
static const QString fgDefault(QSL("000000"));
|
||||||
static const QString bgDefault(QSL("FFFFFF"));
|
static const QString bgDefault(QSL("FFFFFF"));
|
||||||
@ -82,19 +89,19 @@ static QColor str_to_qcolor(const QString &str)
|
|||||||
int comma1 = str.indexOf(',');
|
int comma1 = str.indexOf(',');
|
||||||
int comma2 = str.indexOf(',', comma1 + 1);
|
int comma2 = str.indexOf(',', comma1 + 1);
|
||||||
int comma3 = str.indexOf(',', comma2 + 1);
|
int comma3 = str.indexOf(',', comma2 + 1);
|
||||||
int black = 100 - str.mid(comma3 + 1).toInt();
|
int black = 100 - str.midRef(comma3 + 1).toInt();
|
||||||
int val = 100 - str.mid(0, comma1).toInt();
|
int val = 100 - str.midRef(0, comma1).toInt();
|
||||||
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - str.mid(comma1 + 1, comma2 - comma1 - 1).toInt();
|
val = 100 - str.midRef(comma1 + 1, comma2 - comma1 - 1).toInt();
|
||||||
g = (int) roundf((0xFF * val * black) / 10000.0f);
|
g = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - str.mid(comma2 + 1, comma3 - comma2 - 1).toInt();
|
val = 100 - str.midRef(comma2 + 1, comma3 - comma2 - 1).toInt();
|
||||||
b = (int) roundf((0xFF * val * black) / 10000.0f);
|
b = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
a = 0xFF;
|
a = 0xFF;
|
||||||
} else {
|
} else {
|
||||||
r = str.mid(0, 2).toInt(nullptr, 16);
|
r = str.midRef(0, 2).toInt(nullptr, 16);
|
||||||
g = str.mid(2, 2).toInt(nullptr, 16);
|
g = str.midRef(2, 2).toInt(nullptr, 16);
|
||||||
b = str.mid(4, 2).toInt(nullptr, 16);
|
b = str.midRef(4, 2).toInt(nullptr, 16);
|
||||||
a = str.length() == 8 ? str.mid(6, 2).toInt(nullptr, 16) : 0xFF;
|
a = str.length() == 8 ? str.midRef(6, 2).toInt(nullptr, 16) : 0xFF;
|
||||||
}
|
}
|
||||||
color.setRgb(r, g, b, a);
|
color.setRgb(r, g, b, a);
|
||||||
return color;
|
return color;
|
||||||
@ -270,7 +277,7 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
|||||||
bgcolor->setIcon(QIcon(QSL(":res/white-eye.svg")));
|
bgcolor->setIcon(QIcon(QSL(":res/white-eye.svg")));
|
||||||
btnReverse->setIcon(QIcon(QSL(":res/shuffle.svg")));
|
btnReverse->setIcon(QIcon(QSL(":res/shuffle.svg")));
|
||||||
|
|
||||||
QRegularExpressionValidator *colorValidator = new QRegularExpressionValidator(colorRE, this);
|
QRegularExpressionValidator *colorValidator = new QRegularExpressionValidator(*colorRE, this);
|
||||||
txt_fgcolor->setValidator(colorValidator);
|
txt_fgcolor->setValidator(colorValidator);
|
||||||
txt_bgcolor->setValidator(colorValidator);
|
txt_bgcolor->setValidator(colorValidator);
|
||||||
|
|
||||||
@ -311,7 +318,7 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
|||||||
|
|
||||||
connect(bstyle, SIGNAL(currentIndexChanged(int)), SLOT(change_options()));
|
connect(bstyle, SIGNAL(currentIndexChanged(int)), SLOT(change_options()));
|
||||||
connect(bstyle, SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(bstyle, SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(filter_bstyle, SIGNAL(textChanged( const QString& )), SLOT(filter_symbologies()));
|
connect(filter_bstyle, SIGNAL(textChanged(QString)), SLOT(filter_symbologies()));
|
||||||
connect(heightb, SIGNAL(valueChanged(double)), SLOT(update_preview()));
|
connect(heightb, SIGNAL(valueChanged(double)), SLOT(update_preview()));
|
||||||
connect(bwidth, SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(bwidth, SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(btype, SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(btype, SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
@ -319,15 +326,15 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
|||||||
connect(spnTextGap, SIGNAL(valueChanged(double)), SLOT(text_gap_ui_set()));
|
connect(spnTextGap, SIGNAL(valueChanged(double)), SLOT(text_gap_ui_set()));
|
||||||
connect(spnTextGap, SIGNAL(valueChanged(double)), SLOT(update_preview()));
|
connect(spnTextGap, SIGNAL(valueChanged(double)), SLOT(update_preview()));
|
||||||
connect(btnClearTextGap, SIGNAL(clicked(bool)), SLOT(clear_text_gap()));
|
connect(btnClearTextGap, SIGNAL(clicked(bool)), SLOT(clear_text_gap()));
|
||||||
connect(txtData, SIGNAL(textChanged( const QString& )), SLOT(data_ui_set()));
|
connect(txtData, SIGNAL(textChanged(QString)), SLOT(data_ui_set()));
|
||||||
connect(txtData, SIGNAL(textChanged( const QString& )), SLOT(upcae_no_quiet_zones_ui_set()));
|
connect(txtData, SIGNAL(textChanged(QString)), SLOT(upcae_no_quiet_zones_ui_set()));
|
||||||
connect(txtData, SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(txtData, SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(txtDataSeg1, SIGNAL(textChanged( const QString& )), SLOT(data_ui_set()));
|
connect(txtDataSeg1, SIGNAL(textChanged(QString)), SLOT(data_ui_set()));
|
||||||
connect(txtDataSeg1, SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(txtDataSeg1, SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(txtDataSeg2, SIGNAL(textChanged( const QString& )), SLOT(data_ui_set()));
|
connect(txtDataSeg2, SIGNAL(textChanged(QString)), SLOT(data_ui_set()));
|
||||||
connect(txtDataSeg2, SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(txtDataSeg2, SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(txtDataSeg3, SIGNAL(textChanged( const QString& )), SLOT(data_ui_set()));
|
connect(txtDataSeg3, SIGNAL(textChanged(QString)), SLOT(data_ui_set()));
|
||||||
connect(txtDataSeg3, SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(txtDataSeg3, SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(txtComposite, SIGNAL(textChanged()), SLOT(update_preview()));
|
connect(txtComposite, SIGNAL(textChanged()), SLOT(update_preview()));
|
||||||
connect(chkComposite, SIGNAL(toggled(bool)), SLOT(composite_ui_set()));
|
connect(chkComposite, SIGNAL(toggled(bool)), SLOT(composite_ui_set()));
|
||||||
connect(chkComposite, SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(chkComposite, SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
@ -378,36 +385,35 @@ MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags fl)
|
|||||||
connect(&m_bc.bc, SIGNAL(encoded()), SLOT(on_encoded()));
|
connect(&m_bc.bc, SIGNAL(encoded()), SLOT(on_encoded()));
|
||||||
connect(&m_bc.bc, SIGNAL(errored()), SLOT(on_errored()));
|
connect(&m_bc.bc, SIGNAL(errored()), SLOT(on_errored()));
|
||||||
|
|
||||||
connect(view, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(view_context_menu(const QPoint &)));
|
connect(view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(view_context_menu(QPoint)));
|
||||||
connect(errtxtBar, SIGNAL(customContextMenuRequested(const QPoint &)), this,
|
connect(errtxtBar, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(errtxtBar_context_menu(QPoint)));
|
||||||
SLOT(errtxtBar_context_menu(const QPoint &)));
|
|
||||||
|
|
||||||
// Will enable/disable these on error
|
// Will enable/disable these on error
|
||||||
m_saveAsShortcut = new QShortcut(QKeySequence::Save, this);
|
m_saveAsShortcut = new QShortcut(QKeySequence::Save, this);
|
||||||
connect(m_saveAsShortcut, SIGNAL(activated()), SLOT(save()));
|
connect(m_saveAsShortcut, SIGNAL(activated()), SLOT(save()));
|
||||||
m_openCLIShortcut = new QShortcut(openCLISeq, this);
|
m_openCLIShortcut = new QShortcut(*openCLISeq, this);
|
||||||
connect(m_openCLIShortcut, SIGNAL(activated()), SLOT(open_cli_dialog()));
|
connect(m_openCLIShortcut, SIGNAL(activated()), SLOT(open_cli_dialog()));
|
||||||
m_copyBMPShortcut = new QShortcut(copyBMPSeq, this);
|
m_copyBMPShortcut = new QShortcut(*copyBMPSeq, this);
|
||||||
connect(m_copyBMPShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_bmp()));
|
connect(m_copyBMPShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_bmp()));
|
||||||
m_copyEMFShortcut = new QShortcut(copyEMFSeq, this);
|
m_copyEMFShortcut = new QShortcut(*copyEMFSeq, this);
|
||||||
connect(m_copyEMFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_emf()));
|
connect(m_copyEMFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_emf()));
|
||||||
m_copyGIFShortcut = new QShortcut(copyGIFSeq, this);
|
m_copyGIFShortcut = new QShortcut(*copyGIFSeq, this);
|
||||||
connect(m_copyGIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_gif()));
|
connect(m_copyGIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_gif()));
|
||||||
if (!m_bc.bc.noPng()) {
|
if (!m_bc.bc.noPng()) {
|
||||||
m_copyPNGShortcut = new QShortcut(copyPNGSeq, this);
|
m_copyPNGShortcut = new QShortcut(*copyPNGSeq, this);
|
||||||
connect(m_copyPNGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_png()));
|
connect(m_copyPNGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_png()));
|
||||||
}
|
}
|
||||||
m_copySVGShortcut = new QShortcut(copySVGSeq, this);
|
m_copySVGShortcut = new QShortcut(*copySVGSeq, this);
|
||||||
connect(m_copySVGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_svg()));
|
connect(m_copySVGShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_svg()));
|
||||||
m_copyTIFShortcut = new QShortcut(copyTIFSeq, this);
|
m_copyTIFShortcut = new QShortcut(*copyTIFSeq, this);
|
||||||
connect(m_copyTIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_tif()));
|
connect(m_copyTIFShortcut, SIGNAL(activated()), SLOT(copy_to_clipboard_tif()));
|
||||||
|
|
||||||
m_factoryResetShortcut = new QShortcut(factoryResetSeq, this);
|
m_factoryResetShortcut = new QShortcut(*factoryResetSeq, this);
|
||||||
connect(m_factoryResetShortcut, SIGNAL(activated()), SLOT(factory_reset()));
|
connect(m_factoryResetShortcut, SIGNAL(activated()), SLOT(factory_reset()));
|
||||||
|
|
||||||
QShortcut *helpShortcut = new QShortcut(QKeySequence::HelpContents, this);
|
QShortcut *helpShortcut = new QShortcut(QKeySequence::HelpContents, this);
|
||||||
connect(helpShortcut, SIGNAL(activated()), SLOT(help()));
|
connect(helpShortcut, SIGNAL(activated()), SLOT(help()));
|
||||||
QShortcut *quitShortcut = new QShortcut(quitKeySeq, this);
|
QShortcut *quitShortcut = new QShortcut(*quitKeySeq, this);
|
||||||
connect(quitShortcut, SIGNAL(activated()), SLOT(quit_now()));
|
connect(quitShortcut, SIGNAL(activated()), SLOT(quit_now()));
|
||||||
|
|
||||||
createActions();
|
createActions();
|
||||||
@ -480,7 +486,7 @@ void MainWindow::load_settings(QSettings &settings)
|
|||||||
bool initial_load = m_symbology == 0;
|
bool initial_load = m_symbology == 0;
|
||||||
QString initialData(initial_load ? tr("Your Data Here!") : "");
|
QString initialData(initial_load ? tr("Your Data Here!") : "");
|
||||||
|
|
||||||
m_fgstr = settings.value(QSL("studio/ink/text"), QSL("")).toString();
|
m_fgstr = settings.value(QSL("studio/ink/text"), QSEmpty).toString();
|
||||||
if (m_fgstr.isEmpty()) {
|
if (m_fgstr.isEmpty()) {
|
||||||
QColor color(settings.value(QSL("studio/ink/red"), 0).toInt(),
|
QColor color(settings.value(QSL("studio/ink/red"), 0).toInt(),
|
||||||
settings.value(QSL("studio/ink/green"), 0).toInt(),
|
settings.value(QSL("studio/ink/green"), 0).toInt(),
|
||||||
@ -488,10 +494,10 @@ void MainWindow::load_settings(QSettings &settings)
|
|||||||
settings.value(QSL("studio/ink/alpha"), 0xff).toInt());
|
settings.value(QSL("studio/ink/alpha"), 0xff).toInt());
|
||||||
m_fgstr = qcolor_to_str(color);
|
m_fgstr = qcolor_to_str(color);
|
||||||
}
|
}
|
||||||
if (m_fgstr.indexOf(colorRE) != 0) {
|
if (m_fgstr.indexOf(*colorRE) != 0) {
|
||||||
m_fgstr = fgDefault;
|
m_fgstr = fgDefault;
|
||||||
}
|
}
|
||||||
m_bgstr = settings.value(QSL("studio/paper/text"), QSL("")).toString();
|
m_bgstr = settings.value(QSL("studio/paper/text"), QSEmpty).toString();
|
||||||
if (m_bgstr.isEmpty()) {
|
if (m_bgstr.isEmpty()) {
|
||||||
QColor color(settings.value(QSL("studio/paper/red"), 0).toInt(),
|
QColor color(settings.value(QSL("studio/paper/red"), 0).toInt(),
|
||||||
settings.value(QSL("studio/paper/green"), 0).toInt(),
|
settings.value(QSL("studio/paper/green"), 0).toInt(),
|
||||||
@ -499,7 +505,7 @@ void MainWindow::load_settings(QSettings &settings)
|
|||||||
settings.value(QSL("studio/paper/alpha"), 0xff).toInt());
|
settings.value(QSL("studio/paper/alpha"), 0xff).toInt());
|
||||||
m_bgstr = qcolor_to_str(color);
|
m_bgstr = qcolor_to_str(color);
|
||||||
}
|
}
|
||||||
if (m_bgstr.indexOf(colorRE) != 0) {
|
if (m_bgstr.indexOf(*colorRE) != 0) {
|
||||||
m_bgstr = bgDefault;
|
m_bgstr = bgDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -730,7 +736,7 @@ bool MainWindow::save()
|
|||||||
} else {
|
} else {
|
||||||
QString filename = nativePathname.right(nativePathname.length() - (lastSeparator + 1));
|
QString filename = nativePathname.right(nativePathname.length() - (lastSeparator + 1));
|
||||||
/*: %1 is base filename saved to, %2 is directory saved in */
|
/*: %1 is base filename saved to, %2 is directory saved in */
|
||||||
statusBar->showMessage(tr("Saved as \"%1\" in \"%2\"").arg(filename).arg(dirname), 0 /*No timeout*/);
|
statusBar->showMessage(tr("Saved as \"%1\" in \"%2\"").arg(filename, dirname), 0 /*No timeout*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
settings.setValue(QSL("studio/default_dir"), dirname);
|
settings.setValue(QSL("studio/default_dir"), dirname);
|
||||||
@ -794,7 +800,7 @@ void MainWindow::about()
|
|||||||
"<p>With thanks to Harald Oehlmann, Norbert Szabó, Robert Elliott, Milton Neal, "
|
"<p>With thanks to Harald Oehlmann, Norbert Szabó, Robert Elliott, Milton Neal, "
|
||||||
"Git Lost, Alonso Schaich, Andre Maute and many others at "
|
"Git Lost, Alonso Schaich, Andre Maute and many others at "
|
||||||
"<a href=\"https://sourceforge.net/projects/zint/\">SourceForge</a>.</p>"
|
"<a href=\"https://sourceforge.net/projects/zint/\">SourceForge</a>.</p>"
|
||||||
).arg(zint_version).arg(QT_VERSION_STR));
|
).arg(zint_version, QT_VERSION_STR));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::help()
|
void MainWindow::help()
|
||||||
@ -809,14 +815,12 @@ void MainWindow::preview_bg()
|
|||||||
color_dialog.setOptions(QColorDialog::DontUseNativeDialog);
|
color_dialog.setOptions(QColorDialog::DontUseNativeDialog);
|
||||||
color_dialog.setCurrentColor(m_previewBgColor);
|
color_dialog.setCurrentColor(m_previewBgColor);
|
||||||
color_dialog.restoreGeometry(m_previewbgcolor_geometry);
|
color_dialog.restoreGeometry(m_previewbgcolor_geometry);
|
||||||
connect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this,
|
connect(&color_dialog, SIGNAL(currentColorChanged(QColor)), this, SLOT(previewbgcolor_changed(QColor)));
|
||||||
SLOT(previewbgcolor_changed(const QColor&)));
|
|
||||||
if (color_dialog.exec() && color_dialog.selectedColor().isValid()) {
|
if (color_dialog.exec() && color_dialog.selectedColor().isValid()) {
|
||||||
m_previewBgColor = color_dialog.selectedColor();
|
m_previewBgColor = color_dialog.selectedColor();
|
||||||
}
|
}
|
||||||
m_previewbgcolor_geometry = color_dialog.saveGeometry();
|
m_previewbgcolor_geometry = color_dialog.saveGeometry();
|
||||||
disconnect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this,
|
disconnect(&color_dialog, SIGNAL(currentColorChanged(QColor)), this, SLOT(previewbgcolor_changed(QColor)));
|
||||||
SLOT(previewbgcolor_changed(const QColor&)));
|
|
||||||
|
|
||||||
m_bc.setColor(m_previewBgColor);
|
m_bc.setColor(m_previewBgColor);
|
||||||
update_preview();
|
update_preview();
|
||||||
@ -909,8 +913,7 @@ void MainWindow::open_data_dialog_seg(const int seg_no)
|
|||||||
mac_hack_statusBars(&dlg);
|
mac_hack_statusBars(&dlg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
connect(&dlg, SIGNAL(dataChanged(const QString&, bool, int)), this,
|
connect(&dlg, SIGNAL(dataChanged(QString,bool,int)), this, SLOT(on_dataChanged(QString,bool,int)));
|
||||||
SLOT(on_dataChanged(const QString&, bool, int)));
|
|
||||||
(void) dlg.exec();
|
(void) dlg.exec();
|
||||||
if (dlg.Valid) {
|
if (dlg.Valid) {
|
||||||
const bool updated = originalText != dlg.DataOutput;
|
const bool updated = originalText != dlg.DataOutput;
|
||||||
@ -940,8 +943,7 @@ void MainWindow::open_data_dialog_seg(const int seg_no)
|
|||||||
seg_textbox->setText(originalText); // Restore
|
seg_textbox->setText(originalText); // Restore
|
||||||
chkEscape->setChecked(originalChkEscape);
|
chkEscape->setChecked(originalChkEscape);
|
||||||
}
|
}
|
||||||
disconnect(&dlg, SIGNAL(dataChanged(const QString&, bool, int)), this,
|
disconnect(&dlg, SIGNAL(dataChanged(QString,bool,int)), this, SLOT(on_dataChanged(QString,bool,int)));
|
||||||
SLOT(on_dataChanged(const QString&, bool, int)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::open_data_dialog()
|
void MainWindow::open_data_dialog()
|
||||||
@ -1049,13 +1051,13 @@ void MainWindow::open_scale_dialog()
|
|||||||
m_scaleWindow = nullptr;
|
m_scaleWindow = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_fgcolor_clicked()
|
void MainWindow::fgcolor_clicked()
|
||||||
{
|
{
|
||||||
color_clicked(m_fgstr, txt_fgcolor, fgcolor, tr("Set foreground colour"), m_fgcolor_geometry,
|
color_clicked(m_fgstr, txt_fgcolor, fgcolor, tr("Set foreground colour"), m_fgcolor_geometry,
|
||||||
SLOT(fgcolor_changed(const QColor&)));
|
SLOT(fgcolor_changed(const QColor&)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_bgcolor_clicked()
|
void MainWindow::bgcolor_clicked()
|
||||||
{
|
{
|
||||||
color_clicked(m_bgstr, txt_bgcolor, bgcolor, tr("Set background colour"), m_bgcolor_geometry,
|
color_clicked(m_bgstr, txt_bgcolor, bgcolor, tr("Set background colour"), m_bgcolor_geometry,
|
||||||
SLOT(bgcolor_changed(const QColor&)));
|
SLOT(bgcolor_changed(const QColor&)));
|
||||||
@ -1071,7 +1073,7 @@ void MainWindow::color_clicked(QString &colorStr, QLineEdit *txt, QToolButton *b
|
|||||||
color_dialog.setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel);
|
color_dialog.setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel);
|
||||||
color_dialog.setCurrentColor(str_to_qcolor(colorStr));
|
color_dialog.setCurrentColor(str_to_qcolor(colorStr));
|
||||||
color_dialog.restoreGeometry(geometry);
|
color_dialog.restoreGeometry(geometry);
|
||||||
connect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this, color_changed);
|
connect(&color_dialog, SIGNAL(currentColorChanged(QColor)), this, color_changed);
|
||||||
|
|
||||||
if (color_dialog.exec() && color_dialog.selectedColor().isValid()) {
|
if (color_dialog.exec() && color_dialog.selectedColor().isValid()) {
|
||||||
colorStr = qcolor_to_str(color_dialog.selectedColor());
|
colorStr = qcolor_to_str(color_dialog.selectedColor());
|
||||||
@ -1079,7 +1081,7 @@ void MainWindow::color_clicked(QString &colorStr, QLineEdit *txt, QToolButton *b
|
|||||||
colorStr = original;
|
colorStr = original;
|
||||||
}
|
}
|
||||||
geometry = color_dialog.saveGeometry();
|
geometry = color_dialog.saveGeometry();
|
||||||
disconnect(&color_dialog, SIGNAL(currentColorChanged(const QColor &)), this, color_changed);
|
disconnect(&color_dialog, SIGNAL(currentColorChanged(QColor)), this, color_changed);
|
||||||
|
|
||||||
setColorTxtBtn(colorStr, txt, btn);
|
setColorTxtBtn(colorStr, txt, btn);
|
||||||
update_preview();
|
update_preview();
|
||||||
@ -1116,7 +1118,7 @@ void MainWindow::bgcolor_edited()
|
|||||||
void MainWindow::color_edited(QString &colorStr, QLineEdit *txt, QToolButton *btn)
|
void MainWindow::color_edited(QString &colorStr, QLineEdit *txt, QToolButton *btn)
|
||||||
{
|
{
|
||||||
QString new_str = txt->text().trimmed();
|
QString new_str = txt->text().trimmed();
|
||||||
if (new_str.indexOf(colorRE) != 0) {
|
if (new_str.indexOf(*colorRE) != 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
colorStr = new_str;
|
colorStr = new_str;
|
||||||
@ -1721,7 +1723,7 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("spnPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("spnPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(structapp_ui_set()));
|
connect(get_widget(QSL("spnPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(structapp_ui_set()));
|
||||||
connect(get_widget(QSL("spnPDFStructAppIndex")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnPDFStructAppIndex")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("txtPDFStructAppID")), SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(get_widget(QSL("txtPDFStructAppID")), SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
|
|
||||||
} else if (symbology == BARCODE_MICROPDF417) {
|
} else if (symbology == BARCODE_MICROPDF417) {
|
||||||
QFile file(QSL(":/grpMicroPDF.ui"));
|
QFile file(QSL(":/grpMicroPDF.ui"));
|
||||||
@ -1746,7 +1748,7 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("spnMPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnMPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("spnMPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(structapp_ui_set()));
|
connect(get_widget(QSL("spnMPDFStructAppCount")), SIGNAL(valueChanged(int)), SLOT(structapp_ui_set()));
|
||||||
connect(get_widget(QSL("spnMPDFStructAppIndex")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnMPDFStructAppIndex")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("txtMPDFStructAppID")), SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(get_widget(QSL("txtMPDFStructAppID")), SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
|
|
||||||
} else if (symbology == BARCODE_DOTCODE) {
|
} else if (symbology == BARCODE_DOTCODE) {
|
||||||
QFile file(QSL(":/grpDotCode.ui"));
|
QFile file(QSL(":/grpDotCode.ui"));
|
||||||
@ -1762,8 +1764,7 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("radDotStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radDotStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("radDotGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radDotGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbDotStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbDotStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbDotStructAppCount")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbDotStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(structapp_ui_set()));
|
||||||
SLOT(structapp_ui_set()));
|
|
||||||
connect(get_widget(QSL("cmbDotStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbDotStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
|
|
||||||
} else if (symbology == BARCODE_AZTEC) {
|
} else if (symbology == BARCODE_AZTEC) {
|
||||||
@ -1783,14 +1784,11 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("radAztecStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radAztecStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("radAztecGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radAztecGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("radAztecHIBC")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radAztecHIBC")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbAztecStructAppCount")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbAztecStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
SLOT(update_preview()));
|
|
||||||
connect(get_widget(QSL("cmbAztecStructAppCount")), SIGNAL(currentIndexChanged(int)),
|
connect(get_widget(QSL("cmbAztecStructAppCount")), SIGNAL(currentIndexChanged(int)),
|
||||||
SLOT(structapp_ui_set()));
|
SLOT(structapp_ui_set()));
|
||||||
connect(get_widget(QSL("cmbAztecStructAppIndex")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbAztecStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
SLOT(update_preview()));
|
connect(get_widget(QSL("txtAztecStructAppID")), SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("txtAztecStructAppID")), SIGNAL(textChanged( const QString& )),
|
|
||||||
SLOT(update_preview()));
|
|
||||||
|
|
||||||
} else if (symbology == BARCODE_MSI_PLESSEY) {
|
} else if (symbology == BARCODE_MSI_PLESSEY) {
|
||||||
QFile file(QSL(":/grpMSICheck.ui"));
|
QFile file(QSL(":/grpMSICheck.ui"));
|
||||||
@ -2091,8 +2089,7 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("cmbGridECC")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbGridECC")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("chkGridFullMultibyte")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("chkGridFullMultibyte")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbGridStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbGridStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbGridStructAppCount")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbGridStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(structapp_ui_set()));
|
||||||
SLOT(structapp_ui_set()));
|
|
||||||
connect(get_widget(QSL("cmbGridStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbGridStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("spnGridStructAppID")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnGridStructAppID")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
|
|
||||||
@ -2107,15 +2104,14 @@ void MainWindow::change_options()
|
|||||||
tabMain->insertTab(1, m_optionWidget, tr("MaxiCod&e"));
|
tabMain->insertTab(1, m_optionWidget, tr("MaxiCod&e"));
|
||||||
connect(get_widget(QSL("cmbMaxiMode")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbMaxiMode")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbMaxiMode")), SIGNAL(currentIndexChanged(int)), SLOT(maxi_scm_ui_set()));
|
connect(get_widget(QSL("cmbMaxiMode")), SIGNAL(currentIndexChanged(int)), SLOT(maxi_scm_ui_set()));
|
||||||
connect(get_widget(QSL("txtMaxiSCMPostcode")), SIGNAL(textChanged( const QString& )), SLOT(update_preview()));
|
connect(get_widget(QSL("txtMaxiSCMPostcode")), SIGNAL(textChanged(QString)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("spnMaxiSCMCountry")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnMaxiSCMCountry")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("spnMaxiSCMService")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnMaxiSCMService")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("chkMaxiSCMVV")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("chkMaxiSCMVV")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("chkMaxiSCMVV")), SIGNAL(toggled(bool)), SLOT(maxi_scm_ui_set()));
|
connect(get_widget(QSL("chkMaxiSCMVV")), SIGNAL(toggled(bool)), SLOT(maxi_scm_ui_set()));
|
||||||
connect(get_widget(QSL("spnMaxiSCMVV")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnMaxiSCMVV")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbMaxiStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbMaxiStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbMaxiStructAppCount")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbMaxiStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(structapp_ui_set()));
|
||||||
SLOT(structapp_ui_set()));
|
|
||||||
connect(get_widget(QSL("cmbMaxiStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbMaxiStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
maxi_scm_ui_set();
|
maxi_scm_ui_set();
|
||||||
|
|
||||||
@ -2216,12 +2212,10 @@ void MainWindow::change_options()
|
|||||||
connect(get_widget(QSL("cmbUltraRevision")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("cmbUltraRevision")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("radUltraStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radUltraStand")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("radUltraGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
connect(get_widget(QSL("radUltraGS1")), SIGNAL(toggled(bool)), SLOT(update_preview()));
|
||||||
connect(get_widget(QSL("cmbUltraStructAppCount")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbUltraStructAppCount")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
SLOT(update_preview()));
|
|
||||||
connect(get_widget(QSL("cmbUltraStructAppCount")), SIGNAL(currentIndexChanged(int)),
|
connect(get_widget(QSL("cmbUltraStructAppCount")), SIGNAL(currentIndexChanged(int)),
|
||||||
SLOT(structapp_ui_set()));
|
SLOT(structapp_ui_set()));
|
||||||
connect(get_widget(QSL("cmbUltraStructAppIndex")), SIGNAL(currentIndexChanged( int )),
|
connect(get_widget(QSL("cmbUltraStructAppIndex")), SIGNAL(currentIndexChanged(int)), SLOT(update_preview()));
|
||||||
SLOT(update_preview()));
|
|
||||||
connect(get_widget(QSL("spnUltraStructAppID")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
connect(get_widget(QSL("spnUltraStructAppID")), SIGNAL(valueChanged(int)), SLOT(update_preview()));
|
||||||
|
|
||||||
} else if (symbology == BARCODE_UPCA || symbology == BARCODE_UPCA_CHK || symbology == BARCODE_UPCA_CC) {
|
} else if (symbology == BARCODE_UPCA || symbology == BARCODE_UPCA_CHK || symbology == BARCODE_UPCA_CC) {
|
||||||
@ -3342,12 +3336,12 @@ void MainWindow::createActions()
|
|||||||
|
|
||||||
m_copyBMPAct = new QAction(copyIcon, tr("Copy as &BMP"), this);
|
m_copyBMPAct = new QAction(copyIcon, tr("Copy as &BMP"), this);
|
||||||
m_copyBMPAct->setStatusTip(tr("Copy to clipboard as BMP"));
|
m_copyBMPAct->setStatusTip(tr("Copy to clipboard as BMP"));
|
||||||
m_copyBMPAct->setShortcut(copyBMPSeq);
|
m_copyBMPAct->setShortcut(*copyBMPSeq);
|
||||||
connect(m_copyBMPAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_bmp()));
|
connect(m_copyBMPAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_bmp()));
|
||||||
|
|
||||||
m_copyEMFAct = new QAction(copyIcon, tr("Copy as E&MF"), this);
|
m_copyEMFAct = new QAction(copyIcon, tr("Copy as E&MF"), this);
|
||||||
m_copyEMFAct->setStatusTip(tr("Copy to clipboard as EMF"));
|
m_copyEMFAct->setStatusTip(tr("Copy to clipboard as EMF"));
|
||||||
m_copyEMFAct->setShortcut(copyEMFSeq);
|
m_copyEMFAct->setShortcut(*copyEMFSeq);
|
||||||
connect(m_copyEMFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_emf()));
|
connect(m_copyEMFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_emf()));
|
||||||
|
|
||||||
#ifdef MAINWINDOW_COPY_EPS /* TODO: see if can get this to work */
|
#ifdef MAINWINDOW_COPY_EPS /* TODO: see if can get this to work */
|
||||||
@ -3358,7 +3352,7 @@ void MainWindow::createActions()
|
|||||||
|
|
||||||
m_copyGIFAct = new QAction(copyIcon, tr("Copy as &GIF"), this);
|
m_copyGIFAct = new QAction(copyIcon, tr("Copy as &GIF"), this);
|
||||||
m_copyGIFAct->setStatusTip(tr("Copy to clipboard as GIF"));
|
m_copyGIFAct->setStatusTip(tr("Copy to clipboard as GIF"));
|
||||||
m_copyGIFAct->setShortcut(copyGIFSeq);
|
m_copyGIFAct->setShortcut(*copyGIFSeq);
|
||||||
connect(m_copyGIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_gif()));
|
connect(m_copyGIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_gif()));
|
||||||
|
|
||||||
#ifdef MAINWINDOW_COPY_PCX /* TODO: see if can get this to work */
|
#ifdef MAINWINDOW_COPY_PCX /* TODO: see if can get this to work */
|
||||||
@ -3370,23 +3364,23 @@ void MainWindow::createActions()
|
|||||||
if (!m_bc.bc.noPng()) {
|
if (!m_bc.bc.noPng()) {
|
||||||
m_copyPNGAct = new QAction(copyIcon, tr("Copy as &PNG"), this);
|
m_copyPNGAct = new QAction(copyIcon, tr("Copy as &PNG"), this);
|
||||||
m_copyPNGAct->setStatusTip(tr("Copy to clipboard as PNG"));
|
m_copyPNGAct->setStatusTip(tr("Copy to clipboard as PNG"));
|
||||||
m_copyPNGAct->setShortcut(copyPNGSeq);
|
m_copyPNGAct->setShortcut(*copyPNGSeq);
|
||||||
connect(m_copyPNGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_png()));
|
connect(m_copyPNGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_png()));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_copySVGAct = new QAction(copyIcon, tr("Copy as S&VG"), this);
|
m_copySVGAct = new QAction(copyIcon, tr("Copy as S&VG"), this);
|
||||||
m_copySVGAct->setStatusTip(tr("Copy to clipboard as SVG"));
|
m_copySVGAct->setStatusTip(tr("Copy to clipboard as SVG"));
|
||||||
m_copySVGAct->setShortcut(copySVGSeq);
|
m_copySVGAct->setShortcut(*copySVGSeq);
|
||||||
connect(m_copySVGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_svg()));
|
connect(m_copySVGAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_svg()));
|
||||||
|
|
||||||
m_copyTIFAct = new QAction(copyIcon, tr("Copy as &TIF"), this);
|
m_copyTIFAct = new QAction(copyIcon, tr("Copy as &TIF"), this);
|
||||||
m_copyTIFAct->setStatusTip(tr("Copy to clipboard as TIF"));
|
m_copyTIFAct->setStatusTip(tr("Copy to clipboard as TIF"));
|
||||||
m_copyTIFAct->setShortcut(copyTIFSeq);
|
m_copyTIFAct->setShortcut(*copyTIFSeq);
|
||||||
connect(m_copyTIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_tif()));
|
connect(m_copyTIFAct, SIGNAL(triggered()), this, SLOT(copy_to_clipboard_tif()));
|
||||||
|
|
||||||
m_openCLIAct = new QAction(cliIcon, tr("C&LI Equivalent..."), this);
|
m_openCLIAct = new QAction(cliIcon, tr("C&LI Equivalent..."), this);
|
||||||
m_openCLIAct->setStatusTip(tr("Generate CLI equivalent"));
|
m_openCLIAct->setStatusTip(tr("Generate CLI equivalent"));
|
||||||
m_openCLIAct->setShortcut(openCLISeq);
|
m_openCLIAct->setShortcut(*openCLISeq);
|
||||||
connect(m_openCLIAct, SIGNAL(triggered()), this, SLOT(open_cli_dialog()));
|
connect(m_openCLIAct, SIGNAL(triggered()), this, SLOT(open_cli_dialog()));
|
||||||
|
|
||||||
m_saveAsAct = new QAction(saveIcon, tr("&Save As..."), this);
|
m_saveAsAct = new QAction(saveIcon, tr("&Save As..."), this);
|
||||||
@ -3396,7 +3390,7 @@ void MainWindow::createActions()
|
|||||||
|
|
||||||
m_factoryResetAct = new QAction(zapIcon, tr("Factory &Reset..."), this);
|
m_factoryResetAct = new QAction(zapIcon, tr("Factory &Reset..."), this);
|
||||||
m_factoryResetAct->setStatusTip(tr("Clear all data & settings"));
|
m_factoryResetAct->setStatusTip(tr("Clear all data & settings"));
|
||||||
m_factoryResetAct->setShortcut(factoryResetSeq);
|
m_factoryResetAct->setShortcut(*factoryResetSeq);
|
||||||
connect(m_factoryResetAct, SIGNAL(triggered()), this, SLOT(factory_reset()));
|
connect(m_factoryResetAct, SIGNAL(triggered()), this, SLOT(factory_reset()));
|
||||||
|
|
||||||
m_helpAct = new QAction(helpIcon, tr("&Help (online)"), this);
|
m_helpAct = new QAction(helpIcon, tr("&Help (online)"), this);
|
||||||
@ -3414,7 +3408,7 @@ void MainWindow::createActions()
|
|||||||
|
|
||||||
m_quitAct = new QAction(quitIcon, tr("&Quit"), this);
|
m_quitAct = new QAction(quitIcon, tr("&Quit"), this);
|
||||||
m_quitAct->setStatusTip(tr("Exit Zint Barcode Studio"));
|
m_quitAct->setStatusTip(tr("Exit Zint Barcode Studio"));
|
||||||
m_quitAct->setShortcut(quitKeySeq);
|
m_quitAct->setShortcut(*quitKeySeq);
|
||||||
connect(m_quitAct, SIGNAL(triggered()), this, SLOT(quit_now()));
|
connect(m_quitAct, SIGNAL(triggered()), this, SLOT(quit_now()));
|
||||||
|
|
||||||
m_copyErrtxtAct = new QAction(copyIcon, tr("&Copy"), this);
|
m_copyErrtxtAct = new QAction(copyIcon, tr("&Copy"), this);
|
||||||
@ -3576,7 +3570,7 @@ void MainWindow::automatic_info_set()
|
|||||||
txt->setText(QString::asprintf("(%d X %d (%d Layers))", w, w, layers));
|
txt->setText(QString::asprintf("(%d X %d (%d Layers))", w, w, layers));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
txt->setText(QSL(""));
|
txt->setText(QSEmpty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3829,7 +3823,7 @@ void MainWindow::automatic_info_set()
|
|||||||
const int r = m_bc.bc.encodedRows();
|
const int r = m_bc.bc.encodedRows();
|
||||||
txt->setText(QString::asprintf("(%d X %d)", w, r));
|
txt->setText(QString::asprintf("(%d X %d)", w, r));
|
||||||
} else {
|
} else {
|
||||||
txt->setText(QSL(""));
|
txt->setText(QSEmpty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4015,7 +4009,7 @@ void MainWindow::set_dspn_from_setting(QSettings &settings, const QString &setti
|
|||||||
QString MainWindow::get_txt_val(const QString &name)
|
QString MainWindow::get_txt_val(const QString &name)
|
||||||
{
|
{
|
||||||
QLineEdit *lineEdit = m_optionWidget ? m_optionWidget->findChild<QLineEdit*>(name) : nullptr;
|
QLineEdit *lineEdit = m_optionWidget ? m_optionWidget->findChild<QLineEdit*>(name) : nullptr;
|
||||||
return lineEdit ? lineEdit->text() : QSL("");
|
return lineEdit ? lineEdit->text() : QSEmpty;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper to set line edit from settings, checking for NULL */
|
/* Helper to set line edit from settings, checking for NULL */
|
||||||
@ -4446,18 +4440,18 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
{
|
{
|
||||||
QString name = get_setting_name(symbology);
|
QString name = get_setting_name(symbology);
|
||||||
if (!name.isEmpty()) { // Should never be empty
|
if (!name.isEmpty()) { // Should never be empty
|
||||||
const QString &tdata = settings.value(QSL("studio/bc/%1/data").arg(name), QSL("")).toString();
|
const QString &tdata = settings.value(QSL("studio/bc/%1/data").arg(name), QSEmpty).toString();
|
||||||
if (!tdata.isEmpty()) {
|
if (!tdata.isEmpty()) {
|
||||||
txtData->setText(tdata);
|
txtData->setText(tdata);
|
||||||
}
|
}
|
||||||
if (!grpSegs->isHidden()) {
|
if (!grpSegs->isHidden()) {
|
||||||
txtDataSeg1->setText(settings.value(QSL("studio/bc/%1/data_seg1").arg(name), QSL("")).toString());
|
txtDataSeg1->setText(settings.value(QSL("studio/bc/%1/data_seg1").arg(name), QSEmpty).toString());
|
||||||
txtDataSeg2->setText(settings.value(QSL("studio/bc/%1/data_seg2").arg(name), QSL("")).toString());
|
txtDataSeg2->setText(settings.value(QSL("studio/bc/%1/data_seg2").arg(name), QSEmpty).toString());
|
||||||
txtDataSeg3->setText(settings.value(QSL("studio/bc/%1/data_seg3").arg(name), QSL("")).toString());
|
txtDataSeg3->setText(settings.value(QSL("studio/bc/%1/data_seg3").arg(name), QSEmpty).toString());
|
||||||
}
|
}
|
||||||
if (!grpComposite->isHidden()) {
|
if (!grpComposite->isHidden()) {
|
||||||
const QString &composite_text = settings.value(
|
const QString &composite_text = settings.value(
|
||||||
QSL("studio/bc/%1/composite_text").arg(name), QSL("")).toString();
|
QSL("studio/bc/%1/composite_text").arg(name), QSEmpty).toString();
|
||||||
if (!composite_text.isEmpty()) {
|
if (!composite_text.isEmpty()) {
|
||||||
txtComposite->setText(composite_text);
|
txtComposite->setText(composite_text);
|
||||||
}
|
}
|
||||||
@ -4513,7 +4507,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
spnDotSize->setValue(settings.value(
|
spnDotSize->setValue(settings.value(
|
||||||
QSL("studio/bc/%1/appearance/dot_size").arg(name), 0.4f / 0.5f).toFloat());
|
QSL("studio/bc/%1/appearance/dot_size").arg(name), 0.4f / 0.5f).toFloat());
|
||||||
}
|
}
|
||||||
m_fgstr = settings.value(QSL("studio/bc/%1/ink/text").arg(name), QSL("")).toString();
|
m_fgstr = settings.value(QSL("studio/bc/%1/ink/text").arg(name), QSEmpty).toString();
|
||||||
if (m_fgstr.isEmpty()) {
|
if (m_fgstr.isEmpty()) {
|
||||||
QColor color(settings.value(QSL("studio/bc/%1/ink/red").arg(name), 0).toInt(),
|
QColor color(settings.value(QSL("studio/bc/%1/ink/red").arg(name), 0).toInt(),
|
||||||
settings.value(QSL("studio/bc/%1/ink/green").arg(name), 0).toInt(),
|
settings.value(QSL("studio/bc/%1/ink/green").arg(name), 0).toInt(),
|
||||||
@ -4521,10 +4515,10 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
settings.value(QSL("studio/bc/%1/ink/alpha").arg(name), 0xff).toInt());
|
settings.value(QSL("studio/bc/%1/ink/alpha").arg(name), 0xff).toInt());
|
||||||
m_fgstr = qcolor_to_str(color);
|
m_fgstr = qcolor_to_str(color);
|
||||||
}
|
}
|
||||||
if (m_fgstr.indexOf(colorRE) != 0) {
|
if (m_fgstr.indexOf(*colorRE) != 0) {
|
||||||
m_fgstr = fgDefault;
|
m_fgstr = fgDefault;
|
||||||
}
|
}
|
||||||
m_bgstr = settings.value(QSL("studio/bc/%1/paper/text").arg(name), QSL("")).toString();
|
m_bgstr = settings.value(QSL("studio/bc/%1/paper/text").arg(name), QSEmpty).toString();
|
||||||
if (m_bgstr.isEmpty()) {
|
if (m_bgstr.isEmpty()) {
|
||||||
QColor color(settings.value(QSL("studio/bc/%1/paper/red").arg(name), 0xff).toInt(),
|
QColor color(settings.value(QSL("studio/bc/%1/paper/red").arg(name), 0xff).toInt(),
|
||||||
settings.value(QSL("studio/bc/%1/paper/green").arg(name), 0xff).toInt(),
|
settings.value(QSL("studio/bc/%1/paper/green").arg(name), 0xff).toInt(),
|
||||||
@ -4532,7 +4526,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
settings.value(QSL("studio/bc/%1/paper/alpha").arg(name), 0xff).toInt());
|
settings.value(QSL("studio/bc/%1/paper/alpha").arg(name), 0xff).toInt());
|
||||||
m_bgstr = qcolor_to_str(color);
|
m_bgstr = qcolor_to_str(color);
|
||||||
}
|
}
|
||||||
if (m_bgstr.indexOf(colorRE) != 0) {
|
if (m_bgstr.indexOf(*colorRE) != 0) {
|
||||||
m_bgstr = bgDefault;
|
m_bgstr = bgDefault;
|
||||||
}
|
}
|
||||||
m_xdimdpVars.x_dim = settings.value(QSL("studio/bc/%1/xdimdpvars/x_dim").arg(name), 0.0).toFloat();
|
m_xdimdpVars.x_dim = settings.value(QSL("studio/bc/%1/xdimdpvars/x_dim").arg(name), 0.0).toFloat();
|
||||||
@ -4567,7 +4561,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
set_chk_from_setting(settings, QSL("studio/bc/pdf417/chk_fast"), QSL("chkPDFFast"));
|
set_chk_from_setting(settings, QSL("studio/bc/pdf417/chk_fast"), QSL("chkPDFFast"));
|
||||||
set_spn_from_setting(settings, QSL("studio/bc/pdf417/structapp_count"), QSL("spnPDFStructAppCount"), 1);
|
set_spn_from_setting(settings, QSL("studio/bc/pdf417/structapp_count"), QSL("spnPDFStructAppCount"), 1);
|
||||||
set_spn_from_setting(settings, QSL("studio/bc/pdf417/structapp_index"), QSL("spnPDFStructAppIndex"), 0);
|
set_spn_from_setting(settings, QSL("studio/bc/pdf417/structapp_index"), QSL("spnPDFStructAppIndex"), 0);
|
||||||
set_txt_from_setting(settings, QSL("studio/bc/pdf417/structapp_id"), QSL("txtPDFStructAppID"), QSL(""));
|
set_txt_from_setting(settings, QSL("studio/bc/pdf417/structapp_id"), QSL("txtPDFStructAppID"), QSEmpty);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BARCODE_MICROPDF417:
|
case BARCODE_MICROPDF417:
|
||||||
@ -4583,7 +4577,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
set_spn_from_setting(settings, QSL("studio/bc/micropdf417/structapp_index"),
|
set_spn_from_setting(settings, QSL("studio/bc/micropdf417/structapp_index"),
|
||||||
QSL("spnMPDFStructAppIndex"), 0);
|
QSL("spnMPDFStructAppIndex"), 0);
|
||||||
set_txt_from_setting(settings, QSL("studio/bc/micropdf417/structapp_id"), QSL("txtMPDFStructAppID"),
|
set_txt_from_setting(settings, QSL("studio/bc/micropdf417/structapp_id"), QSL("txtMPDFStructAppID"),
|
||||||
QSL(""));
|
QSEmpty);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BARCODE_DOTCODE:
|
case BARCODE_DOTCODE:
|
||||||
@ -4605,7 +4599,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
QStringList() << QSL("radAztecStand") << QSL("radAztecGS1") << QSL("radAztecHIBC"));
|
QStringList() << QSL("radAztecStand") << QSL("radAztecGS1") << QSL("radAztecHIBC"));
|
||||||
set_cmb_from_setting(settings, QSL("studio/bc/aztec/structapp_count"), QSL("cmbAztecStructAppCount"));
|
set_cmb_from_setting(settings, QSL("studio/bc/aztec/structapp_count"), QSL("cmbAztecStructAppCount"));
|
||||||
set_cmb_from_setting(settings, QSL("studio/bc/aztec/structapp_index"), QSL("cmbAztecStructAppIndex"));
|
set_cmb_from_setting(settings, QSL("studio/bc/aztec/structapp_index"), QSL("cmbAztecStructAppIndex"));
|
||||||
set_txt_from_setting(settings, QSL("studio/bc/aztec/structapp_id"), QSL("txtAztecStructAppID"), QSL(""));
|
set_txt_from_setting(settings, QSL("studio/bc/aztec/structapp_id"), QSL("txtAztecStructAppID"), QSEmpty);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BARCODE_MSI_PLESSEY:
|
case BARCODE_MSI_PLESSEY:
|
||||||
@ -4777,7 +4771,7 @@ void MainWindow::load_sub_settings(QSettings &settings, int symbology)
|
|||||||
case BARCODE_MAXICODE:
|
case BARCODE_MAXICODE:
|
||||||
set_cmb_from_setting(settings, QSL("studio/bc/maxicode/mode"), QSL("cmbMaxiMode"), 1);
|
set_cmb_from_setting(settings, QSL("studio/bc/maxicode/mode"), QSL("cmbMaxiMode"), 1);
|
||||||
set_txt_from_setting(settings, QSL("studio/bc/maxicode/scm_postcode"), QSL("txtMaxiSCMPostcode"),
|
set_txt_from_setting(settings, QSL("studio/bc/maxicode/scm_postcode"), QSL("txtMaxiSCMPostcode"),
|
||||||
QSL(""));
|
QSEmpty);
|
||||||
set_spn_from_setting(settings, QSL("studio/bc/maxicode/scm_country"), QSL("spnMaxiSCMCountry"), 0);
|
set_spn_from_setting(settings, QSL("studio/bc/maxicode/scm_country"), QSL("spnMaxiSCMCountry"), 0);
|
||||||
set_spn_from_setting(settings, QSL("studio/bc/maxicode/scm_service"), QSL("spnMaxiSCMService"), 0);
|
set_spn_from_setting(settings, QSL("studio/bc/maxicode/scm_service"), QSL("spnMaxiSCMService"), 0);
|
||||||
set_chk_from_setting(settings, QSL("studio/bc/maxicode/chk_scm_vv"), QSL("chkMaxiSCMVV"));
|
set_chk_from_setting(settings, QSL("studio/bc/maxicode/chk_scm_vv"), QSL("chkMaxiSCMVV"));
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
|
* Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
|
||||||
* Copyright (C) 2009-2023 by Robin Stuart <rstuart114@gmail.com> *
|
* Copyright (C) 2009-2024 by Robin Stuart <rstuart114@gmail.com> *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
@ -18,11 +18,11 @@
|
|||||||
#ifndef Z_MAINWINDOW_H
|
#ifndef Z_MAINWINDOW_H
|
||||||
#define Z_MAINWINDOW_H
|
#define Z_MAINWINDOW_H
|
||||||
|
|
||||||
#include <QtGui>
|
|
||||||
#include <QGraphicsItem>
|
|
||||||
#include <QMainWindow>
|
|
||||||
#include <QGraphicsScene>
|
|
||||||
#include <QButtonGroup>
|
#include <QButtonGroup>
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include <QGraphicsItem>
|
||||||
|
#include <QGraphicsScene>
|
||||||
|
#include <QSettings>
|
||||||
|
|
||||||
class QLabel;
|
class QLabel;
|
||||||
class QShortcut;
|
class QShortcut;
|
||||||
@ -54,8 +54,8 @@ public slots:
|
|||||||
void update_preview();
|
void update_preview();
|
||||||
void change_options();
|
void change_options();
|
||||||
|
|
||||||
void on_fgcolor_clicked();
|
void fgcolor_clicked();
|
||||||
void on_bgcolor_clicked();
|
void bgcolor_clicked();
|
||||||
void fgcolor_changed(const QColor& color);
|
void fgcolor_changed(const QColor& color);
|
||||||
void bgcolor_changed(const QColor& color);
|
void bgcolor_changed(const QColor& color);
|
||||||
void fgcolor_edited();
|
void fgcolor_edited();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Zint Barcode Generator - the open source barcode generator
|
Zint Barcode Generator - the open source barcode generator
|
||||||
Copyright (C) 2022-2023 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2022-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -19,8 +19,8 @@
|
|||||||
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
/* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include <QUiLoader>
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include <QUiLoader>
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "scalewindow.h"
|
#include "scalewindow.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Zint Barcode Generator - the open source barcode generator
|
Zint Barcode Generator - the open source barcode generator
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -20,16 +20,17 @@
|
|||||||
|
|
||||||
//#include <QDebug>
|
//#include <QDebug>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QUiLoader>
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include <QUiLoader>
|
||||||
|
|
||||||
#include "sequencewindow.h"
|
#include "sequencewindow.h"
|
||||||
#include "exportwindow.h"
|
#include "exportwindow.h"
|
||||||
|
|
||||||
// Shorthand
|
// Shorthand
|
||||||
#define QSL QStringLiteral
|
#define QSL QStringLiteral
|
||||||
|
#define QSEmpty QLatin1String("")
|
||||||
|
|
||||||
SequenceWindow::SequenceWindow(BarcodeItem *bc) : m_bc(bc)
|
SequenceWindow::SequenceWindow(BarcodeItem *bc) : m_bc(bc)
|
||||||
{
|
{
|
||||||
@ -46,7 +47,7 @@ SequenceWindow::SequenceWindow(BarcodeItem *bc) : m_bc(bc)
|
|||||||
spnSeqEndVal->setValue(settings.value(QSL("studio/sequence/end_value"), 10).toInt());
|
spnSeqEndVal->setValue(settings.value(QSL("studio/sequence/end_value"), 10).toInt());
|
||||||
spnSeqIncVal->setValue(settings.value(QSL("studio/sequence/increment"), 1).toInt());
|
spnSeqIncVal->setValue(settings.value(QSL("studio/sequence/increment"), 1).toInt());
|
||||||
linSeqFormat->setText(settings.value(QSL("studio/sequence/format"), QSL("$$$$$$")).toString());
|
linSeqFormat->setText(settings.value(QSL("studio/sequence/format"), QSL("$$$$$$")).toString());
|
||||||
txtSeqPreview->setPlainText(settings.value(QSL("studio/sequence/preview"), QSL("")).toString());
|
txtSeqPreview->setPlainText(settings.value(QSL("studio/sequence/preview"), QSEmpty).toString());
|
||||||
|
|
||||||
QIcon closeIcon(QIcon::fromTheme(QSL("window-close"), QIcon(QSL(":res/x.svg"))));
|
QIcon closeIcon(QIcon::fromTheme(QSL("window-close"), QIcon(QSL(":res/x.svg"))));
|
||||||
QIcon clearIcon(QSL(":res/delete.svg"));
|
QIcon clearIcon(QSL(":res/delete.svg"));
|
||||||
|
@ -178,7 +178,7 @@ using it install the packages:
|
|||||||
(This should include mingw32-libz-dll)
|
(This should include mingw32-libz-dll)
|
||||||
|
|
||||||
Any reasonably modern version of Qt can be used. The following uses Qt 5.14.2.
|
Any reasonably modern version of Qt can be used. The following uses Qt 5.14.2.
|
||||||
Using the Qt Maintenance Tool (see the Visual Studio 2017 instructions above)
|
Using the Qt Maintenance Tool (see the Visual Studio 2022 instructions above)
|
||||||
install the "MinGW 7.3.0 32-bit" component.
|
install the "MinGW 7.3.0 32-bit" component.
|
||||||
|
|
||||||
(Note the Qt MinGW versions actually refer to Mingw-w64, the 64-bit fork of
|
(Note the Qt MinGW versions actually refer to Mingw-w64, the 64-bit fork of
|
||||||
|
Loading…
Reference in New Issue
Block a user