Fix legacy width and security level getters/setters in Qt backend

Previously, width is option 2 and security level is option 1.
Seems like in 54947fb435, the definitions
swapped and that breaks the legacy Qt application using setWidth() and
setSecurityLevel().

I know a better solution is make Qt application use setOption2() and
setOption1() respectively, but it's good to keep these legacy APIs
backward-compatible.
This commit is contained in:
Philip Ye 2024-05-23 22:12:39 +12:00
parent 0eaa9f3e7d
commit c8bb299908
3 changed files with 8 additions and 8 deletions

View File

@ -798,10 +798,10 @@ namespace Zint {
}
/* Legacy property getters/setters */
void QZint::setWidth(int width) { setOption1(width); }
int QZint::width() const { return m_option_1; }
void QZint::setSecurityLevel(int securityLevel) { setOption2(securityLevel); }
int QZint::securityLevel() const { return m_option_2; }
void QZint::setWidth(int width) { setOption2(width); }
int QZint::width() const { return m_option_2; }
void QZint::setSecurityLevel(int securityLevel) { setOption1(securityLevel); }
int QZint::securityLevel() const { return m_option_1; }
void QZint::setPdf417CodeWords(int /*pdf417CodeWords*/) {}
int QZint::pdf417CodeWords() const { return 0; }
void QZint::setHideText(bool hide) { setShowText(!hide); }

View File

@ -238,9 +238,9 @@ public:
/* Legacy property getters/setters */
void setWidth(int width); /* `symbol->option_1` */
void setWidth(int width); /* `symbol->option_2` */
int width() const;
void setSecurityLevel(int securityLevel); /* `symbol->option_2` */
void setSecurityLevel(int securityLevel); /* `symbol->option_1` */
int securityLevel() const;
void setPdf417CodeWords(int pdf417CodeWords); /* No-op */
int pdf417CodeWords() const;

View File

@ -338,12 +338,12 @@ private slots:
int width = 12;
bc.setWidth(width);
QCOMPARE(bc.width(), width);
QCOMPARE(bc.option1(), width);
QCOMPARE(bc.option2(), width);
int securityLevel = 2;
bc.setSecurityLevel(securityLevel);
QCOMPARE(bc.securityLevel(), securityLevel);
QCOMPARE(bc.option2(), securityLevel);
QCOMPARE(bc.option1(), securityLevel);
int pdf417CodeWords = 123;
bc.setPdf417CodeWords(pdf417CodeWords);