Update to Call Activity to pull grid from log if the station has not transmitted their grid yet

This commit is contained in:
Jordan Sherer
2019-06-13 09:35:53 -04:00
parent d91f96da42
commit d1bd82af26
5 changed files with 22 additions and 11 deletions
+3 -1
View File
@@ -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;
+2 -2
View File
@@ -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:
+4 -2
View File
@@ -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);
+3 -3
View File
@@ -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;