mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 09:45:21 +03:00
[Companion][AppPreferencesDialog] Refactor firmwareOptionChanged(), getFirmwareVariant(), & populateFirmwareOptions() for clarity/efficiency; Remove AVR-only "voice" option handling and related items; Add getBaseFirmware().
This commit is contained in:
parent
62608cdc7d
commit
d8a06158b1
3 changed files with 427 additions and 523 deletions
|
@ -31,15 +31,15 @@
|
||||||
|
|
||||||
AppPreferencesDialog::AppPreferencesDialog(QWidget * parent) :
|
AppPreferencesDialog::AppPreferencesDialog(QWidget * parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
|
ui(new Ui::AppPreferencesDialog),
|
||||||
updateLock(false),
|
updateLock(false),
|
||||||
mainWinHasDirtyChild(false),
|
mainWinHasDirtyChild(false)
|
||||||
ui(new Ui::AppPreferencesDialog)
|
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
setWindowIcon(CompanionIcon("apppreferences.png"));
|
setWindowIcon(CompanionIcon("apppreferences.png"));
|
||||||
|
|
||||||
initSettings();
|
initSettings();
|
||||||
connect(ui->downloadVerCB, SIGNAL(currentIndexChanged(int)), this, SLOT(baseFirmwareChanged()));
|
connect(ui->downloadVerCB, SIGNAL(currentIndexChanged(int)), this, SLOT(onBaseFirmwareChanged()));
|
||||||
connect(ui->opt_appDebugLog, &QCheckBox::toggled, this, &AppPreferencesDialog::toggleAppLogSettings);
|
connect(ui->opt_appDebugLog, &QCheckBox::toggled, this, &AppPreferencesDialog::toggleAppLogSettings);
|
||||||
connect(ui->opt_fwTraceLog, &QCheckBox::toggled, this, &AppPreferencesDialog::toggleAppLogSettings);
|
connect(ui->opt_fwTraceLog, &QCheckBox::toggled, this, &AppPreferencesDialog::toggleAppLogSettings);
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ void AppPreferencesDialog::accept()
|
||||||
profile.name(ui->profileNameLE->text());
|
profile.name(ui->profileNameLE->text());
|
||||||
|
|
||||||
bool fwchange = false;
|
bool fwchange = false;
|
||||||
Firmware * newFw = getFirmwareVariant();
|
Firmware * newFw = getFirmwareVariant(); // always !null
|
||||||
// If a new fw type has been choosen, several things need to reset
|
// If a new fw type has been choosen, several things need to reset
|
||||||
if (Firmware::getCurrentVariant()->getId() != newFw->getId()) {
|
if (Firmware::getCurrentVariant()->getId() != newFw->getId()) {
|
||||||
// check if we're going to be converting to a new radio type and there are unsaved files in the main window
|
// check if we're going to be converting to a new radio type and there are unsaved files in the main window
|
||||||
|
@ -288,7 +288,7 @@ void AppPreferencesDialog::initSettings()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
baseFirmwareChanged();
|
onBaseFirmwareChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppPreferencesDialog::on_libraryPathButton_clicked()
|
void AppPreferencesDialog::on_libraryPathButton_clicked()
|
||||||
|
@ -435,81 +435,47 @@ void AppPreferencesDialog::on_clearImageButton_clicked()
|
||||||
ui->SplashFileName->clear();
|
ui->SplashFileName->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AppPreferencesDialog::onBaseFirmwareChanged()
|
||||||
void AppPreferencesDialog::showVoice(bool show)
|
|
||||||
{
|
{
|
||||||
ui->voiceLabel->setVisible(show);
|
populateFirmwareOptions(getBaseFirmware());
|
||||||
ui->voiceCombo->setVisible(show);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppPreferencesDialog::baseFirmwareChanged()
|
Firmware *AppPreferencesDialog::getBaseFirmware() const
|
||||||
{
|
{
|
||||||
QString selected_firmware = ui->downloadVerCB->currentData().toString();
|
return Firmware::getFirmwareForId(ui->downloadVerCB->currentData().toString());
|
||||||
|
|
||||||
foreach(Firmware * firmware, Firmware::getRegisteredFirmwares()) {
|
|
||||||
if (firmware->getId() == selected_firmware) {
|
|
||||||
populateFirmwareOptions(firmware);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Firmware * AppPreferencesDialog::getFirmwareVariant()
|
Firmware * AppPreferencesDialog::getFirmwareVariant() const
|
||||||
{
|
{
|
||||||
QString selected_firmware = ui->downloadVerCB->currentData().toString();
|
QString id = ui->downloadVerCB->currentData().toString();
|
||||||
|
|
||||||
foreach(Firmware * firmware, Firmware::getRegisteredFirmwares()) {
|
foreach(QCheckBox *cb, optionsCheckBoxes.values()) {
|
||||||
QString id = firmware->getId();
|
if (cb->isChecked())
|
||||||
if (id == selected_firmware) {
|
id += "-" + cb->text();
|
||||||
foreach(QCheckBox *cb, optionsCheckBoxes) {
|
|
||||||
if (cb->isChecked()) {
|
|
||||||
id += "-" + cb->text();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (voice && voice->isChecked()) {
|
|
||||||
id += "-tts" + ui->voiceCombo->currentText();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ui->langCombo->count()) {
|
|
||||||
id += "-" + ui->langCombo->currentText();
|
|
||||||
}
|
|
||||||
|
|
||||||
return Firmware::getFirmwareForId(id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Should never occur...
|
if (ui->langCombo->count())
|
||||||
return Firmware::getDefaultVariant();
|
id += "-" + ui->langCombo->currentText();
|
||||||
|
|
||||||
|
return Firmware::getFirmwareForId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppPreferencesDialog::firmwareOptionChanged(bool state)
|
void AppPreferencesDialog::onFirmwareOptionChanged(bool state)
|
||||||
{
|
{
|
||||||
QCheckBox *cb = qobject_cast<QCheckBox*>(sender());
|
QCheckBox *cb = qobject_cast<QCheckBox*>(sender());
|
||||||
if (cb == voice) {
|
if (!(cb && state))
|
||||||
showVoice(voice->isChecked());
|
return;
|
||||||
}
|
|
||||||
Firmware * firmware=NULL;
|
// This de-selects any mutually exlusive options (that is, members of the same QList<Option> list).
|
||||||
if (cb && state) {
|
const QList<QList<Option> > & fwOpts = getBaseFirmware()->opts;
|
||||||
QVariant selected_firmware = ui->downloadVerCB->currentData();
|
for (const QList<Option> & opts : fwOpts) {
|
||||||
foreach(firmware, Firmware::getRegisteredFirmwares()) {
|
for (const Option & opt : opts) {
|
||||||
if (firmware->getId() == selected_firmware) {
|
if (cb->text() == opt.name) {
|
||||||
foreach(QList<Option> opts, firmware->opts) {
|
QCheckBox *ocb = nullptr;
|
||||||
foreach(Option opt, opts) {
|
foreach(const Option & other, opts)
|
||||||
if (cb->text() == opt.name) {
|
if (other.name != opt.name && (ocb = optionsCheckBoxes.value(other.name, nullptr)))
|
||||||
foreach(Option other, opts) {
|
ocb->setChecked(false);
|
||||||
if (other.name != opt.name) {
|
return;
|
||||||
foreach(QCheckBox *ocb, optionsCheckBoxes) {
|
|
||||||
if (ocb->text() == other.name) {
|
|
||||||
ocb->setChecked(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -525,68 +491,56 @@ void AppPreferencesDialog::toggleAppLogSettings()
|
||||||
|
|
||||||
void AppPreferencesDialog::populateFirmwareOptions(const Firmware * firmware)
|
void AppPreferencesDialog::populateFirmwareOptions(const Firmware * firmware)
|
||||||
{
|
{
|
||||||
const Firmware * parent = firmware->getFirmwareBase();
|
const Firmware * baseFw = firmware->getFirmwareBase();
|
||||||
|
QStringList currVariant = Firmware::getCurrentVariant()->getId().split('-');
|
||||||
|
const QString currLang = ui->langCombo->count() ? ui->langCombo->currentText() : currVariant.last();
|
||||||
|
|
||||||
updateLock = true;
|
updateLock = true;
|
||||||
|
|
||||||
QString id = Firmware::getCurrentVariant()->getId();
|
|
||||||
ui->langCombo->clear();
|
ui->langCombo->clear();
|
||||||
foreach(const char *lang, parent->languages) {
|
for (const char *lang : baseFw->languages) {
|
||||||
ui->langCombo->addItem(lang);
|
ui->langCombo->addItem(lang);
|
||||||
if (id.endsWith(lang)) {
|
if (currLang == lang) {
|
||||||
ui->langCombo->setCurrentIndex(ui->langCombo->count() - 1);
|
ui->langCombo->setCurrentIndex(ui->langCombo->count() - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
voice = NULL; // we will search for a voice checkbox
|
if (optionsCheckBoxes.size()) {
|
||||||
|
currVariant.clear();
|
||||||
|
QMutableMapIterator<QString, QCheckBox *> it(optionsCheckBoxes);
|
||||||
|
while (it.hasNext()) {
|
||||||
|
it.next();
|
||||||
|
QCheckBox * cb = it.value();
|
||||||
|
if (cb->isChecked())
|
||||||
|
currVariant.append(it.key()); // keep previous selections
|
||||||
|
ui->optionsLayout->removeWidget(cb);
|
||||||
|
cb->deleteLater();
|
||||||
|
it.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
QWidget * prevFocus = ui->voiceCombo;
|
QWidget * prevFocus = ui->langCombo;
|
||||||
foreach(QList<Option> opts, parent->opts) {
|
for (const QList<Option> &opts : qAsConst(baseFw->opts)) {
|
||||||
foreach(Option opt, opts) {
|
for (const Option &opt : opts) {
|
||||||
if (index >= optionsCheckBoxes.size()) {
|
QCheckBox * cb = new QCheckBox(ui->profileTab);
|
||||||
QCheckBox * checkbox = new QCheckBox(ui->profileTab);
|
cb->setText(opt.name);
|
||||||
ui->optionsLayout->addWidget(checkbox, optionsCheckBoxes.count()/4, optionsCheckBoxes.count()%4, 1, 1);
|
cb->setToolTip(opt.tooltip);
|
||||||
optionsCheckBoxes.push_back(checkbox);
|
cb->setChecked(currVariant.contains(opt.name));
|
||||||
connect(checkbox, SIGNAL(toggled(bool)), this, SLOT(firmwareOptionChanged(bool)));
|
ui->optionsLayout->addWidget(cb, index / 4, index % 4);
|
||||||
if (prevFocus) {
|
QWidget::setTabOrder(prevFocus, cb);
|
||||||
QWidget::setTabOrder(prevFocus, checkbox);
|
// connect to duplicates check handler if this option is part of a group
|
||||||
}
|
if (opts.size() > 1)
|
||||||
}
|
connect(cb, &QCheckBox::toggled, this, &AppPreferencesDialog::onFirmwareOptionChanged);
|
||||||
|
optionsCheckBoxes.insert(opt.name, cb);
|
||||||
QCheckBox *cb = optionsCheckBoxes.at(index++);
|
prevFocus = cb;
|
||||||
if (cb) {
|
++index;
|
||||||
cb->show();
|
|
||||||
cb->setText(opt.name);
|
|
||||||
cb->setToolTip(opt.tooltip);
|
|
||||||
cb->setCheckState(id.contains(opt.name) ? Qt::Checked : Qt::Unchecked);
|
|
||||||
if (opt.name == QString("voice")) {
|
|
||||||
voice = cb;
|
|
||||||
}
|
|
||||||
prevFocus = cb;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; index<optionsCheckBoxes.size(); index++) {
|
|
||||||
QCheckBox *cb = optionsCheckBoxes.at(index);
|
|
||||||
cb->hide();
|
|
||||||
cb->setCheckState(Qt::Unchecked);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->voiceCombo->clear();
|
|
||||||
foreach(const char *lang, parent->ttslanguages) {
|
|
||||||
ui->voiceCombo->addItem(lang);
|
|
||||||
if (id.contains(QString("-tts%1").arg(lang))) {
|
|
||||||
ui->voiceCombo->setCurrentIndex(ui->voiceCombo->count() - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
showVoice(voice && voice->isChecked());
|
|
||||||
|
|
||||||
// TODO: Remove once splash replacement supported on Horus
|
// TODO: Remove once splash replacement supported on Horus
|
||||||
// NOTE: 480x272 image causes issues on screens <800px high, needs a solution like scrolling once reinstated
|
// NOTE: 480x272 image causes issues on screens <800px high, needs a solution like scrolling once reinstated
|
||||||
if (IS_HORUS(parent->getBoard())) {
|
if (IS_HORUS(baseFw->getBoard())) {
|
||||||
ui->widget_splashImage->hide();
|
ui->widget_splashImage->hide();
|
||||||
ui->SplashFileName->setText("");
|
ui->SplashFileName->setText("");
|
||||||
}
|
}
|
||||||
|
@ -597,7 +551,7 @@ void AppPreferencesDialog::populateFirmwareOptions(const Firmware * firmware)
|
||||||
}
|
}
|
||||||
|
|
||||||
updateLock = false;
|
updateLock = false;
|
||||||
QTimer::singleShot(50, this, SLOT(shrink()));
|
QTimer::singleShot(50, this, &AppPreferencesDialog::shrink);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppPreferencesDialog::shrink()
|
void AppPreferencesDialog::shrink()
|
||||||
|
|
|
@ -49,26 +49,10 @@ class AppPreferencesDialog : public QDialog
|
||||||
void firmwareProfileChanged();
|
void firmwareProfileChanged();
|
||||||
void firmwareProfileAboutToChange(bool saveFiles = true);
|
void firmwareProfileAboutToChange(bool saveFiles = true);
|
||||||
|
|
||||||
private:
|
|
||||||
QList<QCheckBox *> optionsCheckBoxes;
|
|
||||||
bool updateLock;
|
|
||||||
bool mainWinHasDirtyChild;
|
|
||||||
void showVoice(bool);
|
|
||||||
void showVoice();
|
|
||||||
void hideVoice();
|
|
||||||
void populateLocale();
|
|
||||||
void populateFirmwareOptions(const Firmware *);
|
|
||||||
Firmware * getFirmwareVariant();
|
|
||||||
QCheckBox * voice;
|
|
||||||
|
|
||||||
Ui::AppPreferencesDialog *ui;
|
|
||||||
void initSettings();
|
|
||||||
bool displayImage(const QString & fileName);
|
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void shrink();
|
void shrink();
|
||||||
void baseFirmwareChanged();
|
void onBaseFirmwareChanged();
|
||||||
void firmwareOptionChanged(bool state);
|
void onFirmwareOptionChanged(bool state);
|
||||||
void toggleAppLogSettings();
|
void toggleAppLogSettings();
|
||||||
|
|
||||||
void on_libraryPathButton_clicked();
|
void on_libraryPathButton_clicked();
|
||||||
|
@ -87,6 +71,18 @@ class AppPreferencesDialog : public QDialog
|
||||||
void on_joystickChkB_clicked();
|
void on_joystickChkB_clicked();
|
||||||
void on_joystickcalButton_clicked();
|
void on_joystickcalButton_clicked();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
private:
|
||||||
|
void initSettings();
|
||||||
|
void populateFirmwareOptions(const Firmware *);
|
||||||
|
Firmware * getBaseFirmware() const;
|
||||||
|
Firmware * getFirmwareVariant() const;
|
||||||
|
bool displayImage(const QString & fileName);
|
||||||
|
|
||||||
|
Ui::AppPreferencesDialog *ui;
|
||||||
|
QMap<QString, QCheckBox *> optionsCheckBoxes;
|
||||||
|
bool updateLock;
|
||||||
|
bool mainWinHasDirtyChild;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _APPPREFERENCESDIALOG_H_
|
#endif // _APPPREFERENCESDIALOG_H_
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>863</width>
|
<width>741</width>
|
||||||
<height>673</height>
|
<height>668</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -26,16 +26,6 @@
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="standardButtons">
|
|
||||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -52,24 +42,37 @@
|
||||||
<string>Radio Profile</string>
|
<string>Radio Profile</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,0,0,0">
|
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,0,0,0">
|
||||||
<item row="8" column="2" colspan="2">
|
<item row="5" column="1">
|
||||||
<widget class="QPushButton" name="sdPathButton">
|
<widget class="QWidget" name="optionsWidget" native="true">
|
||||||
<property name="text">
|
<property name="sizePolicy">
|
||||||
<string>Select Folder</string>
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QGridLayout" name="optionsLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="2" colspan="2">
|
<item row="7" column="0" colspan="4">
|
||||||
<widget class="QPushButton" name="ProfilebackupPathButton">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>The profile specific folder, if set, will override general Backup folder</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Select Folder</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0" colspan="4">
|
|
||||||
<widget class="QWidget" name="widget_splashImage" native="true">
|
<widget class="QWidget" name="widget_splashImage" native="true">
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
|
@ -183,28 +186,19 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="16" column="1">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QCheckBox" name="burnFirmware">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Profile Name</string>
|
<string>Offer to write FW to Tx after download</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="profileNameLE"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="4">
|
<item row="1" column="0" colspan="4">
|
||||||
<widget class="Line" name="line_8">
|
<widget class="Line" name="line_8">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -218,319 +212,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="14" column="1">
|
||||||
<widget class="QLabel" name="label_7">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Sans Serif</family>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Radio Type</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QComboBox" name="downloadVerCB">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="langLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Menu Language</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1,1">
|
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="langCombo">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="voiceLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Sans Serif</family>
|
|
||||||
<weight>50</weight>
|
|
||||||
<bold>false</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Voice Language</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="voiceCombo">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Set voice language.
|
|
||||||
May be different from firmware language</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_6">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Build Options</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0" colspan="4">
|
|
||||||
<widget class="Line" name="splashSeparator">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="0">
|
|
||||||
<widget class="QLabel" name="sdPathLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>SD Structure path</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="1">
|
|
||||||
<widget class="QLineEdit" name="sdPath">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="0">
|
|
||||||
<widget class="QLabel" name="profilebackupPathLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>The profile specific folder, if set, will override general Backup folder</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Backup folder</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1">
|
|
||||||
<widget class="QLineEdit" name="profilebackupPath">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>If set it will override the application general setting</string>
|
|
||||||
</property>
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="1">
|
|
||||||
<widget class="QCheckBox" name="pbackupEnable">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>if set, will override general backup enable</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Enable automatic backup before writing firmware</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>General Settings</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="1">
|
|
||||||
<widget class="QLabel" name="lblGeneralSettings">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">General Settings Label</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="0">
|
|
||||||
<widget class="QLabel" name="label_14">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Default Stick Mode</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="1">
|
|
||||||
<widget class="QComboBox" name="stickmodeCB">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="whatsThis">
|
|
||||||
<string>Mode selection:
|
|
||||||
|
|
||||||
Mode 1:
|
|
||||||
Left stick: Elevator, Rudder
|
|
||||||
Right stick: Throttle, Aileron
|
|
||||||
|
|
||||||
Mode 2:
|
|
||||||
Left stick: Throttle, Rudder
|
|
||||||
Right stick: Elevator, Aileron
|
|
||||||
|
|
||||||
Mode 3:
|
|
||||||
Left stick: Elevator, Aileron
|
|
||||||
Right stick: Throttle, Rudder
|
|
||||||
|
|
||||||
Mode 4:
|
|
||||||
Left stick: Throttle, Aileron
|
|
||||||
Right stick: Elevator, Rudder
|
|
||||||
|
|
||||||
</string>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mode 1 (RUD ELE THR AIL)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mode 2 (RUD THR ELE AIL)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mode 3 (AIL ELE THR RUD)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mode 4 (AIL THR ELE RUD)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="0">
|
|
||||||
<widget class="QLabel" name="label_13">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Default Channel Order</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="1">
|
|
||||||
<widget class="QComboBox" name="channelorderCB">
|
<widget class="QComboBox" name="channelorderCB">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
@ -666,7 +348,30 @@ Mode 4:
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="14" column="1">
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="downloadVerCB">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Build Options</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="1">
|
||||||
<widget class="QCheckBox" name="renameFirmware">
|
<widget class="QCheckBox" name="renameFirmware">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
@ -679,8 +384,56 @@ Mode 4:
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="15" column="1">
|
<item row="9" column="2" colspan="2">
|
||||||
<widget class="QCheckBox" name="burnFirmware">
|
<widget class="QPushButton" name="sdPathButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Select Folder</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Profile Name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="profileNameLE"/>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0">
|
||||||
|
<widget class="QLabel" name="profilebackupPathLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>The profile specific folder, if set, will override general Backup folder</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Backup folder</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="1">
|
||||||
|
<widget class="QLabel" name="lblGeneralSettings">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
|
@ -688,24 +441,11 @@ Mode 4:
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Offer to write FW to Tx after download</string>
|
<string notr="true">General Settings Label</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="16" column="1">
|
<item row="8" column="0" colspan="4">
|
||||||
<spacer name="verticalSpacer_3">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>5</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="0" colspan="4">
|
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
@ -724,34 +464,240 @@ Mode 4:
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="13" column="0">
|
||||||
<widget class="QWidget" name="optionsWidget" native="true">
|
<widget class="QLabel" name="label_14">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="optionsLayout">
|
<property name="text">
|
||||||
<property name="leftMargin">
|
<string>Default Stick Mode</string>
|
||||||
<number>0</number>
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="1">
|
||||||
|
<widget class="QComboBox" name="stickmodeCB">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string>Mode selection:
|
||||||
|
|
||||||
|
Mode 1:
|
||||||
|
Left stick: Elevator, Rudder
|
||||||
|
Right stick: Throttle, Aileron
|
||||||
|
|
||||||
|
Mode 2:
|
||||||
|
Left stick: Throttle, Rudder
|
||||||
|
Right stick: Elevator, Aileron
|
||||||
|
|
||||||
|
Mode 3:
|
||||||
|
Left stick: Elevator, Aileron
|
||||||
|
Right stick: Throttle, Rudder
|
||||||
|
|
||||||
|
Mode 4:
|
||||||
|
Left stick: Throttle, Aileron
|
||||||
|
Right stick: Elevator, Rudder
|
||||||
|
|
||||||
|
</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Mode 1 (RUD ELE THR AIL)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="topMargin">
|
</item>
|
||||||
<number>0</number>
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Mode 2 (RUD THR ELE AIL)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="rightMargin">
|
</item>
|
||||||
<number>0</number>
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Mode 3 (AIL ELE THR RUD)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
</item>
|
||||||
<number>0</number>
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Mode 4 (AIL THR ELE RUD)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="horizontalSpacing">
|
</item>
|
||||||
<number>5</number>
|
</widget>
|
||||||
</property>
|
</item>
|
||||||
<property name="verticalSpacing">
|
<item row="14" column="0">
|
||||||
<number>4</number>
|
<widget class="QLabel" name="label_13">
|
||||||
</property>
|
<property name="sizePolicy">
|
||||||
</layout>
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Default Channel Order</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1">
|
||||||
|
<widget class="QCheckBox" name="pbackupEnable">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>if set, will override general backup enable</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable automatic backup before writing firmware</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0" colspan="4">
|
||||||
|
<widget class="Line" name="splashSeparator">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="1">
|
||||||
|
<widget class="QLineEdit" name="profilebackupPath">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>If set it will override the application general setting</string>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="0">
|
||||||
|
<widget class="QLabel" name="sdPathLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>SD Structure path</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="2" colspan="2">
|
||||||
|
<widget class="QPushButton" name="ProfilebackupPathButton">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>The profile specific folder, if set, will override general Backup folder</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Select Folder</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>General Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Sans Serif</family>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Radio Type</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="langLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Menu Language</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="1">
|
||||||
|
<widget class="QLineEdit" name="sdPath">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="1">
|
||||||
|
<spacer name="verticalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>5</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QComboBox" name="langCombo">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -1464,14 +1410,22 @@ Mode 4:
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>tabWidget</tabstop>
|
<tabstop>tabWidget</tabstop>
|
||||||
<tabstop>profileNameLE</tabstop>
|
<tabstop>profileNameLE</tabstop>
|
||||||
<tabstop>downloadVerCB</tabstop>
|
<tabstop>downloadVerCB</tabstop>
|
||||||
<tabstop>langCombo</tabstop>
|
|
||||||
<tabstop>voiceCombo</tabstop>
|
|
||||||
<tabstop>sdPath</tabstop>
|
<tabstop>sdPath</tabstop>
|
||||||
<tabstop>sdPathButton</tabstop>
|
<tabstop>sdPathButton</tabstop>
|
||||||
<tabstop>profilebackupPath</tabstop>
|
<tabstop>profilebackupPath</tabstop>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue