diff --git a/.gitignore b/.gitignore index 02e0b194..44f97cd5 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,167 @@ tests/tst_mainwindow/moc_*.cpp *.exe *.idx .qtc_clangd/compile_commands.json +Makefile +tests/tst_adif/moc_adif.cpp +tests/tst_adif/moc_wrapper.sh +tests/tst_adif/rcc_wrapper.sh +tests/tst_adif/target_wrapper.sh +tests/tst_adif/tst_adif +tests/tst_adif/uic_wrapper.sh +tests/tst_database/moc_adif.cpp +tests/tst_database/moc_database.cpp +tests/tst_database/moc_dataproxy_sqlite.cpp +tests/tst_database/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_database/moc_qso.cpp +tests/tst_database/moc_queryexecutor.cpp +tests/tst_database/moc_utilities.cpp +tests/tst_database/moc_world.cpp +tests/tst_database/moc_wrapper.sh +tests/tst_database/rcc_wrapper.sh +tests/tst_database/target_wrapper.sh +tests/tst_database/tst_database +tests/tst_database/tst_database.cpp +tests/tst_database/uic_wrapper.sh +tests/tst_dataproxy/moc_adif.cpp +tests/tst_dataproxy/moc_database.cpp +tests/tst_dataproxy/moc_dataproxy_sqlite.cpp +tests/tst_dataproxy/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_dataproxy/moc_qso.cpp +tests/tst_dataproxy/moc_queryexecutor.cpp +tests/tst_dataproxy/moc_utilities.cpp +tests/tst_dataproxy/moc_wrapper.sh +tests/tst_dataproxy/rcc_wrapper.sh +tests/tst_dataproxy/target_wrapper.sh +tests/tst_dataproxy/tst_dataproxy +tests/tst_dataproxy/uic_wrapper.sh +tests/tst_dxspot/moc_dxspot.cpp +tests/tst_dxspot/moc_frequency.cpp +tests/tst_dxspot/moc_wrapper.sh +tests/tst_dxspot/rcc_wrapper.sh +tests/tst_dxspot/target_wrapper.sh +tests/tst_dxspot/tst_dxspot +tests/tst_frequency/moc_frequency.cpp +tests/tst_frequency/moc_wrapper.sh +tests/tst_frequency/rcc_wrapper.sh +tests/tst_frequency/target_wrapper.sh +tests/tst_frequency/tst_frequency +tests/tst_locator/moc_wrapper.sh +tests/tst_locator/rcc_wrapper.sh +tests/tst_locator/target_wrapper.sh +tests/tst_locator/tst_locator +tests/tst_locator/uic_wrapper.sh +tests/tst_main/moc_wrapper.sh +tests/tst_main/rcc_wrapper.sh +tests/tst_main/target_wrapper.sh +tests/tst_main/uic_wrapper.sh +tests/tst_mainqsoentrywidget/moc_adif.cpp +tests/tst_mainqsoentrywidget/moc_database.cpp +tests/tst_mainqsoentrywidget/moc_dataproxy_sqlite.cpp +tests/tst_mainqsoentrywidget/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_mainqsoentrywidget/moc_mainqsoentrywidget.cpp +tests/tst_mainqsoentrywidget/moc_qso.cpp +tests/tst_mainqsoentrywidget/moc_queryexecutor.cpp +tests/tst_mainqsoentrywidget/moc_utilities.cpp +tests/tst_mainqsoentrywidget/moc_wrapper.sh +tests/tst_mainqsoentrywidget/rcc_wrapper.sh +tests/tst_mainqsoentrywidget/target_wrapper.sh +tests/tst_mainqsoentrywidget/tst_mainqsoentrywidget +tests/tst_mainqsoentrywidget/uic_wrapper.sh +tests/tst_mainwindow/moc_wrapper.sh +tests/tst_mainwindow/qrc_klog.cpp +tests/tst_mainwindow/rcc_wrapper.sh +tests/tst_mainwindow/tst_mainwindow +tests/tst_mainwindow/uic_wrapper.sh +tests/tst_mainwindowinputqso/moc_adif.cpp +tests/tst_mainwindowinputqso/moc_database.cpp +tests/tst_mainwindowinputqso/moc_dataproxy_sqlite.cpp +tests/tst_mainwindowinputqso/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_mainwindowinputqso/moc_mainwindowinputqso.cpp +tests/tst_mainwindowinputqso/moc_qso.cpp +tests/tst_mainwindowinputqso/moc_queryexecutor.cpp +tests/tst_mainwindowinputqso/moc_utilities.cpp +tests/tst_mainwindowinputqso/moc_wrapper.sh +tests/tst_mainwindowinputqso/rcc_wrapper.sh +tests/tst_mainwindowinputqso/target_wrapper.sh +tests/tst_mainwindowinputqso/tst_mainwindowinputqso +tests/tst_mainwindowinputqso/uic_wrapper.sh +tests/tst_mainwindowsattab/moc_adif.cpp +tests/tst_mainwindowsattab/moc_database.cpp +tests/tst_mainwindowsattab/moc_dataproxy_sqlite.cpp +tests/tst_mainwindowsattab/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_mainwindowsattab/moc_mainwindowsattab.cpp +tests/tst_mainwindowsattab/moc_qso.cpp +tests/tst_mainwindowsattab/moc_queryexecutor.cpp +tests/tst_mainwindowsattab/moc_utilities.cpp +tests/tst_mainwindowsattab/moc_wrapper.sh +tests/tst_mainwindowsattab/rcc_wrapper.sh +tests/tst_mainwindowsattab/target_wrapper.sh +tests/tst_mainwindowsattab/tst_mainwindowsattab +tests/tst_mainwindowsattab/uic_wrapper.sh +tests/tst_qso/moc_adif.cpp +tests/tst_qso/moc_qso.cpp +tests/tst_qso/moc_utilities.cpp +tests/tst_qso/moc_wrapper.sh +tests/tst_qso/rcc_wrapper.sh +tests/tst_qso/target_wrapper.sh +tests/tst_qso/tst_qso +tests/tst_qso/uic_wrapper.sh +tests/tst_setuphamlibnetworkwidget/moc_hamlibnetworkconfigwidget.cpp +tests/tst_setuphamlibnetworkwidget/moc_wrapper.sh +tests/tst_setuphamlibnetworkwidget/rcc_wrapper.sh +tests/tst_setuphamlibnetworkwidget/target_wrapper.sh +tests/tst_setuphamlibnetworkwidget/tst_setuphamlibnetworkwidget +tests/tst_setuphamlibnetworkwidget/uic_wrapper.sh +tests/tst_setuphamlibserialwidget/moc_hamlibserialconfigwidget.cpp +tests/tst_setuphamlibserialwidget/moc_wrapper.sh +tests/tst_setuphamlibserialwidget/rcc_wrapper.sh +tests/tst_setuphamlibserialwidget/target_wrapper.sh +tests/tst_setuphamlibserialwidget/tst_setuphamlibserialwidget +tests/tst_setuphamlibserialwidget/uic_wrapper.sh +tests/tst_setuppageelog/moc_adif.cpp +tests/tst_setuppageelog/moc_database.cpp +tests/tst_setuppageelog/moc_dataproxy_sqlite.cpp +tests/tst_setuppageelog/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_setuppageelog/moc_qso.cpp +tests/tst_setuppageelog/moc_queryexecutor.cpp +tests/tst_setuppageelog/moc_setuppageelog.cpp +tests/tst_setuppageelog/moc_utilities.cpp +tests/tst_setuppageelog/moc_wrapper.sh +tests/tst_setuppageelog/rcc_wrapper.sh +tests/tst_setuppageelog/target_wrapper.sh +tests/tst_setuppageelog/tst_setuppageelog +tests/tst_setuppageelog/uic_wrapper.sh +tests/tst_utilities/moc_adif.cpp +tests/tst_utilities/moc_database.cpp +tests/tst_utilities/moc_dataproxy_sqlite.cpp +tests/tst_utilities/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_utilities/moc_qso.cpp +tests/tst_utilities/moc_queryexecutor.cpp +tests/tst_utilities/moc_utilities.cpp +tests/tst_utilities/moc_wrapper.sh +tests/tst_utilities/rcc_wrapper.sh +tests/tst_utilities/target_wrapper.sh +tests/tst_utilities/tst_utilities +tests/tst_utilities/uic_wrapper.sh +tests/tst_wizard/moc_adif.cpp +tests/tst_wizard/moc_downloadcty.cpp +tests/tst_wizard/moc_startwizard.cpp +tests/tst_wizard/moc_utilities.cpp +tests/tst_wizard/moc_wrapper.sh +tests/tst_wizard/rcc_wrapper.sh +tests/tst_wizard/target_wrapper.sh +tests/tst_wizard/tst_wizard +tests/tst_wizard/uic_wrapper.sh +tests/tst_world/moc_adif.cpp +tests/tst_world/moc_database.cpp +tests/tst_world/moc_dataproxy_sqlite.cpp +tests/tst_world/moc_db_adif_primary_subdvisions_data.cpp +tests/tst_world/moc_qso.cpp +tests/tst_world/moc_queryexecutor.cpp +tests/tst_world/moc_utilities.cpp +tests/tst_world/moc_world.cpp +tests/tst_world/moc_wrapper.sh +tests/tst_world/rcc_wrapper.sh +tests/tst_world/target_wrapper.sh +tests/tst_world/tst_world +tests/tst_world/uic_wrapper.sh diff --git a/src/adif.cpp b/src/adif.cpp index c24a1787..cebed05f 100644 --- a/src/adif.cpp +++ b/src/adif.cpp @@ -231,6 +231,18 @@ void Adif::setSponsorsList() sponsorsList = psponsorsList; } +bool Adif::isValidMode (const QString &_s) +{ + return modes.contains(_s); +} + +void Adif::setModes(const QStringList &_modes) +{ // TODO: Add here the list/table of modes to feed DB creation and/or to prevent depending on external sources + // from this class + modes.clear(); + modes << _modes; +} + bool Adif::isValidFreq(const QString &_b) { //qDebug() << Q_FUNC_INFO << ": freq: " << _b; diff --git a/src/adif.h b/src/adif.h index 278286ad..9f68a1cc 100644 --- a/src/adif.h +++ b/src/adif.h @@ -72,6 +72,7 @@ class Adif : public QObject { bool isValidTenTen(const QString &_b); //>0 bool isValidLogId(const QString &_b); //>0 bool isValidAntPath(const QString &_s); + bool isValidMode (const QString &_s); bool isValidQSO_COMPLETE(const QString &_s); // "Y", "N", "NIL", "?" QString getQSO_COMPLETEFromDB(const QString &_s); // Translates the DB value into an ADIF value bool isValidPOTA(const QString &_s); // TODO @@ -80,6 +81,7 @@ class Adif : public QObject { void setLogLevel(DebugLogLevel _l); QString getADIFField(const QString &_fieldName, const QString &_data); QString getADIFBoolFromBool(const bool _b); // Will produce the ADIF format if a bool is received + void setModes(const QStringList &_modes); //TODO: Do not depend on external source to fill signals: void debugLog (QString _func, QString _msg, DebugLogLevel _level); @@ -91,13 +93,14 @@ class Adif : public QObject { void setContinents(); void setSponsorsList(); + bool isValidCall(const QString &_c); QString parentName; DebugLogLevel logLevel; QHash ADIFHash; // Name, type - QStringList ARRL_sects, continents, sponsorsList; + QStringList ARRL_sects, continents, sponsorsList, modes; }; #endif // ADIF_H diff --git a/src/database.cpp b/src/database.cpp index bc696cee..3820945e 100644 --- a/src/database.cpp +++ b/src/database.cpp @@ -1078,7 +1078,7 @@ int DataBase::getBandIdFromName(const QString &b) //qDebug() << Q_FUNC_INFO << ": " << b ; QString band = b.toUpper(); - QString queryString = QString("SELECT id FROM band WHERE name=:band"); + QString queryString = QString("SELECT id FROM band WHERE name= :band"); QSqlQuery query; query.prepare(queryString); query.bindValue(":band", b); @@ -1104,7 +1104,7 @@ int DataBase::getModeIdFromName(const QString &b) //qDebug() << Q_FUNC_INFO << ": " << b ; QString band = b.toUpper(); - QString queryString = QString("SELECT id FROM mode WHERE name=:mode"); + QString queryString = QString("SELECT id FROM mode WHERE name= :mode"); QSqlQuery query; query.prepare(queryString); query.bindValue(":mode", b); @@ -1129,7 +1129,7 @@ int DataBase::getModeIdFromSubMode(const QString &b) //qDebug() << Q_FUNC_INFO << ": " << b ; QString band = b.toUpper(); - QString queryString = QString("SELECT id FROM mode WHERE submode=:submode"); + QString queryString = QString("SELECT id FROM mode WHERE submode= :submode"); QSqlQuery query; query.prepare(queryString); query.bindValue(":submode", b); @@ -1355,7 +1355,7 @@ bool DataBase::isValidMode (const QString &b, const bool _tmp) if (!_tmp) return (getModeIdFromSubMode(b)>0); - QString stringQuery = QString("SELECT id FROM modetemp WHERE submode=:submode"); + QString stringQuery = QString("SELECT id FROM modetemp WHERE submode= :submode"); QSqlQuery query; query.bindValue(":submode", b); query.prepare(stringQuery); @@ -2582,10 +2582,10 @@ bool DataBase::populateTableMode(const bool NoTmp) execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('DSTAR', 'DIGITALVOICE', 'NO', '0')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('FREEDV', 'DIGITALVOICE', 'NO', '0')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('M17', 'DIGITALVOICE', 'NO', '0')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA HF', 'DYNAMIC', 'NO', '0')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA SATELLITE', 'DYNAMIC', 'NO', '0')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA FM 1200', 'DYNAMIC', 'NO', '0')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA FM 9600', 'DYNAMIC', 'NO', '0')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA HF', 'DYNAMIC', 'NO', '0')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA SATELLITE', 'DYNAMIC', 'NO', '0')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA FM 1200', 'DYNAMIC', 'NO', '0')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('VARA FM 9600', 'DYNAMIC', 'NO', '0')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('DOMINO', 'DOMINO', 'NO', '0')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('DOMINOEX', 'DOMINO', 'NO', '0')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('DOMINOF', 'DOMINO', 'NO', '1')").arg(tableName)); diff --git a/src/database/db_adif_primary_subdvisions_data.cpp b/src/database/db_adif_primary_subdvisions_data.cpp index 147da202..77551193 100644 --- a/src/database/db_adif_primary_subdvisions_data.cpp +++ b/src/database/db_adif_primary_subdvisions_data.cpp @@ -29,52 +29,52 @@ bool DB_ADIF_Primary_Subdvisions_data::addData() "FOREIGN KEY (dxcc) REFERENCES entity (dxcc) )"); */ - qDebug() << Q_FUNC_INFO << " - Checking if DB exists"; + //qDebug() << Q_FUNC_INFO << " - Checking if DB exists"; if (!isDBCreated()) return false; - qDebug() << Q_FUNC_INFO << " - Adding 1"; + //qDebug() << Q_FUNC_INFO << " - Adding 1"; if (!add_Canada_1()) // Adds the data for Canada return false; - qDebug() << Q_FUNC_INFO << " - Adding 6"; + //qDebug() << Q_FUNC_INFO << " - Adding 6"; if (!add_USA_6()) // Adds the data for Alaska return false; - qDebug() << Q_FUNC_INFO << " - Adding 21"; + //qDebug() << Q_FUNC_INFO << " - Adding 21"; if (!add_EA6_21()) // Adds the data for Balearic Is return false; - qDebug() << Q_FUNC_INFO << " - Adding 29"; + //qDebug() << Q_FUNC_INFO << " - Adding 29"; if (!add_EA8_29()) // Adds the data for Canary Is return false; - qDebug() << Q_FUNC_INFO << " - Adding 32"; + //qDebug() << Q_FUNC_INFO << " - Adding 32"; if (!add_EA9_32()) // Adds the data for Ceuta y Melilla return false; - qDebug() << Q_FUNC_INFO << " - Adding 50"; + //qDebug() << Q_FUNC_INFO << " - Adding 50"; if (!add_Mexico_50()) // Adds the data for Mexico return false; - qDebug() << Q_FUNC_INFO << " - Adding 100"; + //qDebug() << Q_FUNC_INFO << " - Adding 100"; if (!add_Argentina_100()) // Adds the data for Argentina return false; - qDebug() << Q_FUNC_INFO << " - Adding 108"; + //qDebug() << Q_FUNC_INFO << " - Adding 108"; if (!add_Brazil_108()) // Adds the data for Brazil return false; - qDebug() << Q_FUNC_INFO << " - Adding 110"; + //qDebug() << Q_FUNC_INFO << " - Adding 110"; if (!add_USA_110()) // Adds the data for Hawaii return false; - qDebug() << Q_FUNC_INFO << " - Adding 149"; + //qDebug() << Q_FUNC_INFO << " - Adding 149"; if (!add_CT_149()) // Adds the data for Azores return false; - qDebug() << Q_FUNC_INFO << " - Adding 256"; + //qDebug() << Q_FUNC_INFO << " - Adding 256"; if (!add_CT_256()) // Adds the data for Madeira return false; - qDebug() << Q_FUNC_INFO << " - Adding 272"; + //qDebug() << Q_FUNC_INFO << " - Adding 272"; if (!add_CT_272()) // Adds the data for Portugal return false; - qDebug() << Q_FUNC_INFO << " - Adding 281"; + //qDebug() << Q_FUNC_INFO << " - Adding 281"; if (!add_EA_281()) // Adds the data for Spain return false; - qDebug() << Q_FUNC_INFO << " - Adding 291"; + //qDebug() << Q_FUNC_INFO << " - Adding 291"; if (!add_USA_291()) // Adds the data for United States of America return false; - qDebug() << Q_FUNC_INFO << " - Adding 339"; + //qDebug() << Q_FUNC_INFO << " - Adding 339"; if (!add_Japan_339()) // Adds the data for Japan return false; diff --git a/src/database/queryexecutor.cpp b/src/database/queryexecutor.cpp index e41225ec..e1c20c40 100644 --- a/src/database/queryexecutor.cpp +++ b/src/database/queryexecutor.cpp @@ -3,7 +3,7 @@ QueryExecutor::QueryExecutor(const QString &_parentClass) { Q_UNUSED(_parentClass); - qDebug() << Q_FUNC_INFO << _parentClass ; + //qDebug() << Q_FUNC_INFO << _parentClass ; } void QueryExecutor::queryErrorManagement(const QString &_functionFailed, const QString &errorCodeS, const QString &_nativeError, const QString &_failedQuery) @@ -12,15 +12,15 @@ void QueryExecutor::queryErrorManagement(const QString &_functionFailed, const Q Q_UNUSED(errorCodeS); Q_UNUSED(_nativeError); Q_UNUSED(_failedQuery); - qDebug() << Q_FUNC_INFO << ": Function : " << _functionFailed ; - qDebug() << Q_FUNC_INFO << ": Native : " << _nativeError ; - qDebug() << Q_FUNC_INFO << ": Error : " << _functionFailed << errorCodeS ; - qDebug() << Q_FUNC_INFO << ": Query failed: " << _failedQuery ; + //qDebug() << Q_FUNC_INFO << ": Function : " << _functionFailed ; + //qDebug() << Q_FUNC_INFO << ": Native : " << _nativeError ; + //qDebug() << Q_FUNC_INFO << ": Error : " << _functionFailed << errorCodeS ; + //qDebug() << Q_FUNC_INFO << ": Query failed: " << _failedQuery ; } bool QueryExecutor::execQuery(const QString &function, const QString &stringQuery) { - qDebug() << Q_FUNC_INFO << " " << function << " : " << stringQuery ; + //qDebug() << Q_FUNC_INFO << " " << function << " : " << stringQuery ; QSqlQuery query; query.prepare(stringQuery); bool ok = query.exec(stringQuery); diff --git a/src/dataproxy_sqlite.cpp b/src/dataproxy_sqlite.cpp index bdcadd75..89d0f3b5 100644 --- a/src/dataproxy_sqlite.cpp +++ b/src/dataproxy_sqlite.cpp @@ -81,14 +81,14 @@ int DataProxy_SQLite::getHowManyQSOPerPropMode(const QString &_p, const int _log if (_logn < 0) { - queryString = "SELECT COUNT(DISTINCT id) FROM log WHERE prop_mode=:prop_mode"; + queryString = "SELECT COUNT(DISTINCT id) FROM log WHERE prop_mode= :prop_mode"; if (!query.prepare(queryString)) {return 0;} query.bindValue(":prop_mode", _p); } else { - queryString = "SELECT COUNT(DISTINCT id) FROM log WHERE lognumber=:lognumber AND prop_mode=:prop_mode"; + queryString = "SELECT COUNT(DISTINCT id) FROM log WHERE lognumber= :lognumber AND prop_mode= :prop_mode"; if (!query.prepare(queryString)) {return 0;} query.bindValue(":lognumber", _logn); @@ -498,7 +498,7 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) return -1.0; } - QString queryString = QString("SELECT lower FROM band WHERE name=:sm OR name=:name"); + QString queryString = QString("SELECT lower FROM band WHERE name= :sm OR name= :name"); QSqlQuery query; query.prepare(queryString); query.bindValue(":sm", _sm); @@ -547,7 +547,7 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) double DataProxy_SQLite::getLowLimitBandFromBandId(const int _sm) { //qDebug() << Q_FUNC_INFO << " - Start"; - QString queryString = QString("SELECT lower FROM band WHERE id=:sm"); + QString queryString = QString("SELECT lower FROM band WHERE id= :sm"); QSqlQuery query; query.prepare(queryString); query.bindValue(":sm", _sm); @@ -699,6 +699,7 @@ QStringList DataProxy_SQLite::getBandNames() QStringList DataProxy_SQLite::getModes() { QStringList modes = QStringList(); + QSqlQuery query("SELECT submode FROM mode ORDER BY submode"); while (query.next()) { @@ -6443,11 +6444,11 @@ int DataProxy_SQLite::getDXCCInBand(const int _bandid, const bool _confirmed, co QSqlQuery query; if (_log < 0) { - queryString = QString("SELECT COUNT (DISTINCT dxcc) from log where band.id=:bandid AND (qsl_rcvd=:confirmed OR lotw_qsl_rcvd=:confirmed)"); + queryString = QString("SELECT COUNT (DISTINCT dxcc) from log where band.id= :bandid AND (qsl_rcvd= :confirmed OR lotw_qsl_rcvd= :confirmed)"); } else { - queryString = QString("SELECT COUNT (DISTINCT dxcc) from log where band.id=:bandid AND log.id=:log AND (qsl_rcvd=:confirmed OR lotw_qsl_rcvd=:confirmed)"); + queryString = QString("SELECT COUNT (DISTINCT dxcc) from log where band.id= :bandid AND log.id= :log AND (qsl_rcvd= :confirmed OR lotw_qsl_rcvd= :confirmed)"); } if (!query.prepare (queryString)) { diff --git a/src/dataproxy_sqlite.h b/src/dataproxy_sqlite.h index 3ad3ca6a..3efcd891 100644 --- a/src/dataproxy_sqlite.h +++ b/src/dataproxy_sqlite.h @@ -71,7 +71,7 @@ class DataProxy_SQLite : public QObject void setCallValidation(const bool _v); QStringList getFields(); KLOG_DEPRECATED QStringList getBands(); - QStringList getModes(); + QStringList getModes(); // Returns the list of submodes QStringList sortBandNamesBottonUp(const QStringList _qs); QStringList getBandIDs(); QStringList getModesIDs(); diff --git a/src/dxccstatuswidget.cpp b/src/dxccstatuswidget.cpp index adfe2083..f5c9b8c1 100644 --- a/src/dxccstatuswidget.cpp +++ b/src/dxccstatuswidget.cpp @@ -495,9 +495,9 @@ void DXCCStatusWidget::setBands(const QString &_callingFunc, QStringList const & Utilities util(Q_FUNC_INFO); if (util.areThoseListsTheSame(bandNames, _listOfNewBands)) { return; - qDebug() << Q_FUNC_INFO << " - Bands are the same"; + //qDebug() << Q_FUNC_INFO << " - Bands are the same"; } - qDebug() << Q_FUNC_INFO << " - Bands are NOT the same"; + //qDebug() << Q_FUNC_INFO << " - Bands are NOT the same"; diff --git a/src/dxcluster/dxcluster.cpp b/src/dxcluster/dxcluster.cpp index f2c02aaa..d5a43dde 100644 --- a/src/dxcluster/dxcluster.cpp +++ b/src/dxcluster/dxcluster.cpp @@ -423,7 +423,7 @@ void DXClusterWidget::slotClusterSocketConnected() // dxClusterSpotItem * item = new dxClusterSpotItem(dxclusterListWidget, i18n("Connected to server"), awards->getDefaultColor()); dxClusterConnected = true; inputCommand->setFocus(Qt::OtherFocusReason); - qDebug() << Q_FUNC_INFO << " - myQRZ: " << myQrz; + //qDebug() << Q_FUNC_INFO << " - myQRZ: " << myQrz; if (( dxClusterConnected ) && (!dxClusterAlreadyConnected) ){ bool ok; QString callsignText; diff --git a/src/inputwidgets/mainwindowinputothers.cpp b/src/inputwidgets/mainwindowinputothers.cpp index 873ff8b2..6ca98163 100644 --- a/src/inputwidgets/mainwindowinputothers.cpp +++ b/src/inputwidgets/mainwindowinputothers.cpp @@ -710,13 +710,13 @@ bool MainWindowInputOthers::setInitialADIFValues() bool MainWindowInputOthers::setState(const QString &_op) { // Sets a subdivision/State - qDebug() << Q_FUNC_INFO << ": " << _op; + //qDebug() << Q_FUNC_INFO << ": " << _op; if (_op.length()<1) return false; int indexC = entityPrimDivComboBox->findText(QString("%1-").arg(_op), Qt::MatchStartsWith); - qDebug() << Q_FUNC_INFO << _op << "/" << QString::number(indexC) << " / (6): " << entityPrimDivComboBox->itemText(6); + //qDebug() << Q_FUNC_INFO << _op << "/" << QString::number(indexC) << " / (6): " << entityPrimDivComboBox->itemText(6); if (indexC<0) return false; @@ -726,7 +726,7 @@ bool MainWindowInputOthers::setState(const QString &_op) QString MainWindowInputOthers::getState() {// Reads the subdivision. It return just the shortname/code for the subdivision/State - qDebug() << Q_FUNC_INFO << ": " << ((entityPrimDivComboBox->currentText()).split("-")).at(0); + //qDebug() << Q_FUNC_INFO << ": " << ((entityPrimDivComboBox->currentText()).split("-")).at(0); QString aux = entityPrimDivComboBox->currentText(); if ((aux.startsWith("00-")) && (aux.endsWith("(000)")) ) @@ -770,7 +770,7 @@ void MainWindowInputOthers::updatePrimarySubDivisions(const int _n, const QStrin //qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_n) << "/" << _qrz; currentPref = _qrz; QString currentPrefTMP = util->getPrefixFromCall(_qrz, !showAllCheckBox->isChecked()); - qDebug() << Q_FUNC_INFO << " - currentPref: " << QString::number(_n) << "/" << currentPrefTMP; + //qDebug() << Q_FUNC_INFO << " - currentPref: " << QString::number(_n) << "/" << currentPrefTMP; if (_n<1) return; currentInt = _n; @@ -783,7 +783,7 @@ void MainWindowInputOthers::updatePrimarySubDivisions(const int _n, const QStrin subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, currentPrefTMP)); if (subdivisions.isEmpty()) { - qDebug() << Q_FUNC_INFO << " - Subdivisions is empty, running just with the entity"; + //qDebug() << Q_FUNC_INFO << " - Subdivisions is empty, running just with the entity"; subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, QString())); } diff --git a/src/main.cpp b/src/main.cpp index 6ba58f57..c20a476c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -307,7 +307,7 @@ int main(int argc, char *argv[]) //qDebug() << Q_FUNC_INFO << " - Setting config file: " << (QTime::currentTime()).toString("HH:mm:ss") ; QPixmap pixmap(":img/klog_512x512.png"); - qDebug() << Q_FUNC_INFO << " - 51" << (QTime::currentTime()).toString("HH:mm:ss"); + //qDebug() << Q_FUNC_INFO << " - 51" << (QTime::currentTime()).toString("HH:mm:ss"); QSplashScreen splash(pixmap); // If the KLog configuration file does not exist, we launch the wizard. @@ -320,30 +320,30 @@ int main(int argc, char *argv[]) } else { // KLog configuration file exists, let's look for the DB - qDebug() << Q_FUNC_INFO << " - Start of DB Activities" << (QTime::currentTime()).toString("HH:mm:ss"); + //qDebug() << Q_FUNC_INFO << " - Start of DB Activities" << (QTime::currentTime()).toString("HH:mm:ss"); DataBase *db = new DataBase(Q_FUNC_INFO, version, util.getKLogDBFile()); - qDebug() << Q_FUNC_INFO << " - After Start of DB Activities"; + //qDebug() << Q_FUNC_INFO << " - After Start of DB Activities"; if (!db->createConnection(Q_FUNC_INFO)) { - qDebug() << Q_FUNC_INFO << " - Conection not created"; + //qDebug() << Q_FUNC_INFO << " - Conection not created"; return showNoDB(); //return -1; // Exits with an error; no DB has been created } else { - qDebug() << Q_FUNC_INFO << " - DB to be updated"; + //qDebug() << Q_FUNC_INFO << " - DB to be updated"; if (!db->updateIfNeeded()) // Check if we need to update the DB { - qDebug() << Q_FUNC_INFO << " - DB NOT Updated"; + //qDebug() << Q_FUNC_INFO << " - DB NOT Updated"; } - qDebug() << Q_FUNC_INFO << " - DB Updated"; + //qDebug() << Q_FUNC_INFO << " - DB Updated"; } - qDebug() << Q_FUNC_INFO << " - 98" << (QTime::currentTime()).toString("HH:mm:ss"); + //qDebug() << Q_FUNC_INFO << " - 98" << (QTime::currentTime()).toString("HH:mm:ss"); db->~DataBase(); - qDebug() << Q_FUNC_INFO << " - 99" << (QTime::currentTime()).toString("HH:mm:ss"); + //qDebug() << Q_FUNC_INFO << " - 99" << (QTime::currentTime()).toString("HH:mm:ss"); } - qDebug() << Q_FUNC_INFO << " - 100 " << (QTime::currentTime()).toString("HH:mm:ss"); + //qDebug() << Q_FUNC_INFO << " - 100 " << (QTime::currentTime()).toString("HH:mm:ss"); splash.show(); //qDebug() << Q_FUNC_INFO << " - 101 " << (QTime::currentTime()).toString("HH:mm:ss"); splash.showMessage ("Creating window..."); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1d9332dd..886e44fb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -5740,27 +5740,40 @@ void MainWindow::slotQSOReceived(const QSO &_qso) if (!wsjtxAutoLog) if (!askToAddQSOReceived(_qso)) return; - QSO q(_qso); + qDebug() << Q_FUNC_INFO << "010"; + QSO q; + qDebug() << Q_FUNC_INFO << "020"; + q.copy(_qso); + qDebug() << Q_FUNC_INFO << "030"; + + qDebug() << Q_FUNC_INFO << "Mode: " << q.getMode(); int dxcc = world->getQRZARRLId(q.getCall()); + qDebug() << Q_FUNC_INFO << "040"; dxcc = util->getNormalizedDXCCValue (dxcc); + qDebug() << Q_FUNC_INFO << "050"; q.setDXCC(dxcc); + qDebug() << Q_FUNC_INFO << "060"; if (!showWSJTXDuplicatedMSG(q)) return; - + qDebug() << Q_FUNC_INFO << "070"; int addedQSO = q.toDB(); + qDebug() << Q_FUNC_INFO << "080"; if (addedQSO>0) { - qDebug() << Q_FUNC_INFO << " - QSO added"; - - //qDebug() << Q_FUNC_INFO << " Logged QSO OK: " << _dxcall ; + qDebug() << Q_FUNC_INFO << "090"; + qDebug() << Q_FUNC_INFO << " - QSO added: " << QString::number(addedQSO); actionsJustAfterAddingOneQSO(); slotShowInfoLabel(tr("QSO logged from WSJT-X:")); infoLabel2->setText(q.getCall() + " - " + dataProxy->getBandNameFromFreq(q.getFreqTX()) + "/" + q.getMode()); slotClearButtonClicked(Q_FUNC_INFO); } + else + { + qDebug() << Q_FUNC_INFO << "100"; + } qDebug() << Q_FUNC_INFO << " - END"; logEvent(Q_FUNC_INFO, "END", Debug); @@ -5768,7 +5781,7 @@ void MainWindow::slotQSOReceived(const QSO &_qso) bool MainWindow::askToAddQSOReceived(const QSO &_qso) { - qDebug() << Q_FUNC_INFO << " - Start"; + //qDebug() << Q_FUNC_INFO << " - Start"; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Question); msgBox.setWindowTitle(tr("KLog - QSO received - NEW")); @@ -5991,10 +6004,10 @@ void MainWindow::slotClearNoMorErrorShown() void MainWindow::slotQueryErrorManagement(QString functionFailed, QString errorCodeS, QString nativeError, QString queryFailed) { - qDebug() << Q_FUNC_INFO << " - Function: " << functionFailed ; - qDebug() << Q_FUNC_INFO << " - Error: - " << errorCodeS; - qDebug() << Q_FUNC_INFO << " - Native: - " << nativeError; - qDebug() << Q_FUNC_INFO << " - QueryFailed: - " << queryFailed; + //qDebug() << Q_FUNC_INFO << " - Function: " << functionFailed ; + //qDebug() << Q_FUNC_INFO << " - Error: - " << errorCodeS; + //qDebug() << Q_FUNC_INFO << " - Native: - " << nativeError; + //qDebug() << Q_FUNC_INFO << " - QueryFailed: - " << queryFailed; logEvent(Q_FUNC_INFO, "Start", Debug); diff --git a/src/qso.cpp b/src/qso.cpp index c58af3aa..e13ddb61 100644 --- a/src/qso.cpp +++ b/src/qso.cpp @@ -214,6 +214,180 @@ QSO::~QSO() delete(util); } +bool QSO::copy(const QSO& other) +{ //Copies the data of another QSO into this one + clear(); + setLogId(other.logId); + setStationCallsign(other.stationCallsign); + + // VARIABLES for ADIF ////////// + setAddress(other.address); + setAge(other.age); + setAltitude(other.altitude); + setA_Index(other.a_index); + setAnt_az(other.ant_az); + setAnt_el(other.ant_el); + setAnt_Path(other.ant_path); + setARRL_Sect(other.arrl_sect); + setAwardSubmitted(other.award_submitted); + setAwardGranted(other.award_granted); + setBand(other.band); + setBandRX(other.band_rx); + setCall(other.callsign); + setCheck(other.check); + setClass(other.clase); + setClubLogDate(other.clublogQSOUpdateDate); + setClubLogStatus(other.clublog_status); + + setCounty(other.county); + setComment(other.comment); + setContinent(other.continent); + setContactedOperator(other.contacted_op); + setContestID(other.contest_id); + setCountry(other.country); + setCQZone(other.cqz); + setCreditGranted(other.credit_granted); + setCreditSubmitted(other.credit_submitted); + + setDarcDok(other.darc_dok); + setDistance(other.distance); + setDXCC(other.dxcc); + setEmail(other.email); + setOwnerCallsign(other.ownerCall); + setContactedOperator(other.contacted_op); + setEQSLQSLRDate(other.eQSLRDate); + setEQSLQSLSDate(other.eQSLSDate); + + setEQSLQSL_RCVD(other.eqsl_qsl_rcvd); + setEQSLQSL_SENT(other.eqsl_qsl_sent); + setFists(other.fists); + setFistsCC(other.fists_cc); + setForceInit(other.forceInit); + setFreq(other.freq_tx); + setFreqRX(other.freq_rx); + setGridSquare(other.gridsquare); + setGridSquare_ext(other.gridsquare_ext); + setOperatorCallsign(other.operatorCall); + + setHRDUpdateDate(other.hrdlogUploadDate); + setHRDLogStatus(other.hrdlog_status); + setHamLogEUUpdateDate(other.hamlogeuUpdateDate); + setHamLogEUStatus(other.hrdlog_status); + setHamQTHUpdateDate(other.hamqthUpdateDate); + setHamQTHStatus(other.hamqth_status); + + setIOTA(other.iota); + setIotaID(other.iota_ID); + setItuZone(other.itu_zone); + setK_Index(other.k_index); + setLatitude(other.latitude); + setLongitude(other.longitude); + setLoTWQSLRDate(other.QSLLoTWRDate); + setLoTWQSLSDate(other.QSLLoTWSDate); + setLoTWQSL_RCVD(other.lotw_qsl_rcvd); + setLoTWQSL_SENT(other.lotw_qsl_sent); + + setMaxBursts(other.max_bursts); + qDebug() <0) + return qsoId; + return -1; } bool QSO::setLogId(const int _i) @@ -461,7 +637,9 @@ bool QSO::setLogId(const int _i) int QSO::getLogId() { - return logId; + if (logId>0) + return logId; + return -1; } bool QSO::setFreq(const double _f) @@ -496,12 +674,16 @@ bool QSO::setFreqRX(const double _f) double QSO::getFreqTX() { - return freq_tx; + if (freq_tx>=0) + return freq_tx; + return -1.0; } double QSO::getFreqRX() { - return freq_rx; + if (freq_rx>=0) + return freq_rx; + return -1.0; } bool QSO::isValid() @@ -546,7 +728,9 @@ bool QSO::setCall(const QString &_c) QString QSO::getCall() { //qDebug() << Q_FUNC_INFO << ": " << callsign; - return callsign; + if (callsign.length()>2) + return callsign; + return QString(); } void QSO::setBandFromFreq(const double _fr, bool TX) @@ -607,10 +791,13 @@ QString QSO::getBandRX() bool QSO::setMode(const QString &_c) { logEvent (Q_FUNC_INFO, "Start", Debug); + qDebug() << Q_FUNC_INFO << ": " << _c; QString aux = _c; + if (aux.isNull()) { mode = QString(); + haveMode = false; logEvent (Q_FUNC_INFO, "END - False 1", Debug); return false; } @@ -624,6 +811,7 @@ bool QSO::setMode(const QString &_c) else { mode = QString(); + haveMode = false; logEvent (Q_FUNC_INFO, "END - False 2", Debug); return false; } @@ -631,6 +819,7 @@ bool QSO::setMode(const QString &_c) QString QSO::getMode() { + return mode; } @@ -865,7 +1054,7 @@ QString QSO::getEQSLQSL_SENT() { return eqsl_qsl_sent; } - +algo pasa con el modo al añadir un qso desde wsjtx bool QSO::setEQSLQSLRDate(const QDate &_c) { if (_c.isValid()) @@ -1247,6 +1436,7 @@ bool QSO::setRSTRX(const QString &_c) } else { + RST_rx = util->getDefaultRST(getMode()); return false; } } @@ -1265,6 +1455,7 @@ bool QSO::setRSTTX(const QString &_c) } else { + RST_tx = util->getDefaultRST(getMode()); return false; } } @@ -1466,6 +1657,7 @@ bool QSO::setAge(const double _c) age = _c; return true; } + age = 0; return false; } @@ -1476,8 +1668,14 @@ double QSO::getAge() bool QSO::setAltitude(const double _c) { - altitude = _c; - return true; + if (_c>=0) + { + altitude = _c; + return true; + } + altitude = 0.0; + return false; + } double QSO::getAltitude() @@ -1526,6 +1724,7 @@ bool QSO::setTXPwr(double _f) return true; } else { + pwr_tx = 0.0; logEvent (Q_FUNC_INFO, "END - False", Debug); return false; } @@ -1554,6 +1753,7 @@ bool QSO::setOperatorCallsign(const QString &_c) } else { //qDebug() << Q_FUNC_INFO << "End - false"; + operatorCall = QString(); logEvent(Q_FUNC_INFO, "END-false", Debug); return false; } @@ -1584,7 +1784,8 @@ bool QSO::setStationCallsign(const QString &_c) else { //qDebug() << Q_FUNC_INFO << " - False"; - return false; + stationCallsign = QString(); + return false; } } @@ -1602,6 +1803,7 @@ bool QSO::setMyGridSquare(const QString &_c) } else { + my_gridsquare = QString(); return false; } } @@ -1621,6 +1823,7 @@ bool QSO::setMyGridSquare_ext(const QString &_c) } else { + my_gridsquare_ext = QString(); return false; } } @@ -1688,8 +1891,13 @@ QString QSO::getSatMode() bool QSO::setAddress(const QString &_c) { - address = _c; - return true; + if (_c.length()>0) + { + address = _c; + return true; + } + address = QString(); + return false; } QString QSO::getAddress() @@ -1704,6 +1912,7 @@ bool QSO::setA_Index(const int _i) a_index = _i; return true; } + a_index = 0; return false; } @@ -1716,19 +1925,10 @@ int QSO::getA_Index() bool QSO::setAnt_az(const double _c) { //TODO: Adjust number: http://www.adif.org/312/ADIF_312.htm#QSO_Field_ANT_AZ ant_az = fmod(_c, 360.0); - return true; - /* - if ((0 <= _c) && (_c <= 360)) - { - //ant_az = _c; - + if (ant_az>0.0) return true; - } - else - { - - } - return false;*/ + ant_az = 0.0; + return false; } double QSO::getAnt_az() { @@ -1742,6 +1942,7 @@ bool QSO::setAnt_el(const double _c) ant_el = _c; return true; } + ant_el = 0.0; return false; } @@ -1753,7 +1954,11 @@ double QSO::getAnt_el() bool QSO::setAnt_Path(const QString &_c) { if (!adif->isValidAntPath (_c)) + { + ant_path = QString(); return false; + } + ant_path = _c; return true; } @@ -1818,6 +2023,7 @@ bool QSO::setDistance(const double _i) distance = _i; return true; } + distance = 0.0; return false; } @@ -2080,6 +2286,7 @@ bool QSO::setCQZone(const int _i) } else { + cqz = 0; return false; } } @@ -2211,6 +2418,7 @@ bool QSO::setItuZone(const int _i) } else { + itu_zone = 0; return false; } } @@ -2387,6 +2595,7 @@ bool QSO::setMyCQZone(const int _i) } else { + my_cqz = 0; return false; } } @@ -2472,6 +2681,7 @@ bool QSO::setMyITUZone(const int _i) } else { + my_itu_zone = 0; return false; } } @@ -2794,14 +3004,23 @@ bool QSO::setState(const QString &_c) QString QSO::getState() { - qDebug() << Q_FUNC_INFO << ": " << state; + //qDebug() << Q_FUNC_INFO << ": " << state; return state; } bool QSO::setSubmode(const QString &_c) { - submode = _c; - haveSubMode = true; + if (_c.length()>0) + { + submode = _c; + haveSubMode = true; + } + else + { + submode = QString(); + haveSubMode = false; + } + //if (requestMode){ // emit getModeSignal(submode); @@ -3159,53 +3378,55 @@ bool QSO::setData(const QString &_adifPair) int QSO::toDB(int _qsoId) { // This function will add or modify a QSO in the DB depending on the _qsoID. // if _qsoID is >0 it should be an existing QSO in the DB. - qDebug() << Q_FUNC_INFO << " - Start: qsoId: " << QString::number(_qsoId); + //qDebug() << Q_FUNC_INFO << " - Start: qsoId: " << QString::number(_qsoId); if (!isComplete ()) { - qDebug() << Q_FUNC_INFO << " - QSO NOT COMPLETE"; + //qDebug() << Q_FUNC_INFO << " - QSO NOT COMPLETE"; return -1; } - qDebug() << Q_FUNC_INFO << " - QSO Complete... adding"; + qDebug() << Q_FUNC_INFO << "Mode: " << getMode(); + qDebug() << Q_FUNC_INFO << "Mode: " << getSubmode(); + //qDebug() << Q_FUNC_INFO << " - QSO Complete... adding"; QString queryString; queryString.clear(); if (_qsoId<=0) { - qDebug() << Q_FUNC_INFO << " - qsoID <=0"; + //qDebug() << Q_FUNC_INFO << " - qsoID <=0"; queryString = getAddQueryString(); } else { - qDebug() << Q_FUNC_INFO << " - qsoID>0"; + //qDebug() << Q_FUNC_INFO << " - qsoID>0"; queryString = getModifyQueryString(); } - qDebug() << Q_FUNC_INFO << " Query: " << queryString;; + //qDebug() << Q_FUNC_INFO << " Query: " << queryString;; QSqlQuery query = getPreparedQuery(queryString); if (_qsoId>0) { - qDebug() << Q_FUNC_INFO << " - binding ID"; + //qDebug() << Q_FUNC_INFO << " - binding ID"; query.bindValue (":id", _qsoId); } - qDebug() << Q_FUNC_INFO << " - executing query"; + //qDebug() << Q_FUNC_INFO << " - executing query"; if (query.exec()) { - qDebug() << Q_FUNC_INFO << QString(": QSO ADDED/Modified: %1 - %2").arg(callsign).arg(getDateTimeOn().toString("yyyyMMdd-hhmm")); - qDebug() << Q_FUNC_INFO << ": QSO ADDED/Modified: " << query.lastQuery (); + //qDebug() << Q_FUNC_INFO << QString(": QSO ADDED/Modified: %1 - %2").arg(callsign).arg(getDateTimeOn().toString("yyyyMMdd-hhmm")); + //qDebug() << Q_FUNC_INFO << ": QSO ADDED/Modified: " << query.lastQuery (); if (_qsoId>0) return _qsoId; return 1;//db->getLastInsertedQSO(); } else { - qDebug() << Q_FUNC_INFO << QString(": QSO NOT ADDED/Modified: %1 - %2").arg(callsign).arg(_qsoId); - qDebug() << Q_FUNC_INFO << ": QSO NOT ADDED/Modified: " << query.lastQuery (); - qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().databaseText(); - qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().text(); - qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().nativeErrorCode(); + //qDebug() << Q_FUNC_INFO << QString(": QSO NOT ADDED/Modified: %1 - %2").arg(callsign).arg(_qsoId); + //qDebug() << Q_FUNC_INFO << ": QSO NOT ADDED/Modified: " << query.lastQuery (); + //qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().databaseText(); + //qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().text(); + //qDebug() << Q_FUNC_INFO << ": Error: " << query.lastError().nativeErrorCode(); emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().nativeErrorCode(), query.lastQuery()); return -2; } query.finish(); - qDebug() << Q_FUNC_INFO << " - END"; + //qDebug() << Q_FUNC_INFO << " - END"; return 1; } @@ -3291,7 +3512,7 @@ int QSO::getBandIdFromBandName(bool _rxBand) { QSqlQuery query; //qDebug() << Q_FUNC_INFO << "Band: " << getBand(); - bool ok = query.prepare ("SELECT band.id FROM band WHERE band.name=:bandname"); + bool ok = query.prepare ("SELECT band.id FROM band WHERE band.name= :bandname"); if (!ok) { //qDebug() << Q_FUNC_INFO << " - Query NOT prepared-3122"; @@ -3335,7 +3556,7 @@ QString QSO::getBandNameFromBandId(int bandId) //qDebug() << Q_FUNC_INFO << ": " << QString::number(bandId); QSqlQuery query; //qDebug() << Q_FUNC_INFO << "Band: " << getBand(); - bool ok = query.prepare ("SELECT name FROM band WHERE id=:id"); + bool ok = query.prepare ("SELECT name FROM band WHERE id= :id"); if (!ok) { return QString(); @@ -3362,29 +3583,30 @@ int QSO::getModeIdFromModeName() { // We need to save always the submode id // If submode is no present, then we will store the mode id - //qDebug() << Q_FUNC_INFO; + qDebug() << Q_FUNC_INFO; QSqlQuery query; // // SELECT mode.id FROM mode WHERE mode.submode="FT4" // SELECT mode.id FROM mode WHERE mode.name="MFSK" - bool ok = query.prepare ("SELECT mode.id FROM mode WHERE mode.submode=:submode"); + bool ok = query.prepare ("SELECT mode.id FROM mode WHERE mode.submode= :submode"); if (!ok) { return -1; } - if (haveSubMode) - { - query.bindValue (":submode", getSubmode ()); - } - else if (haveMode) - { - query.bindValue (":submode", getMode ()); - } - else - { - return -1; - } - + query.bindValue (":submode", getMode ()); + //if (haveSubMode) + //{ + // query.bindValue (":submode", getSubmode ()); + //} + //else if (haveMode) + //{ + // query.bindValue (":submode", getMode ()); + //} + //else + //{ + // return -1; + //} +//EA4K: falla al crear un qso que llega desde wsjtx... devuelve 5 if (query.exec ()) { if (query.next()) @@ -3413,21 +3635,21 @@ int QSO::getModeIdFromModeName() QString QSO::getModeNameFromModeId(int _modeId, bool _submode) { - qDebug() << Q_FUNC_INFO << ": " << QString::number(_modeId); + //qDebug() << Q_FUNC_INFO << ": " << QString::number(_modeId); QSqlQuery query; bool ok; if (_submode) { - ok = query.prepare ("SELECT submode FROM mode WHERE id=:id"); + ok = query.prepare ("SELECT submode FROM mode WHERE id= :id"); } else { - ok = query.prepare ("SELECT name FROM mode WHERE id=:id"); + ok = query.prepare ("SELECT name FROM mode WHERE id= :id"); } if (!ok) { - qDebug() << Q_FUNC_INFO << " - Query NOT prepared-3255"; + //qDebug() << Q_FUNC_INFO << " - Query NOT prepared-3255"; return QString(); } query.bindValue (":id", _modeId); @@ -3443,7 +3665,7 @@ QString QSO::getModeNameFromModeId(int _modeId, bool _submode) if (!query.isValid()) return QString(); - qDebug() << Q_FUNC_INFO << ": " << (query.value(0)).toString(); + //qDebug() << Q_FUNC_INFO << ": " << (query.value(0)).toString(); return (query.value(0)).toString(); } @@ -3451,17 +3673,17 @@ QSqlQuery QSO::getPreparedQuery(const QString &_s) { QSqlQuery query; - qDebug() << Q_FUNC_INFO << " - Start "; - qDebug() << Q_FUNC_INFO << " - queryString: " << _s; + //qDebug() << Q_FUNC_INFO << " - Start "; + //qDebug() << Q_FUNC_INFO << " - queryString: " << _s; query.clear (); if (!query.prepare (_s)) { - qDebug() << Q_FUNC_INFO << " - Query not prepared-3285"; + //qDebug() << Q_FUNC_INFO << " - Query not prepared-3285"; query.clear (); return query; } - qDebug() << Q_FUNC_INFO << " - Starting to bind values..."; + //qDebug() << Q_FUNC_INFO << " - Starting to bind values..."; query.bindValue(":qso_date", util->getDateTimeSQLiteStringFromDateTime (getDateTimeOn ())); query.bindValue(":call", getCall()); query.bindValue(":rst_sent", getRSTTX()); @@ -3625,11 +3847,11 @@ QSqlQuery QSO::getPreparedQuery(const QString &_s) query.bindValue(":qso_date_off", util->getDateSQLiteStringFromDate(getDateOff())); query.bindValue(":lognumber", getLogId()); - QVariantList list = query.boundValues(); - for (int i = 0; i < list.size(); ++i) - qDebug() << Q_FUNC_INFO << QString(": %1").arg(i) << "/ " << list.at(i).toString().toUtf8().data() << "\n"; + //QVariantList list = query.boundValues(); + //for (int i = 0; i < list.size(); ++i) + //qDebug() << Q_FUNC_INFO << QString(": %1").arg(i) << "/ " << list.at(i).toString().toUtf8().data() << "\n"; - qDebug() << Q_FUNC_INFO << " - END"; + //qDebug() << Q_FUNC_INFO << " - END"; return query; } @@ -3920,7 +4142,7 @@ QString QSO::getBandNameFromFreq(const double _n) bool QSO::fromDB(int _qsoId) { logEvent (Q_FUNC_INFO, "Start", Debug); - QString queryString = "SELECT * FROM log WHERE id=:idQSO"; + QString queryString = "SELECT * FROM log WHERE id= :idQSO"; QSqlQuery query; query.prepare(queryString); query.bindValue(":idQSO", _qsoId); diff --git a/src/qso.h b/src/qso.h index a031bf71..482d7f4a 100644 --- a/src/qso.h +++ b/src/qso.h @@ -51,6 +51,7 @@ class QSO : public QObject QSO(); QSO(const QSO& other); ~QSO(); + bool copy(const QSO& other); void setLogLevel (const DebugLogLevel _b); void setRealTime(const bool _rt); // Not QSO info but KLog status bool getRealTime(); diff --git a/src/setuppages/setuppagelogs.cpp b/src/setuppages/setuppagelogs.cpp index 36bf68ef..49013b7b 100644 --- a/src/setuppages/setuppagelogs.cpp +++ b/src/setuppages/setuppagelogs.cpp @@ -128,7 +128,7 @@ void SetupPageLogs::slotEditButtonClicked() //qDebug() << "SetupPageLogs::slotEditButtonClicked"; newLog->setStationCallSign(dataProxy->getStationCallSignFromLog(selectedLog)); newLog->setOperators(dataProxy->getOperatorsFromLog(selectedLog)); - qDebug() << Q_FUNC_INFO ; + //qDebug() << Q_FUNC_INFO ; newLog->setComment(dataProxy->getCommentsFromLog(selectedLog)); newLog->setDateString(dataProxy->getLogDateFromLog(selectedLog)); //newLog->setTypeN(dataProxy->getLogTypeNFromLog(selectedLog).toInt()); diff --git a/src/udpserver.cpp b/src/udpserver.cpp index 3f61add9..f119e35a 100644 --- a/src/udpserver.cpp +++ b/src/udpserver.cpp @@ -377,6 +377,7 @@ void UDPServer::parse(const QByteArray &msg) //qDebug() << Q_FUNC_INFO << ": Data to be logged: Comment: " << comments; QSO qso; + qso.clear(); qso.setCall(dx_call); qso.setMode(mode); qso.setFreq(frequencyDouble); @@ -510,7 +511,7 @@ void UDPServer::setNetworkInterface(const QString &_t) /* void UDPServer::adifParse(QByteArray &msg) { - qDebug() << Q_FUNC_INFO << " - Start: " << msg; + //qDebug() << Q_FUNC_INFO << " - Start: " << msg; QSO qso; diff --git a/src/utilities.cpp b/src/utilities.cpp index 452810a1..4897b9f5 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -826,7 +826,7 @@ bool Utilities::isAPrefix (const QString &_c) void Utilities::setLongPrefixes (const QStringList &_p) { - qDebug() << Q_FUNC_INFO << ": Start count: " << QString::number(_p.count()); + //qDebug() << Q_FUNC_INFO << ": Start count: " << QString::number(_p.count()); longPrefixes.clear(); longPrefixes.append(_p); //qDebug() << Q_FUNC_INFO << ": count: " << QString::number(longPrefixes.count()); @@ -842,18 +842,18 @@ void Utilities::setSpecialCalls (const QStringList &_p) bool Utilities::isAKnownPrefix(const QString &_c) {// TODO: Complete with https://rsgb.org/main/operating/licensing-novs-visitors/international-prefixes/ - qDebug() << Q_FUNC_INFO << ": " << _c; + //qDebug() << Q_FUNC_INFO << ": " << _c; // QString aux; if (_c.isNull() ) { - qDebug() << Q_FUNC_INFO << ": END - 1"; + //qDebug() << Q_FUNC_INFO << ": END - 1"; return false; } if (longPrefixes.count()<100) { - qDebug() << Q_FUNC_INFO << ": ********** END - FAIL"; + //qDebug() << Q_FUNC_INFO << ": ********** END - FAIL"; } - qDebug() << Q_FUNC_INFO << QString(": END - 2 - %1 - %2").arg(_c).arg(boolToQString(longPrefixes.contains(_c))); + //qDebug() << Q_FUNC_INFO << QString(": END - 2 - %1 - %2").arg(_c).arg(boolToQString(longPrefixes.contains(_c))); return longPrefixes.contains(_c); } @@ -1104,7 +1104,7 @@ bool Utilities::isValidCall(const QString &_c, bool _force) QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber) { - qDebug() << Q_FUNC_INFO << ": " << _c << " - WithAreaNumber=" << boolToQString(withAreaNumber); + //qDebug() << Q_FUNC_INFO << ": " << _c << " - WithAreaNumber=" << boolToQString(withAreaNumber); if (_c.isNull()) { return QString(); @@ -1125,49 +1125,49 @@ QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber) return QString(); } } - qDebug() << Q_FUNC_INFO << " - Going to calculate - length = " << QString::number(length); + //qDebug() << Q_FUNC_INFO << " - Going to calculate - length = " << QString::number(length); if (length>2) { - qDebug() << Q_FUNC_INFO << " - Going to Look for a known call" ; + //qDebug() << Q_FUNC_INFO << " - Going to Look for a known call" ; if (isAKnownCall(_c)) { - qDebug() << Q_FUNC_INFO << " - Known CALL found!"; + //qDebug() << Q_FUNC_INFO << " - Known CALL found!"; return _c; } - qDebug() << Q_FUNC_INFO << " - Call not found!" ; + //qDebug() << Q_FUNC_INFO << " - Call not found!" ; } - qDebug() << Q_FUNC_INFO << " - 010"; + //qDebug() << Q_FUNC_INFO << " - 010"; call = getMainCallFromComplexCall(call); - qDebug() << Q_FUNC_INFO << " - 011: " << call; + //qDebug() << Q_FUNC_INFO << " - 011: " << call; QString call2 = call; QString call3 = call; int i = length; while (i>0) { - qDebug() << Q_FUNC_INFO << QString(" While (i=%1) = ").arg(i) << call; + //qDebug() << Q_FUNC_INFO << QString(" While (i=%1) = ").arg(i) << call; if (isAKnownPrefix(call)) {// EA, EA6, VK9N, VP2E, K, K1, KN1, 4U1I - qDebug() << Q_FUNC_INFO << QString("- Known prefix found: %1").arg(call); + //qDebug() << Q_FUNC_INFO << QString("- Known prefix found: %1").arg(call); if (withAreaNumber) { - qDebug() << Q_FUNC_INFO << QString("- With Area number"); + //qDebug() << Q_FUNC_INFO << QString("- With Area number"); if ( (call2.back()).isDigit() ) { - qDebug() << Q_FUNC_INFO << QString("- With Area number -call2- & last is a digit"); + //qDebug() << Q_FUNC_INFO << QString("- With Area number -call2- & last is a digit"); return call2; } else if((call3.back()).isDigit()) { - qDebug() << Q_FUNC_INFO << QString("- With Area number -call3- & last is a digit"); + //qDebug() << Q_FUNC_INFO << QString("- With Area number -call3- & last is a digit"); return call3; } } - qDebug() << Q_FUNC_INFO << QString("- With NO Area number"); + //qDebug() << Q_FUNC_INFO << QString("- With NO Area number"); return call; } - qDebug() << Q_FUNC_INFO << QString("- Known prefix NOT found: %1").arg(call); + //qDebug() << Q_FUNC_INFO << QString("- Known prefix NOT found: %1").arg(call); call3 = call2; call2 = call; call.chop(1); diff --git a/tests/tst_database/tst_database.cpp b/tests/tst_database/tst_database.cpp index 63b4c5ce..0479c072 100644 --- a/tests/tst_database/tst_database.cpp +++ b/tests/tst_database/tst_database.cpp @@ -90,42 +90,42 @@ tst_DataBase::~tst_DataBase() void tst_DataBase::initTestCase() { - qDebug() << Q_FUNC_INFO; + //qDebug() << Q_FUNC_INFO; Utilities util(Q_FUNC_INFO); QFile file(util.getKLogDBFile() + "-test"); if (file.exists()) { - qDebug() << Q_FUNC_INFO << QString("DB-test exists: %1").arg(util.getKLogDBFile() + "-test"); + //qDebug() << Q_FUNC_INFO << QString("DB-test exists: %1").arg(util.getKLogDBFile() + "-test"); if (file.remove()) { - qDebug() << Q_FUNC_INFO << "DB-test deleted"; + //qDebug() << Q_FUNC_INFO << "DB-test deleted"; QCOMPARE(file.exists(), false); } else { - qDebug() << Q_FUNC_INFO << "DB-test NOT deleted"; + //qDebug() << Q_FUNC_INFO << "DB-test NOT deleted"; } } else { - qDebug() << Q_FUNC_INFO << QString("DB-test DOES NOT exists: %1").arg(util.getKLogDBFile() + "-test"); + //qDebug() << Q_FUNC_INFO << QString("DB-test DOES NOT exists: %1").arg(util.getKLogDBFile() + "-test"); } - file.setFileName(util.getKLogDBFile()); - if (file.exists()) - if (file.rename(util.getKLogDBFile() + "-test")) - qDebug() << Q_FUNC_INFO << "DB renamed"; + //file.setFileName(util.getKLogDBFile()); + //if (file.exists()) + // if (file.rename(util.getKLogDBFile() + "-test")) + //qDebug() << Q_FUNC_INFO << "DB renamed"; - qDebug() << Q_FUNC_INFO << ": " << util.getCfgFile(); + //qDebug() << Q_FUNC_INFO << ": " << util.getCfgFile(); - file.setFileName(util.getCfgFile()); - if (file.exists()) - if (file.rename(util.getCfgFile() + "-test")) - qDebug() << Q_FUNC_INFO << "Restoring the config file"; + //file.setFileName(util.getCfgFile()); + //if (file.exists()) + // if (file.rename(util.getCfgFile() + "-test")) + //qDebug() << Q_FUNC_INFO << "Restoring the config file"; } void tst_DataBase::test_ExistingTables() @@ -242,7 +242,7 @@ void tst_DataBase::test_subModes() QString aux; QStringList _submodes = {"CHIP64", "CHIP128", "PCW", "C4FM", "DMR", "DSTAR", "FREEDV", "M17", "DOM-M", "DOM4", "DOM5", "DOM8", "DOM11", "DOM16", "DOM22", "DOM44", "DOM88", - "DOMINOEX", "DOMINOF", "VARA HF", "VARA SATELLITE", "VARA FM 1200", "VARA FM 9600", + "DOMINOEX", "DOMINOF", "VARA HF", "VARA SATELLITE", "VARA FM 1200", "VARA FM 9600", "FMHELL", "FSKHELL", "HELL80", "HELLX5", "HELLX9", "HFSK", "PSKHELL", "SLOWHELL", "ISCAT-A", "ISCAT-B", "JT4A", "JT4B", "JT4C", "JT4D", "JT4E", "JT4F", "JT4G", "JT9-1", "JT9-2", "JT9-5", "JT9-10", "JT9-30", "JT9A", "JT9B", "JT9C", "JT9D", "JT9E", @@ -312,30 +312,30 @@ void tst_DataBase::test_checks() void tst_DataBase::test_CreateDB() { - qDebug() << Q_FUNC_INFO << "000"; + //qDebug() << Q_FUNC_INFO << "000"; Utilities util(Q_FUNC_INFO); - qDebug() << Q_FUNC_INFO << "001"; + //qDebug() << Q_FUNC_INFO << "001"; QFile file(util.getCTYFile()); - qDebug() << Q_FUNC_INFO << "003"; + //qDebug() << Q_FUNC_INFO << "003"; QCOMPARE( file.exists(), true); // Check if the CTYDAT file is available - qDebug() << Q_FUNC_INFO << "003"; + //qDebug() << Q_FUNC_INFO << "003"; DataProxy_SQLite dataProxy(Q_FUNC_INFO, version); - qDebug() << Q_FUNC_INFO << "004"; + //qDebug() << Q_FUNC_INFO << "004"; World world(&dataProxy, Q_FUNC_INFO); - qDebug() << Q_FUNC_INFO << "005"; + //qDebug() << Q_FUNC_INFO << "005"; QCOMPARE(world.create(util.getCTYFile()), true); // Read the CTY.CSV file into the DB - qDebug() << Q_FUNC_INFO << "006"; + //qDebug() << Q_FUNC_INFO << "006"; QCOMPARE(db->hasTheTableData("entity"), true); - qDebug() << Q_FUNC_INFO << "007"; + //qDebug() << Q_FUNC_INFO << "007"; QCOMPARE(db->hasTheTableData("prefixesofentity"), true); - qDebug() << Q_FUNC_INFO << "999"; + //qDebug() << Q_FUNC_INFO << "999"; } void tst_DataBase::test_addQSOs() { int i = db->getNumberOfQsos(); - qDebug() << "Number of QSOs: " << QString::number(i); + //qDebug() << "Number of QSOs: " << QString::number(i); QSO qso; qso.clear(); qso.setCall("EA4K"); @@ -344,34 +344,34 @@ void tst_DataBase::test_addQSOs() qso.setBand("10M"); qso.setMode("SSB"); qso.toDB(); - qDebug() << "Number of QSOs: " << QString::number(i); + //qDebug() << "Number of QSOs: " << QString::number(i); QCOMPARE(db->getNumberOfQsos(), i+1); } void tst_DataBase::cleanupTestCase() { - qDebug() << Q_FUNC_INFO; + //qDebug() << Q_FUNC_INFO; Utilities util(Q_FUNC_INFO); - QFile file(util.getKLogDBFile()); - if (file.exists()) - if (file.rename(util.getKLogDBFile() + "-test-db")) - qDebug() << Q_FUNC_INFO << "DB deleted"; - qDebug() << Q_FUNC_INFO << ": " << util.getCfgFile(); - - file.setFileName(util.getCfgFile()); - if (file.exists()) - if (file.rename(util.getCfgFile() + "-test-db")) - qDebug() << Q_FUNC_INFO << "Restoring the config file"; - - - file.setFileName(util.getKLogDBFile() + "-test"); - if (file.exists()) - if (file.rename(util.getKLogDBFile())) - qDebug() << Q_FUNC_INFO << "DB deleted"; - file.setFileName(util.getCfgFile() + "-test"); - if (file.exists()) - if (file.rename(util.getCfgFile())) - qDebug() << Q_FUNC_INFO << "Restoring the config file"; + //QFile file(util.getKLogDBFile()); + //if (file.exists()) + // if (file.rename(util.getKLogDBFile() + "-test-db")) + //qDebug() << Q_FUNC_INFO << "DB deleted"; + //qDebug() << Q_FUNC_INFO << ": " << util.getCfgFile(); + + //file.setFileName(util.getCfgFile()); + //if (file.exists()) + // if (file.rename(util.getCfgFile() + "-test-db")) + //qDebug() << Q_FUNC_INFO << "Restoring the config file"; + + + //file.setFileName(util.getKLogDBFile() + "-test"); + //if (file.exists()) + // if (file.rename(util.getKLogDBFile())) + //qDebug() << Q_FUNC_INFO << "DB deleted"; + //file.setFileName(util.getCfgFile() + "-test"); + //if (file.exists()) + // if (file.rename(util.getCfgFile())) + //qDebug() << Q_FUNC_INFO << "Restoring the config file"; } /* @@ -393,15 +393,15 @@ void tst_DataBase::cleanup() void tst_DataBase::test_Constructor() { - qDebug() << Q_FUNC_INFO << "- Start"; + //qDebug() << Q_FUNC_INFO << "- Start"; QString _version = QString ("99.9"); - qDebug() << Q_FUNC_INFO << "- 001"; + //qDebug() << Q_FUNC_INFO << "- 001"; util = new Utilities(Q_FUNC_INFO); - qDebug() << Q_FUNC_INFO << "- 002"; + //qDebug() << Q_FUNC_INFO << "- 002"; db = new DataBase(Q_FUNC_INFO, _version, util->getKLogDBFile()); - qDebug() << Q_FUNC_INFO << "- 003"; + //qDebug() << Q_FUNC_INFO << "- 003"; QCOMPARE(db->createConnection(Q_FUNC_INFO), true); - qDebug() << Q_FUNC_INFO << " - END"; + //qDebug() << Q_FUNC_INFO << " - END"; } QTEST_APPLESS_MAIN(tst_DataBase)