Update to Call Activity to pull grid from log if the station has not transmitted their grid yet
This commit is contained in:
parent
d91f96da42
commit
d1bd82af26
@ -258,6 +258,7 @@ void ADIF::load()
|
||||
, extractField (record, "BAND")
|
||||
, extractField (record, "MODE")
|
||||
, extractField (record, "SUBMODE")
|
||||
, extractField (record, "GRIDSQUARE")
|
||||
, extractField (record, "QSO_DATE")
|
||||
, extractField (record, "NAME")
|
||||
, extractField (record, "COMMENT")
|
||||
@ -268,13 +269,14 @@ void ADIF::load()
|
||||
}
|
||||
|
||||
|
||||
void ADIF::add(QString const& call, QString const& band, QString const& mode, QString const& submode, QString const& date, QString const& name, QString const& comment)
|
||||
void ADIF::add(QString const& call, QString const& band, QString const& mode, QString const& submode, QString const &grid, QString const& date, QString const& name, QString const& comment)
|
||||
{
|
||||
QSO q;
|
||||
q.call = call;
|
||||
q.band = band;
|
||||
q.mode = mode;
|
||||
q.submode = submode;
|
||||
q.grid = grid;
|
||||
q.date = date;
|
||||
q.name = name;
|
||||
q.comment = comment;
|
||||
|
@ -30,7 +30,7 @@ class ADIF
|
||||
|
||||
void init(QString const& filename);
|
||||
void load();
|
||||
void add(QString const& call, QString const& band, QString const& mode, const QString &submode, QString const& date, const QString &name, const QString &comment);
|
||||
void add(QString const& call, QString const& band, QString const& mode, const QString &submode, QString const& grid, QString const& date, const QString &name, const QString &comment);
|
||||
bool match(QString const& call, QString const& band) const;
|
||||
QList<ADIF::QSO> find(QString const& call) const;
|
||||
QList<QString> getCallList() const;
|
||||
@ -48,7 +48,7 @@ class ADIF
|
||||
|
||||
struct QSO
|
||||
{
|
||||
QString call,band,mode,submode,date,name,comment;
|
||||
QString call,band,mode,submode,grid,date,name,comment;
|
||||
};
|
||||
|
||||
private:
|
||||
|
@ -79,6 +79,7 @@ bool LogBook::findCallDetails(
|
||||
/*in*/
|
||||
const QString call,
|
||||
/*out*/
|
||||
QString &grid,
|
||||
QString &date,
|
||||
QString &name,
|
||||
QString &comment) const
|
||||
@ -93,6 +94,7 @@ bool LogBook::findCallDetails(
|
||||
}
|
||||
|
||||
foreach(auto qso, qsos){
|
||||
if(grid.isEmpty() && !qso.grid.isEmpty()) grid = qso.grid;
|
||||
if(date.isEmpty() && !qso.date.isEmpty()) date = qso.date;
|
||||
if(name.isEmpty() && !qso.name.isEmpty()) name = qso.name;
|
||||
if(comment.isEmpty() && !qso.comment.isEmpty()) comment = qso.comment;
|
||||
@ -101,9 +103,9 @@ bool LogBook::findCallDetails(
|
||||
return true;
|
||||
}
|
||||
|
||||
void LogBook::addAsWorked(const QString call, const QString band, const QString mode, const QString submode, const QString date, const QString name, const QString comment)
|
||||
void LogBook::addAsWorked(const QString call, const QString band, const QString mode, const QString submode, const QString grid, const QString date, const QString name, const QString comment)
|
||||
{
|
||||
_log.add(call,band,mode,submode,date,name,comment);
|
||||
_log.add(call,band,mode,submode,grid,date,name,comment);
|
||||
QString countryName = _countries.find(call);
|
||||
if (countryName.length() > 0)
|
||||
_worked.setAsWorked(countryName);
|
||||
|
@ -26,14 +26,14 @@ public:
|
||||
/*out*/ QString &countryName,
|
||||
bool &callWorkedBefore,
|
||||
bool &countryWorkedBefore) const;
|
||||
bool findCallDetails(
|
||||
/*in*/
|
||||
bool findCallDetails(/*in*/
|
||||
const QString call,
|
||||
/*out*/
|
||||
QString &grid,
|
||||
QString &date,
|
||||
QString &name,
|
||||
QString &comment) const;
|
||||
void addAsWorked(const QString call, const QString band, const QString mode, const QString submode, const QString date, const QString name, const QString comment);
|
||||
void addAsWorked(const QString call, const QString band, const QString mode, const QString submode, const QString grid, const QString date, const QString name, const QString comment);
|
||||
|
||||
private:
|
||||
CountryDat _countries;
|
||||
|
@ -6715,7 +6715,7 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call,
|
||||
, QString const& my_call, QString const& my_grid, QByteArray const& ADIF, QMap<QString, QVariant> const &additionalFields)
|
||||
{
|
||||
QString date = QSO_date_on.toString("yyyyMMdd");
|
||||
m_logBook.addAsWorked (m_hisCall, m_config.bands ()->find (m_freqNominal), mode, submode, date, name, comments);
|
||||
m_logBook.addAsWorked (m_hisCall, m_config.bands ()->find (m_freqNominal), mode, submode, grid, date, name, comments);
|
||||
|
||||
// Log to JS8Call API
|
||||
if(m_config.udpEnabled()){
|
||||
@ -11811,12 +11811,19 @@ void MainWindow::displayCallActivity() {
|
||||
workedBeforeItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
||||
ui->tableWidgetCalls->setItem(row, col++, workedBeforeItem);
|
||||
|
||||
QString logDetailGrid;
|
||||
QString logDetailDate;
|
||||
QString logDetailName;
|
||||
QString logDetailComment;
|
||||
|
||||
if(showColumn("call", "log") || showColumn("call", "logName") || showColumn("call", "logComment")){
|
||||
m_logBook.findCallDetails(d.call, logDetailDate, logDetailName, logDetailComment);
|
||||
if(showColumn("call", "grid") || showColumn("call", "log") || showColumn("call", "logName") || showColumn("call", "logComment")){
|
||||
m_logBook.findCallDetails(d.call, logDetailGrid, logDetailDate, logDetailName, logDetailComment);
|
||||
}
|
||||
|
||||
if(gridItem->text().isEmpty() || !logDetailGrid.isEmpty()){
|
||||
gridItem->setText(logDetailGrid.trimmed().left(4));
|
||||
gridItem->setToolTip(logDetailGrid.trimmed());
|
||||
distanceItem->setText(calculateDistance(logDetailGrid.trimmed()));
|
||||
}
|
||||
|
||||
if(!logDetailDate.isEmpty()){
|
||||
|
Loading…
Reference in New Issue
Block a user