Implemented basic logging of additional fields support based on ADIF
This commit is contained in:
parent
ae6dccc183
commit
38ab24ba79
158
logbook/adif.cpp
158
logbook/adif.cpp
@ -5,6 +5,164 @@
|
|||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
|
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",
|
||||||
|
"AGE",
|
||||||
|
"A_INDEX",
|
||||||
|
"ANT_AZ",
|
||||||
|
"ANT_EL",
|
||||||
|
"ANT_PATH",
|
||||||
|
"ARRL_SECT",
|
||||||
|
"AWARD_SUBMITTED",
|
||||||
|
"AWARD_GRANTED",
|
||||||
|
"BAND",
|
||||||
|
"BAND_RX",
|
||||||
|
"CALL",
|
||||||
|
"CHECK",
|
||||||
|
"CLASS",
|
||||||
|
"CLUBLOG_QSO_UPLOAD_DATE",
|
||||||
|
"CLUBLOG_QSO_UPLOAD_STATUS",
|
||||||
|
"CNTY",
|
||||||
|
"COMMENT",
|
||||||
|
"COMMENT_INTL",
|
||||||
|
"CONT",
|
||||||
|
"CONTACTED_OP",
|
||||||
|
"CONTEST_ID",
|
||||||
|
"COUNTRY",
|
||||||
|
"COUNTRY_INTL",
|
||||||
|
"CQZ",
|
||||||
|
"CREDIT_SUBMITTED",
|
||||||
|
"CREDIT_GRANTED",
|
||||||
|
"DARC_DOK",
|
||||||
|
"DISTANCE",
|
||||||
|
"DXCC",
|
||||||
|
"EMAIL",
|
||||||
|
"EQ_CALL",
|
||||||
|
"EQSL_QSLRDATE",
|
||||||
|
"EQSL_QSLSDATE",
|
||||||
|
"EQSL_QSL_RCVD",
|
||||||
|
"EQSL_QSL_SENT",
|
||||||
|
"FISTS",
|
||||||
|
"FISTS_CC",
|
||||||
|
"FORCE_INIT",
|
||||||
|
"FREQ",
|
||||||
|
"FREQ_RX",
|
||||||
|
"GRIDSQUARE",
|
||||||
|
"GUEST_OP",
|
||||||
|
"HRDLOG_QSO_UPLOAD_DATE",
|
||||||
|
"HRDLOG_QSO_UPLOAD_STATUS",
|
||||||
|
"IOTA",
|
||||||
|
"IOTA_ISLAND_ID",
|
||||||
|
"ITUZ",
|
||||||
|
"K_INDEX",
|
||||||
|
"LAT",
|
||||||
|
"LON",
|
||||||
|
"LOTW_QSLRDATE",
|
||||||
|
"LOTW_QSLSDATE",
|
||||||
|
"LOTW_QSL_RCVD",
|
||||||
|
"LOTW_QSL_SENT",
|
||||||
|
"MAX_BURSTS",
|
||||||
|
"MODE",
|
||||||
|
"MS_SHOWER",
|
||||||
|
"MY_ANTENNA",
|
||||||
|
"MY_ANTENNA_INTL",
|
||||||
|
"MY_CITY",
|
||||||
|
"MY_CITY_INTL",
|
||||||
|
"MY_CNTY",
|
||||||
|
"MY_COUNTRY",
|
||||||
|
"MY_COUNTRY_INTL",
|
||||||
|
"MY_CQ_ZONE",
|
||||||
|
"MY_DXCC",
|
||||||
|
"MY_FISTS",
|
||||||
|
"MY_GRIDSQUARE",
|
||||||
|
"MY_IOTA",
|
||||||
|
"MY_IOTA_ISLAND_ID",
|
||||||
|
"MY_ITU_ZONE",
|
||||||
|
"MY_LAT",
|
||||||
|
"MY_LON",
|
||||||
|
"MY_NAME",
|
||||||
|
"MY_NAME_INTL",
|
||||||
|
"MY_POSTAL_CODE",
|
||||||
|
"MY_POSTAL_CODE_INTL",
|
||||||
|
"MY_RIG",
|
||||||
|
"MY_RIG_INTL",
|
||||||
|
"MY_SIG",
|
||||||
|
"MY_SIG_INTL",
|
||||||
|
"MY_SIG_INFO",
|
||||||
|
"MY_SIG_INFO_INTL",
|
||||||
|
"MY_SOTA_REF",
|
||||||
|
"MY_STATE",
|
||||||
|
"MY_STREET",
|
||||||
|
"MY_STREET_INTL",
|
||||||
|
"MY_USACA_COUNTIES",
|
||||||
|
"MY_VUCC_GRIDS",
|
||||||
|
"NAME",
|
||||||
|
"NAME_INTL",
|
||||||
|
"NOTES",
|
||||||
|
"NOTES_INTL",
|
||||||
|
"NR_BURSTS",
|
||||||
|
"NR_PINGS",
|
||||||
|
"OPERATOR",
|
||||||
|
"OWNER_CALLSIGN",
|
||||||
|
"PFX",
|
||||||
|
"PRECEDENCE",
|
||||||
|
"PROP_MODE",
|
||||||
|
"PUBLIC_KEY",
|
||||||
|
"QRZCOM_QSO_UPLOAD_DATE",
|
||||||
|
"QRZCOM_QSO_UPLOAD_STATUS",
|
||||||
|
"QSLMSG",
|
||||||
|
"QSLMSG_INTL",
|
||||||
|
"QSLRDATE",
|
||||||
|
"QSLSDATE",
|
||||||
|
"QSL_RCVD",
|
||||||
|
"QSL_RCVD_VIA",
|
||||||
|
"QSL_SENT",
|
||||||
|
"QSL_SENT_VIA",
|
||||||
|
"QSL_VIA",
|
||||||
|
"QSO_COMPLETE",
|
||||||
|
"QSO_DATE",
|
||||||
|
"QSO_DATE_OFF",
|
||||||
|
"QSO_RANDOM",
|
||||||
|
"QTH",
|
||||||
|
"QTH_INTL",
|
||||||
|
"REGION",
|
||||||
|
"RIG",
|
||||||
|
"RIG_INTL",
|
||||||
|
"RST_RCVD",
|
||||||
|
"RST_SENT",
|
||||||
|
"RX_PWR",
|
||||||
|
"SAT_MODE",
|
||||||
|
"SAT_NAME",
|
||||||
|
"SFI",
|
||||||
|
"SIG",
|
||||||
|
"SIG_INTL",
|
||||||
|
"SIG_INFO",
|
||||||
|
"SIG_INFO_INTL",
|
||||||
|
"SILENT_KEY",
|
||||||
|
"SKCC",
|
||||||
|
"SOTA_REF",
|
||||||
|
"SRX",
|
||||||
|
"SRX_STRING",
|
||||||
|
"STATE",
|
||||||
|
"STATION_CALLSIGN",
|
||||||
|
"STX",
|
||||||
|
"STX_STRING",
|
||||||
|
"SUBMODE",
|
||||||
|
"SWL",
|
||||||
|
"TEN_TEN",
|
||||||
|
"TIME_OFF",
|
||||||
|
"TIME_ON",
|
||||||
|
"TX_PWR",
|
||||||
|
"UKSMG",
|
||||||
|
"USACA_COUNTIES",
|
||||||
|
"VUCC_GRIDS",
|
||||||
|
"WEB",
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
<CALL:4>W1XT<BAND:3>20m<FREQ:6>14.076<GRIDSQUARE:4>DM33<MODE:4>JT65<RST_RCVD:3>-21<RST_SENT:3>-14<QSO_DATE:8>20110422<TIME_ON:6>041712<TIME_OFF:6>042435<TX_PWR:1>4<COMMENT:34>1st JT65A QSO. Him: mag loop 20W<STATION_CALLSIGN:6>VK3ACF<MY_GRIDSQUARE:6>qf22lb<eor>
|
<CALL:4>W1XT<BAND:3>20m<FREQ:6>14.076<GRIDSQUARE:4>DM33<MODE:4>JT65<RST_RCVD:3>-21<RST_SENT:3>-14<QSO_DATE:8>20110422<TIME_ON:6>041712<TIME_OFF:6>042435<TX_PWR:1>4<COMMENT:34>1st JT65A QSO. Him: mag loop 20W<STATION_CALLSIGN:6>VK3ACF<MY_GRIDSQUARE:6>qf22lb<eor>
|
||||||
<CALL:6>IK1SOW<BAND:3>20m<FREQ:6>14.076<GRIDSQUARE:4>JN35<MODE:4>JT65<RST_RCVD:3>-19<RST_SENT:3>-11<QSO_DATE:8>20110422<TIME_ON:6>052501<TIME_OFF:6>053359<TX_PWR:1>3<STATION_CALLSIGN:6>VK3ACF<MY_GRIDSQUARE:6>qf22lb<eor>
|
<CALL:6>IK1SOW<BAND:3>20m<FREQ:6>14.076<GRIDSQUARE:4>JN35<MODE:4>JT65<RST_RCVD:3>-19<RST_SENT:3>-11<QSO_DATE:8>20110422<TIME_ON:6>052501<TIME_OFF:6>053359<TX_PWR:1>3<STATION_CALLSIGN:6>VK3ACF<MY_GRIDSQUARE:6>qf22lb<eor>
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#if defined (QT5)
|
#if defined (QT5)
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
#include <QStringList>
|
||||||
#include <QMultiHash>
|
#include <QMultiHash>
|
||||||
#else
|
#else
|
||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
@ -18,6 +19,8 @@
|
|||||||
|
|
||||||
class QDateTime;
|
class QDateTime;
|
||||||
|
|
||||||
|
extern const QStringList ADIF_FIELDS;
|
||||||
|
|
||||||
class ADIF
|
class ADIF
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -35,18 +38,17 @@ class ADIF
|
|||||||
// open ADIF file and append the QSO details. Return true on success
|
// open ADIF file and append the QSO details. Return true on success
|
||||||
bool addQSOToFile(QByteArray const& ADIF_record);
|
bool addQSOToFile(QByteArray const& ADIF_record);
|
||||||
|
|
||||||
QByteArray QSOToADIF(QString const& hisCall, QString const& hisGrid, QString const& mode, QString const& submode, QString const& rptSent
|
QByteArray QSOToADIF(QString const& hisCall, QString const& hisGrid, QString const& mode, QString const& submode, QString const& rptSent
|
||||||
, QString const& rptRcvd, QDateTime const& dateTimeOn, QDateTime const& dateTimeOff
|
, QString const& rptRcvd, QDateTime const& dateTimeOn, QDateTime const& dateTimeOff
|
||||||
, QString const& band, QString const& comments, QString const& name
|
, QString const& band, QString const& comments, QString const& name
|
||||||
, QString const& strDialFreq, QString const& m_myCall, QString const& m_myGrid
|
, QString const& strDialFreq, QString const& m_myCall, QString const& m_myGrid
|
||||||
, QString const& operator_call);
|
, QString const& operator_call);
|
||||||
|
|
||||||
|
|
||||||
|
struct QSO
|
||||||
struct QSO
|
{
|
||||||
{
|
QString call,band,mode,submode,date,name,comment;
|
||||||
QString call,band,mode,submode,date,name,comment;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QMultiHash<QString, QSO> _data;
|
QMultiHash<QString, QSO> _data;
|
||||||
|
68
logqso.cpp
68
logqso.cpp
@ -26,7 +26,6 @@ LogQSO::LogQSO(QString const& programTitle, QSettings * settings
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
setWindowTitle(programTitle + " - Log QSO");
|
setWindowTitle(programTitle + " - Log QSO");
|
||||||
loadSettings ();
|
|
||||||
ui->grid->setValidator (new MaidenheadLocatorValidator {this});
|
ui->grid->setValidator (new MaidenheadLocatorValidator {this});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,12 +64,61 @@ void LogQSO::on_end_now_button_pressed(){
|
|||||||
ui->end_date_time->setDateTime(DriftingDateTime::currentDateTimeUtc());
|
ui->end_date_time->setDateTime(DriftingDateTime::currentDateTimeUtc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LogQSO::on_add_new_field_button_pressed(){
|
||||||
|
createAdditionalField();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LogQSO::createAdditionalField(QString key, QString value){
|
||||||
|
QLineEdit * l = new QLineEdit(this);
|
||||||
|
if(!value.isEmpty()){
|
||||||
|
l->setText(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
QComboBox * c = new QComboBox(this);
|
||||||
|
c->insertItem(0, "");
|
||||||
|
c->insertItems(0, ADIF_FIELDS);
|
||||||
|
c->setEditable(false);
|
||||||
|
connect(c, &QComboBox::currentTextChanged, this, [this, l](const QString &text){
|
||||||
|
l->setProperty("fieldKey", QVariant(text));
|
||||||
|
});
|
||||||
|
if(!key.isEmpty()){
|
||||||
|
c->setCurrentText(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
auto layout = static_cast<QFormLayout*>(ui->additionalFields->layout());
|
||||||
|
layout->removeItem(ui->field_button_layout);
|
||||||
|
layout->addRow(c, l);
|
||||||
|
layout->addItem(ui->field_button_layout);
|
||||||
|
m_additionalFieldsControls.append(l);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LogQSO::resetAdditionalFields(){
|
||||||
|
if(m_additionalFieldsControls.isEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto layout = static_cast<QFormLayout*>(ui->additionalFields->layout());
|
||||||
|
layout->removeItem(ui->field_button_layout);
|
||||||
|
for(int i = 0, count = layout->rowCount(); i < count; i++){
|
||||||
|
layout->removeRow(0);
|
||||||
|
}
|
||||||
|
layout->addItem(ui->field_button_layout);
|
||||||
|
m_additionalFieldsControls.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void LogQSO::loadSettings ()
|
void LogQSO::loadSettings ()
|
||||||
{
|
{
|
||||||
m_settings->beginGroup ("LogQSO");
|
m_settings->beginGroup ("LogQSO");
|
||||||
restoreGeometry (m_settings->value ("geometry", saveGeometry ()).toByteArray ());
|
restoreGeometry (m_settings->value ("geometry", saveGeometry ()).toByteArray ());
|
||||||
ui->cbComments->setChecked (m_settings->value ("SaveComments", false).toBool ());
|
ui->cbComments->setChecked (m_settings->value ("SaveComments", false).toBool ());
|
||||||
m_comments = m_settings->value ("LogComments", "").toString();
|
m_comments = m_settings->value ("LogComments", "").toString();
|
||||||
|
|
||||||
|
resetAdditionalFields();
|
||||||
|
auto additionalFields = QSet<QString>::fromList(m_settings->value("AdditionalFields", {}).toStringList());
|
||||||
|
foreach(auto key, additionalFields){
|
||||||
|
createAdditionalField(key);
|
||||||
|
}
|
||||||
|
|
||||||
m_settings->endGroup ();
|
m_settings->endGroup ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,6 +128,13 @@ void LogQSO::storeSettings () const
|
|||||||
m_settings->setValue ("geometry", saveGeometry ());
|
m_settings->setValue ("geometry", saveGeometry ());
|
||||||
m_settings->setValue ("SaveComments", ui->cbComments->isChecked ());
|
m_settings->setValue ("SaveComments", ui->cbComments->isChecked ());
|
||||||
m_settings->setValue ("LogComments", m_comments);
|
m_settings->setValue ("LogComments", m_comments);
|
||||||
|
|
||||||
|
auto additionalFields = QStringList{};
|
||||||
|
foreach(auto field, m_additionalFieldsControls){
|
||||||
|
additionalFields.append(field->property("fieldKey").toString());
|
||||||
|
}
|
||||||
|
m_settings->setValue ("AdditionalFields", additionalFields);
|
||||||
|
|
||||||
m_settings->endGroup ();
|
m_settings->endGroup ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,32 +145,43 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString
|
|||||||
bool toDATA, bool dBtoComments, bool bFox, QString const& opCall, QString const& comments)
|
bool toDATA, bool dBtoComments, bool bFox, QString const& opCall, QString const& comments)
|
||||||
{
|
{
|
||||||
if(!isHidden()) return;
|
if(!isHidden()) return;
|
||||||
|
|
||||||
|
loadSettings();
|
||||||
|
|
||||||
ui->call->setFocus();
|
ui->call->setFocus();
|
||||||
ui->call->setText(hisCall);
|
ui->call->setText(hisCall);
|
||||||
ui->grid->setText(hisGrid);
|
ui->grid->setText(hisGrid);
|
||||||
ui->name->setText("");
|
ui->name->setText("");
|
||||||
ui->comments->setText("");
|
ui->comments->setText("");
|
||||||
|
|
||||||
if (ui->cbComments->isChecked ()) ui->comments->setText(m_comments);
|
if (ui->cbComments->isChecked ()) ui->comments->setText(m_comments);
|
||||||
|
|
||||||
if(dBtoComments) {
|
if(dBtoComments) {
|
||||||
QString t=mode;
|
QString t=mode;
|
||||||
if(rptSent!="") t+=" Sent: " + rptSent;
|
if(rptSent!="") t+=" Sent: " + rptSent;
|
||||||
if(rptRcvd!="") t+=" Rcvd: " + rptRcvd;
|
if(rptRcvd!="") t+=" Rcvd: " + rptRcvd;
|
||||||
ui->comments->setText(t);
|
ui->comments->setText(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!comments.isEmpty()){
|
if(!comments.isEmpty()){
|
||||||
ui->comments->setText(comments);
|
ui->comments->setText(comments);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(toDATA) mode="DATA";
|
if(toDATA) mode="DATA";
|
||||||
|
|
||||||
ui->mode->setText(mode);
|
ui->mode->setText(mode);
|
||||||
ui->sent->setText(rptSent);
|
ui->sent->setText(rptSent);
|
||||||
ui->rcvd->setText(rptRcvd);
|
ui->rcvd->setText(rptRcvd);
|
||||||
ui->start_date_time->setDateTime (dateTimeOn);
|
ui->start_date_time->setDateTime (dateTimeOn);
|
||||||
ui->end_date_time->setDateTime (dateTimeOff);
|
ui->end_date_time->setDateTime (dateTimeOff);
|
||||||
|
|
||||||
m_dialFreq=dialFreq;
|
m_dialFreq=dialFreq;
|
||||||
m_myCall=myCall;
|
m_myCall=myCall;
|
||||||
m_myGrid=myGrid;
|
m_myGrid=myGrid;
|
||||||
|
|
||||||
ui->band->setText (m_config->bands ()->find (dialFreq));
|
ui->band->setText (m_config->bands ()->find (dialFreq));
|
||||||
ui->loggedOperator->setText(opCall);
|
ui->loggedOperator->setText(opCall);
|
||||||
|
|
||||||
if(bFox) {
|
if(bFox) {
|
||||||
accept();
|
accept();
|
||||||
} else {
|
} else {
|
||||||
|
4
logqso.h
4
logqso.h
@ -51,6 +51,9 @@ protected:
|
|||||||
void hideEvent (QHideEvent *);
|
void hideEvent (QHideEvent *);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
void createAdditionalField(QString key={}, QString value={});
|
||||||
|
void resetAdditionalFields();
|
||||||
|
void on_add_new_field_button_pressed();
|
||||||
void on_start_now_button_pressed();
|
void on_start_now_button_pressed();
|
||||||
void on_end_now_button_pressed();
|
void on_end_now_button_pressed();
|
||||||
|
|
||||||
@ -67,6 +70,7 @@ private:
|
|||||||
QString m_myGrid;
|
QString m_myGrid;
|
||||||
QDateTime m_dateTimeOn;
|
QDateTime m_dateTimeOn;
|
||||||
QDateTime m_dateTimeOff;
|
QDateTime m_dateTimeOff;
|
||||||
|
QList<QLineEdit*> m_additionalFieldsControls;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LogQSO_H
|
#endif // LogQSO_H
|
||||||
|
65
logqso.ui
65
logqso.ui
@ -42,8 +42,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>582</width>
|
<width>568</width>
|
||||||
<height>401</height>
|
<height>442</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
@ -54,7 +54,7 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="rightMargin">
|
<property name="rightMargin">
|
||||||
<number>0</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
@ -434,7 +434,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="0">
|
<item row="9" column="0">
|
||||||
<widget class="QLabel" name="lab9">
|
<widget class="QLabel" name="lab9">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -452,7 +452,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="1">
|
<item row="9" column="1">
|
||||||
<widget class="QLineEdit" name="name">
|
<widget class="QLineEdit" name="name">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -465,7 +465,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="0">
|
<item row="10" column="0">
|
||||||
<widget class="QLabel" name="lab10">
|
<widget class="QLabel" name="lab10">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -480,14 +480,14 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="1">
|
<item row="10" column="1">
|
||||||
<widget class="QLineEdit" name="comments">
|
<widget class="QLineEdit" name="comments">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="1">
|
<item row="11" column="1">
|
||||||
<widget class="QCheckBox" name="cbComments">
|
<widget class="QCheckBox" name="cbComments">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Retain Comments</string>
|
<string>Retain Comments</string>
|
||||||
@ -496,6 +496,55 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="additionalFields">
|
||||||
|
<property name="title">
|
||||||
|
<string>Additional Fields</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout_2">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="field_button_layout">
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="add_new_field_button">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add New Field</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
Loading…
Reference in New Issue
Block a user