Skip to content

Commit 6fa7de0

Browse files
committed
Closes ea4k#779
1 parent baad80c commit 6fa7de0

File tree

8 files changed

+142
-100
lines changed

8 files changed

+142
-100
lines changed

src/Changelog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ TBD - 2.4
4949
- Enhancement: ADIF Added SUBMM band.
5050
- Enhancement: Completed the names of the fields in the log view widget.
5151
- Enhancement: Added several ADIF fields (Closes #396, #507, #508, #719)
52+
- Bugfix: Edit QSO does not recover the comment so info is lost (Closes #779)
5253
- Bugfix: LOTW upload using VARA-HF mode fails. (Closes #735)
5354
- Bugfix: Map shows a missing API message (Closes #675)WIP:
5455
- Bugfix: LoTW upload station callsign "Not defined" (Closes #657)

src/logwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ LogWindow::LogWindow(Awards *awards, QWidget *parent)
3232
awards(awards)
3333
{
3434

35-
qDebug() << Q_FUNC_INFO << " - Start";
35+
//qDebug() << Q_FUNC_INFO << " - Start";
3636
dataProxy = awards->dataProxy;
3737
logModel = new LogModel(dataProxy, this);
3838
util = new Utilities(Q_FUNC_INFO);

src/mainqsoentrywidget.cpp

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -470,17 +470,18 @@ void MainQSOEntryWidget::clear()
470470
logEvent (Q_FUNC_INFO, "END", Debug);
471471
}
472472

473-
QSO MainQSOEntryWidget::getQSOData(QSO &
474-
_qso)
473+
QSO MainQSOEntryWidget::getQSOData(QSO & _qso)
475474
{
476-
//qDebug() << Q_FUNC_INFO << " - Call-01 : " << _qso.getCall();
477-
//qDebug() << Q_FUNC_INFO << " - MyCITY-01 : " << _qso.getMyCity();
478-
_qso.setCall(getQrz());
479-
_qso.setBand(getBand());
480-
_qso.setMode(dataProxy->getNameFromSubMode (getMode()));
481-
_qso.setSubmode(getMode());
482-
_qso.setDateTimeOn(getDateTime());
483-
return _qso;
475+
qDebug() << Q_FUNC_INFO << " - Call-01 : " << _qso.getCall();
476+
QSO tQSO(_qso);
477+
qDebug() << Q_FUNC_INFO << " - Call-02 : " << tQSO.getCall();
478+
tQSO.setCall(getQrz());
479+
qDebug() << Q_FUNC_INFO << " - Call-03 : " << tQSO.getCall();
480+
tQSO.setBand(getBand());
481+
tQSO.setMode(dataProxy->getNameFromSubMode (getMode()));
482+
tQSO.setSubmode(getMode());
483+
tQSO.setDateTimeOn(getDateTime());
484+
return tQSO;
484485
}
485486

486487
void MainQSOEntryWidget::setQSOData(QSO _qso)

src/mainwindow.cpp

Lines changed: 80 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ void MainWindow::init()
430430
init_variables();
431431

432432
hamlib->initClass();
433-
qso->clear();
433+
qsoInUI.clear();
434434

435435
setCleaning(false);
436436

@@ -714,7 +714,7 @@ void MainWindow::createActionsCommon(){
714714

715715
void MainWindow::slotQSO_SetMode(const QString _submode)
716716
{
717-
qso->setMode (dataProxy->getNameFromSubMode (_submode));
717+
qsoInUI.setMode (dataProxy->getNameFromSubMode (_submode));
718718
}
719719

720720
void MainWindow::recommendBackupIfNeeded()
@@ -1048,18 +1048,18 @@ void MainWindow::slotQRZReturnPressed()
10481048
//qDebug() << Q_FUNC_INFO << " - readQSOFromUI returned FALSE";
10491049
return;
10501050
}
1051-
if (!qso->isValid())
1051+
if (!qsoInUI.isValid())
10521052
{
10531053
//qDebug() << Q_FUNC_INFO << " - QSO Not valid!";
10541054
return;
10551055
}
10561056

1057-
int addedOK = qso->toDB (modifyingQSOid);
1057+
int addedOK = qsoInUI.toDB (modifyingQSOid);
10581058
//qDebug() << Q_FUNC_INFO << ": id: " << QString::number(addedOK);
10591059
if (addedOK>0)
10601060
{
10611061
//qDebug() << Q_FUNC_INFO << ": QSO Added: " << QString::number(addedOK);
1062-
mapWindow->addLocator(qso->getGridSquare(), workedColor);
1062+
mapWindow->addLocator(qsoInUI.getGridSquare(), workedColor);
10631063
actionsJustAfterAddingOneQSO();
10641064
}
10651065

@@ -1235,57 +1235,69 @@ int MainWindow::checkDXCCBeforeAddingToLog(const int dxcc_Call, const int dxcc_q
12351235

12361236
void MainWindow::getQSODataFromUI()
12371237
{
1238-
//qDebug() << Q_FUNC_INFO << " - Call-01 : " << qso->getCall();
1239-
*qso = mainQSOEntryWidget->getQSOData(*qso);
1240-
*qso = QSOTabWidget->getQSOData(*qso);
1241-
*qso = commentTabWidget->getQSOData(*qso);
1242-
*qso = othersTabWidget->getQSOData(*qso);
1243-
*qso = eQSLTabWidget->getQSOData(*qso);
1244-
*qso = QSLTabWidget->getQSOData(*qso);
1245-
*qso = mainQSOEntryWidget->getQSOData(*qso);
1246-
*qso = satTabWidget->getQSOData(*qso);
1247-
*qso = myDataTabWidget->getQSOData(*qso);
1238+
qDebug() << Q_FUNC_INFO << " - Call-01 : " << qsoInUI.getCall();
1239+
qsoInUI.clear();
1240+
qsoInUI = mainQSOEntryWidget->getQSOData(qsoInUI);
1241+
qsoInUI = QSOTabWidget->getQSOData(qsoInUI);
1242+
qsoInUI = commentTabWidget->getQSOData(qsoInUI);
1243+
qsoInUI = othersTabWidget->getQSOData(qsoInUI);
1244+
qsoInUI = eQSLTabWidget->getQSOData(qsoInUI);
1245+
qsoInUI = QSLTabWidget->getQSOData(qsoInUI);
1246+
qsoInUI = mainQSOEntryWidget->getQSOData(qsoInUI);
1247+
qsoInUI = satTabWidget->getQSOData(qsoInUI);
1248+
qsoInUI = myDataTabWidget->getQSOData(qsoInUI);
1249+
1250+
//*qso = mainQSOEntryWidget->getQSOData(*qso);
1251+
//*qso = QSOTabWidget->getQSOData(*qso);
1252+
//*qso = commentTabWidget->getQSOData(*qso);
1253+
//*qso = othersTabWidget->getQSOData(*qso);
1254+
//*qso = eQSLTabWidget->getQSOData(*qso);
1255+
//*qso = QSLTabWidget->getQSOData(*qso);
1256+
//*qso = mainQSOEntryWidget->getQSOData(*qso);
1257+
//*qso = satTabWidget->getQSOData(*qso);
1258+
//*qso = myDataTabWidget->getQSOData(*qso);
1259+
qDebug() << Q_FUNC_INFO << " - Call-02 : " << qsoInUI.getCall();
12481260
}
12491261

12501262
bool MainWindow::readQSOFromUI()
12511263
{
12521264
logEvent(Q_FUNC_INFO, "Start", Debug);
12531265
//qDebug() << Q_FUNC_INFO << " - 010";
1254-
//qDebug() << Q_FUNC_INFO << " - CALL-01 : " << qso->getCall();
1266+
//qDebug() << Q_FUNC_INFO << " - CALL-01 : " << qsoInUI.getCall();
12551267

12561268
getQSODataFromUI();
12571269

1258-
if (!checkValidCallBeforeAddingToLog(qso->getCall()))
1270+
if (!checkValidCallBeforeAddingToLog(qsoInUI.getCall()))
12591271
{
12601272
//qDebug() << Q_FUNC_INFO << ": Not valid Call" ;
12611273
return false;
12621274
}
12631275

12641276
//qDebug() << Q_FUNC_INFO << " - 030";
1265-
QString tqrz = (qso->getCall());
1277+
QString tqrz = (qsoInUI.getCall());
12661278
//qDebug() << Q_FUNC_INFO << " - tqrz: " << tqrz;
12671279
//qDebug() << Q_FUNC_INFO << " - ARRLid: " << world->getQRZARRLId(tqrz);
1268-
//qDebug() << Q_FUNC_INFO << " - DXCC : " << qso->getDXCC();
1280+
//qDebug() << Q_FUNC_INFO << " - DXCC : " << qsoInUI.getDXCC();
12691281

1270-
int dxcc = checkDXCCBeforeAddingToLog(world->getQRZARRLId(tqrz), qso->getDXCC());
1282+
int dxcc = checkDXCCBeforeAddingToLog(world->getQRZARRLId(tqrz), qsoInUI.getDXCC());
12711283
//qDebug() << Q_FUNC_INFO << ": " << dxcc;
12721284
if (dxcc < 0)
12731285
{
12741286
return false;
12751287
}
12761288

1277-
qso->setDXCC (dxcc);
1289+
qsoInUI.setDXCC (dxcc);
12781290
//qDebug() << Q_FUNC_INFO << " - 040";
1279-
qso->setContinent (dataProxy->getContinentShortNameFromEntity(dxcc));
1280-
qso->setCQZone(infoWidget->getCQ());
1281-
qso->setItuZone(infoWidget->getITU());
1282-
qso->setMyCQZone(my_CQz);
1283-
qso->setMyITUZone(my_ITUz);
1284-
qso->setLogId (currentLog);
1291+
qsoInUI.setContinent (dataProxy->getContinentShortNameFromEntity(dxcc));
1292+
qsoInUI.setCQZone(infoWidget->getCQ());
1293+
qsoInUI.setItuZone(infoWidget->getITU());
1294+
qsoInUI.setMyCQZone(my_CQz);
1295+
qsoInUI.setMyITUZone(my_ITUz);
1296+
qsoInUI.setLogId (currentLog);
12851297
//qDebug() << Q_FUNC_INFO << " - 050";
12861298

1287-
if (qso->getDistance()<=0.0)
1288-
qso->setDistance (infoWidget->getDistance ());
1299+
if (qsoInUI.getDistance()<=0.0)
1300+
qsoInUI.setDistance (infoWidget->getDistance ());
12891301

12901302
keepSatPage = satTabWidget->getKeep();
12911303
//qDebug() << Q_FUNC_INFO << " - 060";
@@ -2165,7 +2177,7 @@ void MainWindow::slotClearButtonClicked(const QString &_func)
21652177
{
21662178
//qDebug() << Q_FUNC_INFO << " - 40" ;
21672179
clearUIDX(); // Clear the UI
2168-
qso->clear(); // Clear the QSO
2180+
qsoInUI.clear(); // Clear the QSO
21692181
statusBar()->clearMessage();
21702182
//qDebug() << Q_FUNC_INFO << ": NOT recovening the previous status...";
21712183
}
@@ -3216,7 +3228,7 @@ void MainWindow::slotSetupDialogFinished (const int _s)
32163228
//qDebug() << Q_FUNC_INFO << " - 019 - " << (QTime::currentTime()).toString ("HH:mm:ss");
32173229
}
32183230
//qDebug() << Q_FUNC_INFO << " - 020 - " << (QTime::currentTime()).toString ("HH:mm:ss");
3219-
if (qso->getBackup())
3231+
if (qsoInUI.getBackup())
32203232
{
32213233
//qDebug() << (QTime::currentTime()).toString ("HH:mm:ss") << Q_FUNC_INFO << " - 021 - ";
32223234
//qDebug() << Q_FUNC_INFO << ": Restoring..." ;
@@ -3225,7 +3237,7 @@ void MainWindow::slotSetupDialogFinished (const int _s)
32253237
}
32263238
else
32273239
{
3228-
//qDebug() << "MainWindow::slotSetupDialogFinished: NO Restoring qso->.." ;
3240+
//qDebug() << "MainWindow::slotSetupDialogFinished: NO Restoring qsoInUI..." ;
32293241
//qDebug()<< (QTime::currentTime()).toString ("HH:mm:ss") << Q_FUNC_INFO << " - 023 - ";
32303242
}
32313243
//qDebug() << (QTime::currentTime()).toString ("HH:mm:ss") << Q_FUNC_INFO << " - 030 - " ;
@@ -4395,28 +4407,25 @@ void MainWindow::sendQSOToUI(const QSO &_qso)
43954407

43964408
void MainWindow::qsoToEdit (const int _qso)
43974409
{
4398-
//qDebug() << Q_FUNC_INFO << QString::number(_qso) ;
4410+
4411+
qDebug() << Q_FUNC_INFO << QString::number(_qso) ;
43994412
logEvent(Q_FUNC_INFO, "Start", Debug);
4400-
//qDebug() << Q_FUNC_INFO << " - 000";
4413+
qDebug() << Q_FUNC_INFO << " - 000";
44014414
if (!modify)
44024415
{
44034416
backupCurrentQSO ();
44044417
//qDebug() << Q_FUNC_INFO << ": Callsign: " << backupQSO->getCall();
44054418
}
4406-
//qDebug() << Q_FUNC_INFO << " - 005";
4419+
qDebug() << Q_FUNC_INFO << " - 005";
44074420
clearUIDX(true);
44084421
readingTheUI = true;
44094422

44104423
setModifying(true);
44114424

4412-
//qDebug() << Q_FUNC_INFO << " - 010";
4425+
qDebug() << Q_FUNC_INFO << " - 010";
44134426
modifyingQSOid = _qso;
4414-
//modifyingQSO->clear();
4415-
//qDebug() << Q_FUNC_INFO << " - 012";
4416-
//modifyingQSO->fromDB(modifyingQSOid);
4417-
//qDebug() << Q_FUNC_INFO << " - 013";
44184427

4419-
//qDebug() << Q_FUNC_INFO << " - 051: MY_CITY: " << modifyingQSO->getMyCity();
4428+
qDebug() << Q_FUNC_INFO << " - 051 ";
44204429
if ((clublogActive) && (clublogRealTime))
44214430
{
44224431
clublogPrevQSO = dataProxy->getClubLogRealTimeFromId(modifyingQSOid);
@@ -4431,48 +4440,32 @@ void MainWindow::qsoToEdit (const int _qso)
44314440
satTabWidget->setFillingToEdit(true);
44324441
QSO qsoE;
44334442
qsoE.fromDB(modifyingQSOid);
4434-
//qDebug() << Q_FUNC_INFO << " - q: " << qsoE.getMyCity();
4435-
//modifyingQSO->copy(qsoE);
4436-
qso->copy(qsoE);
4443+
4444+
qsoInUI.copy(qsoE);
44374445
//qDebug() << Q_FUNC_INFO << " - m: " << modifyingQSO->getMyCity();
44384446
sendQSOToUI(qsoE);
44394447

4440-
//mainQSOEntryWidget->setQSOData(qsoE);
4441-
//commentTabWidget->setQSOData(qsoE);
4442-
//satTabWidget->setQSOData(qsoE);
4443-
//othersTabWidget->setQSOData(qsoE);
4444-
//QSLTabWidget->setQSOData(qsoE);
4445-
//eQSLTabWidget->setQSOData(qsoE);
4446-
//myDataTabWidget->setQSOData(qsoE);
4447-
//satTabWidget->setQSOData(qsoE);
4448-
//QSOTabWidget->setQSOData(qsoE);
4449-
44504448
QString currentQrz = qsoE.getCall();
44514449
currentEntity = world->getQRZARRLId(currentQrz);
44524450

4453-
//qDebug() << Q_FUNC_INFO << " - in default - 104: " << QString::number(currentEntity) ;
4454-
//othersTabWidget->setPropMode(modifyingQSO.getPropMode(), false);
4451+
44554452
currentEntity = qsoE.getDXCC();
44564453
infoLabel2->setText(world->getEntityName(currentEntity));
44574454
infoWidget->showEntityInfo(currentEntity);
4458-
//othersTabWidget->setEntity(currentEntity);
4459-
44604455

4461-
//qDebug() << Q_FUNC_INFO << " - in default - 101" ;
4456+
qDebug() << Q_FUNC_INFO << " - in default - 101" ;
44624457
EntityStatus _entityStatus;
44634458
_entityStatus.dxcc = currentEntity;
44644459
_entityStatus.bandId = currentBandShown;
44654460
_entityStatus.modeId = currentModeShown;
44664461
_entityStatus.logId = currentLog;
44674462

4468-
//qDebug() << Q_FUNC_INFO << " - in default - 104" ;
4469-
//qDebug() << Q_FUNC_INFO << " - calling showStatusOfDXCC-05 " ;
4463+
qDebug() << Q_FUNC_INFO << " - in default - 104" ;
44704464
showStatusOfDXCC(_entityStatus);
44714465

4472-
//qDebug() << Q_FUNC_INFO << " - in default - END" ;
44734466
readingTheUI = false;
44744467
satTabWidget->setFillingToEdit(false);
4475-
//qDebug() << Q_FUNC_INFO << " - 050: MY_CITY2: " << qso->getMyCity();
4468+
qDebug() << Q_FUNC_INFO << " - END" ;
44764469
logEvent(Q_FUNC_INFO, "END", Debug);
44774470
}
44784471

@@ -5009,16 +5002,16 @@ void MainWindow::slotAnalyzeDxClusterSignal(const DXSpot &_spot)
50095002

50105003
int statusI = awards.getDXStatus (_entityStatus);
50115004

5012-
proposedQSOs pQSO;
5005+
//proposedQSOs pQSO;
50135006

50145007

5015-
pQSO.status = awards.getQSOStatus(statusI);
5016-
Callsign callsign(spot.getDxCall());
5017-
if (callsign.isValid())
5018-
{
5019-
pQSO.call = spot.getDxCall();
5020-
dxClusterAssistant->newDXClusterSpot(pQSO);
5021-
}
5008+
//pQSO.status = awards.getQSOStatus(statusI);
5009+
//Callsign callsign(spot.getDxCall());
5010+
//if (callsign.isValid())
5011+
//{
5012+
// pQSO.call = spot.getDxCall();
5013+
// dxClusterAssistant->newDXClusterSpot(pQSO);
5014+
//}
50225015

50235016
logEvent(Q_FUNC_INFO, "END", Debug);
50245017
}
@@ -5033,19 +5026,19 @@ void MainWindow::slotDXClusterSpotArrived(const DXSpot &_spot)
50335026
if (!sp.isValid())
50345027
return;
50355028
Callsign callsign(sp.getDxCall());
5036-
if (callsign.isValid())
5037-
{
5038-
proposedQSOs pQSO;
5039-
pQSO.call = sp.getDxCall();
5040-
pQSO.status = ATNO;
5041-
pQSO.freq = sp.getFrequency();
5042-
dxClusterAssistant->newDXClusterSpot(pQSO);
5029+
//if (callsign.isValid())
5030+
//{
5031+
// proposedQSOs pQSO;
5032+
// pQSO.call = sp.getDxCall();
5033+
// pQSO.status = ATNO;
5034+
// pQSO.freq = sp.getFrequency();
5035+
// dxClusterAssistant->newDXClusterSpot(pQSO);
50435036
//qDebug() << Q_FUNC_INFO << ": DXCall not valid: " << pQSO.call;
5044-
}
5045-
else
5046-
{
5037+
//}
5038+
//else
5039+
//{
50475040
//qDebug() << Q_FUNC_INFO << ": DXCall not valid: " << sp.getDxCall();
5048-
}
5041+
//}
50495042

50505043

50515044
if (!dxclusterSendSpotsToMap)
@@ -5859,10 +5852,11 @@ void MainWindow::slotManualMode(bool _enable)
58595852

58605853
void MainWindow::backupCurrentQSO()
58615854
{ // This function reads the full UI and stores it in a QSO
5855+
qDebug() << Q_FUNC_INFO << " - Start" ;
58625856
logEvent(Q_FUNC_INFO, "Start", Debug);
58635857
backupQSO->clear();
58645858
getQSODataFromUI();
5865-
backupQSO->copy(qso);
5859+
backupQSO->copy(qsoInUI);
58665860
backupQSO->setBackup (true);
58675861
backupQSO->setModifying (mainQSOEntryWidget->getModifying());
58685862
backupQSO->setRealTime (mainQSOEntryWidget->getRealTime());
@@ -5873,8 +5867,9 @@ void MainWindow::backupCurrentQSO()
58735867
backupQSO->setKeepOthers (othersTabWidget->getKeep ());
58745868
backupQSO->setKeepMyData (myDataTabWidget->getKeep ());
58755869
backupQSO->setKeepSatTab (satTabWidget->getKeep ());
5876-
//qDebug() << Q_FUNC_INFO << ": Callsign: " << backupQSO->getCall();
5870+
qDebug() << Q_FUNC_INFO << ": Callsign: " << backupQSO->getCall();
58775871
logEvent(Q_FUNC_INFO, "END", Debug);
5872+
qDebug() << Q_FUNC_INFO << " - END" ;
58785873
//qDebug() << Q_FUNC_INFO << ": Realtime: " << util->boolToQString (backupQSO->getRealTime ());
58795874
}
58805875

@@ -6010,7 +6005,7 @@ void MainWindow::setLogLevel(const DebugLogLevel _sev)
60106005
dataProxy->setLogLevel(logLevel);
60116006
mainQSOEntryWidget->setLogLevel(logLevel);
60126007
util->setLogLevel(logLevel);
6013-
qso->setLogLevel(logLevel);
6008+
qsoInUI.setLogLevel(logLevel);
60146009
othersTabWidget->setLogLevel(logLevel);
60156010
logEvent(Q_FUNC_INFO, "END", Debug);
60166011
}

src/mainwindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,7 @@ private slots:
369369
HamLibClass *hamlib;
370370
QSO *qso; // QSO that is being managed in one specific moment
371371
QSO *backupQSO; // QSO that has been backed up to send another QSO to the UI
372+
QSO qsoInUI; // The QSO tat is shown in the UI for a given time
372373
//QSO *modifyingQSO;
373374

374375
bool hamlibActive;

0 commit comments

Comments
 (0)