diff --git a/logbook/adif.cpp b/logbook/adif.cpp index a1f092a..1054c96 100644 --- a/logbook/adif.cpp +++ b/logbook/adif.cpp @@ -7,7 +7,6 @@ const QStringList ADIF_FIELDS = { // ADIF 3.1.0 - pulled from http://www.adif.org/310/adx310.xsd on 2019-06-04 - "USERDEF", "APP", "ADDRESS", "ADDRESS_INTL", @@ -365,8 +364,14 @@ QByteArray ADIF::QSOToADIF(QString const& hisCall, QString const& hisGrid, QStri ">" + operator_call; foreach(auto key, additionalFields.keys()){ - auto value = additionalFields[key].toString(); - t += QString(" <%1:%2>%3").arg(key).arg(value.length()).arg(value); + auto k = key.toUpper(); + auto value = additionalFields[k].toString(); + + if(ADIF_FIELDS.contains(k)){ + t += QString(" <%1:%2>%3").arg(k).arg(value.length()).arg(value); + } else { + t += QString(" %3").arg(k).arg(value.length()).arg(value); + } } return t.toLatin1 (); diff --git a/logqso.cpp b/logqso.cpp index be2d9e5..84f72c5 100644 --- a/logqso.cpp +++ b/logqso.cpp @@ -81,7 +81,10 @@ void LogQSO::createAdditionalField(QString key, QString value){ QComboBox * c = new QComboBox(this); c->insertItems(0, ADIF_FIELDS); c->insertItem(0, ""); - c->setEditable(false); + c->setEditable(true); + c->setAutoCompletion(true); + c->setAutoCompletionCaseSensitivity(Qt::CaseInsensitive); + c->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); connect(c, &QComboBox::currentTextChanged, this, [this, l](const QString &text){ l->setProperty("fieldKey", QVariant(text)); }); @@ -102,6 +105,7 @@ void LogQSO::createAdditionalField(QString key, QString value){ m_additionalFieldsControls.append(l); ui->additionalFields->setVisible(true); + ui->additionalFields->adjustSize(); } QMap LogQSO::collectAdditionalFields(){