mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
- ITF14/DPLEIT/DPIDENT: ignore option_2
(check digit options)
- GUI: scalewindow: fix cropping resolution on initial setup (`spnResolution` max 1000 -> 254000) and bound X-dim to <= 10 in `set_maxima()` - GUI: mainwindow: bound X-dim as above and clamp `m_xdimdpVars` members on initial load from INI - GUI: undo `QString::mid()` -> `QString::midRef()` from clazy & explicitly include "QObject" in "qzint.h" (not Qt6 compatible)
This commit is contained in:
parent
7c1bdba8ae
commit
7b41dfbee2
@ -23,6 +23,8 @@ Bugs
|
|||||||
<= 200
|
<= 200
|
||||||
- BMP/EMF/PCX/TIF: fix endianness on big-endian machines (note TIF now always
|
- BMP/EMF/PCX/TIF: fix endianness on big-endian machines (note TIF now always
|
||||||
written as little-endian - simplifies testing)
|
written as little-endian - simplifies testing)
|
||||||
|
- ITF14/DPLEIT/DPIDENT: ignore `option_2` (check digit options)
|
||||||
|
- GUI: scalewindow: fix cropping of initial resolution and bound X-dim <= 10
|
||||||
|
|
||||||
|
|
||||||
Version 2.13.0 (2023-12-18)
|
Version 2.13.0 (2023-12-18)
|
||||||
|
@ -70,7 +70,7 @@ static int c25_common(struct zint_symbol *symbol, const unsigned char source[],
|
|||||||
char dest[818]; /* Largest destination 4 + (80 + 1) * 10 + 3 + 1 = 818 */
|
char dest[818]; /* Largest destination 4 + (80 + 1) * 10 + 3 + 1 = 818 */
|
||||||
char *d = dest;
|
char *d = dest;
|
||||||
unsigned char temp[113 + 1 + 1]; /* Largest maximum 113 + optional check digit */
|
unsigned char temp[113 + 1 + 1]; /* Largest maximum 113 + optional check digit */
|
||||||
int have_checkdigit = symbol->option_2 == 1 || symbol->option_2 == 2;
|
const int have_checkdigit = symbol->option_2 == 1 || symbol->option_2 == 2;
|
||||||
|
|
||||||
if (length > max) {
|
if (length > max) {
|
||||||
/* errtxt 301: 303: 305: 307: */
|
/* errtxt 301: 303: 305: 307: */
|
||||||
@ -147,12 +147,12 @@ INTERNAL int c25logic(struct zint_symbol *symbol, unsigned char source[], int le
|
|||||||
|
|
||||||
/* Common to Interleaved, ITF-14, DP Leitcode, DP Identcode */
|
/* Common to Interleaved, ITF-14, DP Leitcode, DP Identcode */
|
||||||
static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[], int length,
|
static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[], int length,
|
||||||
const int dont_set_height) {
|
const int checkdigit_option, const int dont_set_height) {
|
||||||
int i, j, error_number = 0;
|
int i, j, error_number = 0;
|
||||||
char dest[638]; /* 4 + (125 + 1) * 5 + 3 + 1 = 638 */
|
char dest[638]; /* 4 + (125 + 1) * 5 + 3 + 1 = 638 */
|
||||||
char *d = dest;
|
char *d = dest;
|
||||||
unsigned char temp[125 + 1 + 1];
|
unsigned char temp[125 + 1 + 1];
|
||||||
int have_checkdigit = symbol->option_2 == 1 || symbol->option_2 == 2;
|
const int have_checkdigit = checkdigit_option == 1 || checkdigit_option == 2;
|
||||||
|
|
||||||
if (length > 125) { /* 4 + (125 + 1) * 9 + 5 = 1143 */
|
if (length > 125) { /* 4 + (125 + 1) * 9 + 5 = 1143 */
|
||||||
strcpy(symbol->errtxt, "309: Input too long (125 character maximum)");
|
strcpy(symbol->errtxt, "309: Input too long (125 character maximum)");
|
||||||
@ -202,7 +202,7 @@ static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[],
|
|||||||
expand(symbol, dest, d - dest);
|
expand(symbol, dest, d - dest);
|
||||||
|
|
||||||
ustrcpy(symbol->text, temp);
|
ustrcpy(symbol->text, temp);
|
||||||
if (symbol->option_2 == 2) {
|
if (checkdigit_option == 2) {
|
||||||
/* Remove check digit from HRT */
|
/* Remove check digit from HRT */
|
||||||
symbol->text[length - 1] = '\0';
|
symbol->text[length - 1] = '\0';
|
||||||
}
|
}
|
||||||
@ -231,7 +231,7 @@ static int c25_inter_common(struct zint_symbol *symbol, unsigned char source[],
|
|||||||
|
|
||||||
/* Code 2 of 5 Interleaved ISO/IEC 16390:2007 */
|
/* Code 2 of 5 Interleaved ISO/IEC 16390:2007 */
|
||||||
INTERNAL int c25inter(struct zint_symbol *symbol, unsigned char source[], int length) {
|
INTERNAL int c25inter(struct zint_symbol *symbol, unsigned char source[], int length) {
|
||||||
return c25_inter_common(symbol, source, length, 0 /*dont_set_height*/);
|
return c25_inter_common(symbol, source, length, symbol->option_2 /*checkdigit_option*/, 0 /*dont_set_height*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Interleaved 2-of-5 (ITF-14) */
|
/* Interleaved 2-of-5 (ITF-14) */
|
||||||
@ -259,7 +259,7 @@ INTERNAL int itf14(struct zint_symbol *symbol, unsigned char source[], int lengt
|
|||||||
/* Calculate the check digit - the same method used for EAN-13 */
|
/* Calculate the check digit - the same method used for EAN-13 */
|
||||||
localstr[13] = gs1_check_digit(localstr, 13);
|
localstr[13] = gs1_check_digit(localstr, 13);
|
||||||
localstr[14] = '\0';
|
localstr[14] = '\0';
|
||||||
error_number = c25_inter_common(symbol, localstr, 14, 1 /*dont_set_height*/);
|
error_number = c25_inter_common(symbol, localstr, 14, 0 /*checkdigit_option*/, 1 /*dont_set_height*/);
|
||||||
ustrcpy(symbol->text, localstr);
|
ustrcpy(symbol->text, localstr);
|
||||||
|
|
||||||
if (error_number < ZINT_ERROR) {
|
if (error_number < ZINT_ERROR) {
|
||||||
@ -320,7 +320,7 @@ INTERNAL int dpleit(struct zint_symbol *symbol, unsigned char source[], int leng
|
|||||||
}
|
}
|
||||||
localstr[13] = c25_check_digit(count);
|
localstr[13] = c25_check_digit(count);
|
||||||
localstr[14] = '\0';
|
localstr[14] = '\0';
|
||||||
error_number = c25_inter_common(symbol, localstr, 14, 1 /*dont_set_height*/);
|
error_number = c25_inter_common(symbol, localstr, 14, 0 /*checkdigit_option*/, 1 /*dont_set_height*/);
|
||||||
|
|
||||||
/* HRT formatting as per DIALOGPOST SCHWER brochure but TEC-IT differs as do examples at
|
/* HRT formatting as per DIALOGPOST SCHWER brochure but TEC-IT differs as do examples at
|
||||||
https://www.philaseiten.de/cgi-bin/index.pl?ST=8615&CP=0&F=1#M147 */
|
https://www.philaseiten.de/cgi-bin/index.pl?ST=8615&CP=0&F=1#M147 */
|
||||||
@ -368,7 +368,7 @@ INTERNAL int dpident(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
}
|
}
|
||||||
localstr[11] = c25_check_digit(count);
|
localstr[11] = c25_check_digit(count);
|
||||||
localstr[12] = '\0';
|
localstr[12] = '\0';
|
||||||
error_number = c25_inter_common(symbol, localstr, 12, 1 /*dont_set_height*/);
|
error_number = c25_inter_common(symbol, localstr, 12, 0 /*checkdigit_option*/, 1 /*dont_set_height*/);
|
||||||
|
|
||||||
/* HRT formatting as per DIALOGPOST SCHWER brochure but TEC-IT differs as do other examples (see above) */
|
/* HRT formatting as per DIALOGPOST SCHWER brochure but TEC-IT differs as do other examples (see above) */
|
||||||
for (i = 0, j = 0; i <= 12; i++) {
|
for (i = 0, j = 0; i <= 12; i++) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2020-2023 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2020-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
|
||||||
@ -282,31 +282,40 @@ static void test_encode(const testCtx *const p_ctx) {
|
|||||||
/* 15*/ { BARCODE_DPLEIT, -1, "0000087654321", 0, 1, 135, "Deutsche Post Leitcode; verified manually against tec-it",
|
/* 15*/ { BARCODE_DPLEIT, -1, "0000087654321", 0, 1, 135, "Deutsche Post Leitcode; verified manually against tec-it",
|
||||||
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
||||||
},
|
},
|
||||||
/* 16*/ { BARCODE_DPLEIT, -1, "2045703000360", 0, 1, 135, "Deutsche Post DIALOGPOST SCHWER brochure 3.1 example",
|
/* 16*/ { BARCODE_DPLEIT, 1, "0000087654321", 0, 1, 135, "Check digit option ignored",
|
||||||
|
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
||||||
|
},
|
||||||
|
/* 17*/ { BARCODE_DPLEIT, -1, "2045703000360", 0, 1, 135, "Deutsche Post DIALOGPOST SCHWER brochure 3.1 example",
|
||||||
"101010111010001000111010001011100010111010101000111000111011101110100010001010101110001110001011101110001000101010001011100011101011101"
|
"101010111010001000111010001011100010111010101000111000111011101110100010001010101110001110001011101110001000101010001011100011101011101"
|
||||||
},
|
},
|
||||||
/* 17*/ { BARCODE_DPLEIT, -1, "5082300702800", 0, 1, 135, "Deutsche Post Leitcode https://de.wikipedia.org/wiki/Leitcode example",
|
/* 18*/ { BARCODE_DPLEIT, -1, "5082300702800", 0, 1, 135, "Deutsche Post Leitcode https://de.wikipedia.org/wiki/Leitcode example",
|
||||||
"101011101011100010001011101000101110100011101110100010001010101110111000100010100011101110100011101010001110001010001011100011101011101"
|
"101011101011100010001011101000101110100011101110100010001010101110111000100010100011101110100011101010001110001010001011100011101011101"
|
||||||
},
|
},
|
||||||
/* 18*/ { BARCODE_DPIDENT, -1, "00087654321", 0, 1, 117, "Deutsche Post Identcode; verified manually against tec-it (HRT differently formatted)",
|
/* 19*/ { BARCODE_DPIDENT, -1, "00087654321", 0, 1, 117, "Deutsche Post Identcode; verified manually against tec-it (HRT differently formatted)",
|
||||||
"101010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
"101010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
||||||
},
|
},
|
||||||
/* 19*/ { BARCODE_DPIDENT, -1, "80420000001", 0, 1, 117, "Deutsche Post DIALOGPOST SCHWER brochure 3.1 example",
|
/* 20*/ { BARCODE_DPIDENT, -1, "00087654321", 0, 1, 117, "Check digit option ignored",
|
||||||
|
"101010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000100010111011101"
|
||||||
|
},
|
||||||
|
/* 21*/ { BARCODE_DPIDENT, -1, "80420000001", 0, 1, 117, "Deutsche Post DIALOGPOST SCHWER brochure 3.1 example",
|
||||||
"101011101010001110001010100011101011100010101110001110001010101110001110001010101110001110001011101010001000111011101"
|
"101011101010001110001010100011101011100010101110001110001010101110001110001010101110001110001011101010001000111011101"
|
||||||
},
|
},
|
||||||
/* 20*/ { BARCODE_DPIDENT, -1, "39601313414", 0, 1, 117, "Deutsche Post Identcode https://de.wikipedia.org/wiki/Leitcode example",
|
/* 22*/ { BARCODE_DPIDENT, -1, "39601313414", 0, 1, 117, "Deutsche Post Identcode https://de.wikipedia.org/wiki/Leitcode example",
|
||||||
"101011101110001010001010111011100010001011100010001010111011100010001010111010001011101011100010101110001000111011101"
|
"101011101110001010001010111011100010001011100010001010111011100010001010111010001011101011100010101110001000111011101"
|
||||||
},
|
},
|
||||||
/* 21*/ { BARCODE_ITF14, -1, "0000087654321", 0, 1, 135, "ITF-14; verified manually against tec-it",
|
/* 23*/ { BARCODE_ITF14, -1, "0000087654321", 0, 1, 135, "ITF-14; verified manually against tec-it",
|
||||||
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000101011100011101"
|
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000101011100011101"
|
||||||
},
|
},
|
||||||
/* 22*/ { BARCODE_ITF14, -1, "0950110153000", 0, 1, 135, "GS1 General Specifications Figure 5.1-2",
|
/* 24*/ { BARCODE_ITF14, 1, "0000087654321", 0, 1, 135, "Check digit option ignored",
|
||||||
|
"101010101110001110001010101110001110001010001011101110001010100010001110111011101011100010100011101110001010100011101000101011100011101"
|
||||||
|
},
|
||||||
|
/* 25*/ { BARCODE_ITF14, -1, "0950110153000", 0, 1, 135, "GS1 General Specifications Figure 5.1-2",
|
||||||
"101010100011101110001011101011100010001011100010101011100010001011101110100011100010001110101010101110001110001010001000111011101011101"
|
"101010100011101110001011101011100010001011100010101011100010001011101110100011100010001110101010101110001110001010001000111011101011101"
|
||||||
},
|
},
|
||||||
/* 23*/ { BARCODE_ITF14, -1, "1540014128876", 0, 1, 135, "GS1 General Specifications Figure 5.3.2.4-1",
|
/* 26*/ { BARCODE_ITF14, -1, "1540014128876", 0, 1, 135, "GS1 General Specifications Figure 5.3.2.4-1",
|
||||||
"101011100010100010111010101110001000111010001011101110100010001011101011100010001110101000111011101010111000100010001110001110101011101"
|
"101011100010100010111010101110001000111010001011101110100010001011101011100010001110101000111011101010111000100010001110001110101011101"
|
||||||
},
|
},
|
||||||
/* 24*/ { BARCODE_ITF14, -1, "0950110153001", 0, 1, 135, "GS1 General Specifications Figure 5.3.6-1",
|
/* 27*/ { BARCODE_ITF14, -1, "0950110153001", 0, 1, 135, "GS1 General Specifications Figure 5.3.6-1",
|
||||||
"101010100011101110001011101011100010001011100010101011100010001011101110100011100010001110101010101110001110001011101010001000111011101"
|
"101010100011101110001011101011100010001011100010101011100010001011101110100011100010001110101010101110001110001011101010001000111011101"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Binary file not shown.
@ -91,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.midRef(comma3 + 1).toInt();
|
int black = 100 - text.mid(comma3 + 1).toInt();
|
||||||
int val = 100 - text.midRef(0, comma1).toInt();
|
int val = 100 - text.mid(0, comma1).toInt();
|
||||||
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - text.midRef(comma1 + 1, comma2 - comma1 - 1).toInt();
|
val = 100 - text.mid(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.midRef(comma2 + 1, comma3 - comma2 - 1).toInt();
|
val = 100 - text.mid(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.midRef(0, 2).toInt(nullptr, 16);
|
r = text.mid(0, 2).toInt(nullptr, 16);
|
||||||
g = text.midRef(2, 2).toInt(nullptr, 16);
|
g = text.mid(2, 2).toInt(nullptr, 16);
|
||||||
b = text.midRef(4, 2).toInt(nullptr, 16);
|
b = text.mid(4, 2).toInt(nullptr, 16);
|
||||||
a = text.length() == 8 ? text.midRef(6, 2).toInt(nullptr, 16) : 0xFF;
|
a = text.length() == 8 ? text.mid(6, 2).toInt(nullptr, 16) : 0xFF;
|
||||||
}
|
}
|
||||||
color.setRgb(r, g, b, a);
|
color.setRgb(r, g, b, a);
|
||||||
return color;
|
return color;
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#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"
|
||||||
|
@ -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.midRef(lastPosn);
|
out += input.mid(lastPosn);
|
||||||
txtDataInput->setPlainText(out);
|
txtDataInput->setPlainText(out);
|
||||||
statusBarData->showMessage(tr("Converted LFs"), tempMessageTimeout);
|
statusBarData->showMessage(tr("Converted LFs"), tempMessageTimeout);
|
||||||
} else {
|
} else {
|
||||||
|
@ -140,7 +140,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>1000</number>
|
<number>25400</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
|
@ -89,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.midRef(comma3 + 1).toInt();
|
int black = 100 - str.mid(comma3 + 1).toInt();
|
||||||
int val = 100 - str.midRef(0, comma1).toInt();
|
int val = 100 - str.mid(0, comma1).toInt();
|
||||||
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
r = (int) roundf((0xFF * val * black) / 10000.0f);
|
||||||
val = 100 - str.midRef(comma1 + 1, comma2 - comma1 - 1).toInt();
|
val = 100 - str.mid(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.midRef(comma2 + 1, comma3 - comma2 - 1).toInt();
|
val = 100 - str.mid(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.midRef(0, 2).toInt(nullptr, 16);
|
r = str.mid(0, 2).toInt(nullptr, 16);
|
||||||
g = str.midRef(2, 2).toInt(nullptr, 16);
|
g = str.mid(2, 2).toInt(nullptr, 16);
|
||||||
b = str.midRef(4, 2).toInt(nullptr, 16);
|
b = str.mid(4, 2).toInt(nullptr, 16);
|
||||||
a = str.length() == 8 ? str.midRef(6, 2).toInt(nullptr, 16) : 0xFF;
|
a = str.length() == 8 ? str.mid(6, 2).toInt(nullptr, 16) : 0xFF;
|
||||||
}
|
}
|
||||||
color.setRgb(r, g, b, a);
|
color.setRgb(r, g, b, a);
|
||||||
return color;
|
return color;
|
||||||
@ -546,12 +546,15 @@ void MainWindow::load_settings(QSettings &settings)
|
|||||||
chkDotty->setChecked(settings.value(QSL("studio/appearance/chk_dotty"), 0).toInt() ? true : false);
|
chkDotty->setChecked(settings.value(QSL("studio/appearance/chk_dotty"), 0).toInt() ? true : false);
|
||||||
spnDotSize->setValue(settings.value(QSL("studio/appearance/dot_size"), 4.0 / 5.0).toFloat());
|
spnDotSize->setValue(settings.value(QSL("studio/appearance/dot_size"), 4.0 / 5.0).toFloat());
|
||||||
// These are "system-wide"
|
// These are "system-wide"
|
||||||
m_xdimdpVars.resolution_units = settings.value(QSL("studio/xdimdpvars/resolution_units"), 0).toInt();
|
m_xdimdpVars.resolution_units = std::max(std::min(settings.value(QSL("studio/xdimdpvars/resolution_units"),
|
||||||
|
0).toInt(), 1), 0);
|
||||||
const int defaultResolution = m_xdimdpVars.resolution_units == 1 ? 300 : 12; // 300dpi or 12dpmm
|
const int defaultResolution = m_xdimdpVars.resolution_units == 1 ? 300 : 12; // 300dpi or 12dpmm
|
||||||
m_xdimdpVars.resolution = settings.value(QSL("studio/xdimdpvars/resolution"), defaultResolution).toInt();
|
const int maxRes = m_xdimdpVars.resolution_units == 1 ? 25400 : 1000;
|
||||||
|
m_xdimdpVars.resolution = std::max(std::min(settings.value(QSL("studio/xdimdpvars/resolution"),
|
||||||
|
defaultResolution).toInt(), maxRes), 1);
|
||||||
m_xdimdpVars.filetype = std::max(std::min(settings.value(QSL("studio/xdimdpvars/filetype"), 0).toInt(), 1), 0);
|
m_xdimdpVars.filetype = std::max(std::min(settings.value(QSL("studio/xdimdpvars/filetype"), 0).toInt(), 1), 0);
|
||||||
m_xdimdpVars.filetype_maxicode
|
m_xdimdpVars.filetype_maxicode = std::max(std::min(settings.value(QSL("studio/xdimdpvars/filetype_maxicode"),
|
||||||
= std::max(std::min(settings.value(QSL("studio/xdimdpvars/filetype_maxicode"), 0).toInt(), 2), 0);
|
0).toInt(), 2), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MainWindow::get_zint_version(void)
|
QString MainWindow::get_zint_version(void)
|
||||||
@ -1424,7 +1427,7 @@ void MainWindow::size_msg_ui_set()
|
|||||||
struct Zint::QZintXdimDpVars *vars = m_scaleWindow ? &m_scaleWindow->m_vars : &m_xdimdpVars;
|
struct Zint::QZintXdimDpVars *vars = m_scaleWindow ? &m_scaleWindow->m_vars : &m_xdimdpVars;
|
||||||
if (vars->x_dim == 0.0) {
|
if (vars->x_dim == 0.0) {
|
||||||
vars->x_dim_units = 0;
|
vars->x_dim_units = 0;
|
||||||
vars->x_dim = m_bc.bc.getXdimDpFromScale(scale, get_dpmm(vars), getFileType(vars));
|
vars->x_dim = std::min(m_bc.bc.getXdimDpFromScale(scale, get_dpmm(vars), getFileType(vars)), 10.0f);
|
||||||
} else {
|
} else {
|
||||||
// Scale trumps stored X-dimension
|
// Scale trumps stored X-dimension
|
||||||
double x_dim_mm = vars->x_dim_units == 1 ? vars->x_dim * 25.4 : vars->x_dim;
|
double x_dim_mm = vars->x_dim_units == 1 ? vars->x_dim * 25.4 : vars->x_dim;
|
||||||
|
@ -150,7 +150,7 @@ void ScaleWindow::size_msg_ui_set()
|
|||||||
|
|
||||||
void ScaleWindow::unset_scale()
|
void ScaleWindow::unset_scale()
|
||||||
{
|
{
|
||||||
m_vars.x_dim = m_bc->bc.getXdimDpFromScale(m_originalScale, get_dpmm(), getFileType());
|
m_vars.x_dim = std::min(m_bc->bc.getXdimDpFromScale(m_originalScale, get_dpmm(), getFileType()), 10.0f);
|
||||||
m_vars.set = 0;
|
m_vars.set = 0;
|
||||||
|
|
||||||
if (cmbXdimUnits->currentIndex() == 1) { // Inches
|
if (cmbXdimUnits->currentIndex() == 1) { // Inches
|
||||||
@ -252,7 +252,7 @@ const char *ScaleWindow::getFileType() const
|
|||||||
|
|
||||||
void ScaleWindow::set_maxima()
|
void ScaleWindow::set_maxima()
|
||||||
{
|
{
|
||||||
float maxXdim = m_bc->bc.getXdimDpFromScale(200.0f, get_dpmm(), getFileType());
|
float maxXdim = std::min(m_bc->bc.getXdimDpFromScale(200.0f, get_dpmm(), getFileType()), 10.0f);
|
||||||
if (cmbXdimUnits->currentIndex() == 1) { // Inches
|
if (cmbXdimUnits->currentIndex() == 1) { // Inches
|
||||||
spnXdim->setMaximum(maxXdim / 25.4);
|
spnXdim->setMaximum(maxXdim / 25.4);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user