diff --git a/frontend_qt/grpUltra.ui b/frontend_qt/grpUltra.ui
new file mode 100644
index 00000000..258b3d83
--- /dev/null
+++ b/frontend_qt/grpUltra.ui
@@ -0,0 +1,135 @@
+
+
+ grpAztec
+
+
+
+ 0
+ 0
+ 461
+ 237
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+ A&utomatic Resizing
+
+
+ true
+
+
+
+ -
+
+
+ false
+
+
+ 0
+
+
-
+
+ ECO - Error Detection Only
+
+
+ -
+
+ EC1 - Approx 5%
+
+
+ -
+
+ EC2 - Approx 9%
+
+
+ -
+
+ EC3 - Approx 17%
+
+
+ -
+
+ EC4 - Approx 25%
+
+
+ -
+
+ EC5 - Approx 33%
+
+
+
+
+ -
+
+
+ Error Correction Level:
+
+
+
+
+
+ -
+
+
+ Encoding Mode
+
+
+
+
+ 30
+ 30
+ 453
+ 71
+
+
+
+
-
+
+
+ GS1 Data Mode
+
+
+
+ -
+
+
+ Standard Mode
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ radUltraEcc
+ toggled(bool)
+ cmbUltraEcc
+ setEnabled(bool)
+
+
+ 85
+ 47
+
+
+ 331
+ 47
+
+
+
+
+
diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp
index 90b858e0..e634c3c9 100644
--- a/frontend_qt/mainwindow.cpp
+++ b/frontend_qt/mainwindow.cpp
@@ -686,6 +686,21 @@ void MainWindow::change_options()
tabMain->insertTab(1,m_optionWidget,tr("GS1 DataBar Stacked"));
connect(m_optionWidget->findChild("cmbCols"), SIGNAL(currentIndexChanged ( int )), SLOT(update_preview()));
}
+
+ if(metaObject()->enumerator(0).value(bstyle->currentIndex()) == BARCODE_ULTRA)
+ {
+ QFile file(":/grpUltra.ui");
+ if (!file.open(QIODevice::ReadOnly))
+ return;
+ m_optionWidget=uiload.load(&file);
+ file.close();
+ tabMain->insertTab(1,m_optionWidget,tr("Ultracode"));
+ connect(m_optionWidget->findChild("radUltraAuto"), SIGNAL(clicked( bool )), SLOT(update_preview()));
+ connect(m_optionWidget->findChild("radUltraEcc"), SIGNAL(clicked( bool )), SLOT(update_preview()));
+ connect(m_optionWidget->findChild("cmbUltraEcc"), SIGNAL(currentIndexChanged( int )), SLOT(update_preview()));
+ connect(m_optionWidget->findChild("radUltraStand"), SIGNAL(clicked( bool )), SLOT(update_preview()));
+ connect(m_optionWidget->findChild("radUltraGS1"), SIGNAL(clicked( bool )), SLOT(update_preview()));
+ }
switch(metaObject()->enumerator(0).value(bstyle->currentIndex()))
{
@@ -1057,6 +1072,14 @@ void MainWindow::update_preview()
if(m_optionWidget->findChild("radHXECC")->isChecked())
m_bc.bc.setSecurityLevel(m_optionWidget->findChild("cmbHXECC")->currentIndex() + 1);
break;
+
+ case BARCODE_ULTRA:
+ m_bc.bc.setSymbol(BARCODE_ULTRA);
+ if(m_optionWidget->findChild("radUltraEcc")->isChecked())
+ m_bc.bc.setSecurityLevel(m_optionWidget->findChild("cmbUltraEcc")->currentIndex() + 1);
+ if(m_optionWidget->findChild("radUltraGS1")->isChecked())
+ m_bc.bc.setInputMode(GS1_MODE);
+ break;
default:
m_bc.bc.setSymbol(metaObject()->enumerator(0).value(bstyle->currentIndex()));
diff --git a/frontend_qt/resources.qrc b/frontend_qt/resources.qrc
index 285d3364..6db86585 100644
--- a/frontend_qt/resources.qrc
+++ b/frontend_qt/resources.qrc
@@ -25,5 +25,6 @@
grpDotCode.ui
grpCodablockF.ui
grpRMQR.ui
+ grpUltra.ui