working on qso

This commit is contained in:
ea4k 2024-08-16 09:53:47 +02:00
parent c3d55a0a0f
commit e7f3acea4e
19 changed files with 626 additions and 209 deletions

164
.gitignore vendored
View File

@ -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

View File

@ -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;

View File

@ -72,6 +72,7 @@ public:
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 @@ public:
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 @@ private:
void setContinents();
void setSponsorsList();
bool isValidCall(const QString &_c);
QString parentName;
DebugLogLevel logLevel;
QHash<QString, QString> ADIFHash; // Name, type
QStringList ARRL_sects, continents, sponsorsList;
QStringList ARRL_sects, continents, sponsorsList, modes;
};
#endif // ADIF_H

View File

@ -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));

View File

@ -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;

View File

@ -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);

View File

@ -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))
{

View File

@ -71,7 +71,7 @@ public:
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();

View File

@ -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";

View File

@ -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;

View File

@ -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()));
}

View File

@ -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...");

View File

@ -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);

View File

@ -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() <<Q_FUNC_INFO << " - 010 " ;
setMode(other.mode);
qDebug() <<Q_FUNC_INFO << " - 011" ;
qDebug() <<Q_FUNC_INFO << ": " << getMode();
qDebug() <<Q_FUNC_INFO << " - 012 " ;
setMsShower(other.ms_shower);
setMyAltitude(other.my_altitude);
setMyAntenna(other.my_antenna);
setMyARRL_Sect(other.my_arrl_sect);
setMyCity(other.my_city);
setMyCounty(other.my_county);
setMyCountry(other.my_country);
setMyCQZone(other.my_cqz);
setMyDXCC(other.my_dxcc);
setMyFists(other.my_fists);
setMyGridSquare(other.my_gridsquare);
setMyGridSquare_ext(other.my_gridsquare_ext);
setMyIOTA(other.my_iota);
setMyIotaID(other.my_iota_ID);
setMyITUZone(other.my_itu_zone);
setMyLatitude(other.my_latitude);
setMyLongitude(other.my_longitude);
setMyName(other.my_name);
setMyPOTA_Ref(other.my_pota_ref);
setMyPostalCode(other.my_postal_code);
setMyRig(other.my_rig);
setMySig(other.my_sig);
setMySigInfo(other.my_sig_info);
setMySOTA_REF(other.my_sota_ref);
setMyState(other.my_state);
setMyStreet(other.my_street);
setMyUsacaCounties(other.my_usaca_counties);
setMyVUCCGrids(other.my_vucc_grids);
setMyWWFF_Ref(other.my_wwff_ref);
setName(other.name);
setNotes(other.notes);
setNrBursts(other.nr_bursts);
setNrPings(other.nr_pings);
setOperatorCallsign(other.operatorCall);
setOwnerCallsign(other.ownerCall);
setEQ_Call(other.contacted_owner);
setPrefix(other.prefix);
setPOTA_Ref(other.pota_ref);
setPrecedence(other.precedence);
setPropMode(other.propMode);
setPublicKey(other.public_key);
setQRZCOMDate(other.QRZComDate);
setQRZCOMStatus(other.QRZCom_status);
setQSLMsg(other.qslmsg);
setQSLRDate(other.QSLRDate);
setQSLSDate(other.QSLSDate);
setQSL_RCVD(other.qsl_rcvd);
setQSL_SENT(other.qsl_sent);
setQSLSenVia(other.qslSenVia);
setQSLRecVia(other.qslRecVia);
setQSLVia(other.qslVia);
setQSOComplete(other.qso_complete);
setDateTimeOn(other.qso_dateTime);
setDateOff(other.qso_date_off);
setQSORandom(other.qso_random);
setQTH(other.qth);
setRegion(other.region);
setRig(other.rig);
setRSTRX(other.RST_rx);
setRSTTX(other.RST_tx);
setRXPwr(other.pwr_rx);
setSatMode(other.satMode);
setSatName(other.satName);
setSFI(other.sfi);
setSIG(other.sig);
setSIG_INFO(other.sig_info);
setSilentKey(other.silent_key);
setSkcc(other.skcc);
setSOTA_REF(other.sota_ref);
setSrx(other.srx);
setSrxString(other.srx_string);
setState(other.state);
setStx(other.stx);
setStxString(other.stx_string);
setSubmode(other.submode);
setSwl(other.swl);
setTenTen(other.ten_ten);
setTimeOff(other.qso_time_off);
setTXPwr(other.pwr_tx);
setUksmg(other.uksmg);
setUsacaCounties(other.usaca_counties);
setVeProv(other.ve_prov);
setVUCCGrids(other.vucc_grids);
setWeb(other.web);
setWWFF_Ref(other.wwff_ref);
return true;
}
void QSO::setLogLevel (const DebugLogLevel _b)
{
logEvent (Q_FUNC_INFO, "Start", Debug);
@ -443,7 +617,9 @@ bool QSO::setQSOid(const int _i)
int QSO::getQSOid()
{
return qsoId;
if (qsoId>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);

View File

@ -51,6 +51,7 @@ public:
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();

View File

@ -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());

View File

@ -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;

View File

@ -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);

View File

@ -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();
//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.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";
//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)