mirror of
https://github.com/ea4k/klog.git
synced 2024-09-21 18:38:19 +00:00
This commit is contained in:
parent
ea2bb5ea96
commit
e8f4542d5c
@ -1,5 +1,6 @@
|
||||
August 2018 - 0.9.4.1
|
||||
- Bugfix: When data was received from WSJT-X, local locator & operator was not properly parsed.
|
||||
TBD - 0.9.5
|
||||
- Added a dot at the end of all the tooltips.
|
||||
- Stats widget created to show statistics on the log.
|
||||
|
||||
August 2018 - 0.9.4
|
||||
- WSJT-X support to receive logged QSO and realtime data.
|
||||
|
17
KLog.pro
17
KLog.pro
@ -2,7 +2,7 @@ CONFIG += app_bundle
|
||||
CONFIG += static
|
||||
#CONFIG += release
|
||||
TEMPLATE = app
|
||||
VERSION = 0.9.4
|
||||
VERSION = 0.9.5
|
||||
DEFINES += APP_VERSION="$$VERSION"
|
||||
|
||||
APP_NAME = KLog
|
||||
@ -27,8 +27,9 @@ QT += core \
|
||||
widgets
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QT *= printsupport
|
||||
QT += widgets
|
||||
QT += printsupport
|
||||
QT += widgets \
|
||||
charts
|
||||
}
|
||||
|
||||
|
||||
@ -75,7 +76,10 @@ HEADERS += setupdialog.h \
|
||||
infowidget.h \
|
||||
showerrordialog.h \
|
||||
udpserver.h \
|
||||
setuppageudp.h
|
||||
setuppageudp.h \
|
||||
statisticswidget.h \
|
||||
charts/barchartstats.h \
|
||||
charts/donutchartstats.h
|
||||
SOURCES += main.cpp \
|
||||
aboutdialog.cpp \
|
||||
setupdialog.cpp \
|
||||
@ -120,7 +124,10 @@ SOURCES += main.cpp \
|
||||
infowidget.cpp \
|
||||
showerrordialog.cpp \
|
||||
udpserver.cpp \
|
||||
setuppageudp.cpp
|
||||
setuppageudp.cpp \
|
||||
statisticswidget.cpp \
|
||||
charts/barchartstats.cpp \
|
||||
charts/donutchartstats.cpp
|
||||
|
||||
OTHER_FILES += \
|
||||
README-DEVEL \
|
||||
|
@ -303,7 +303,10 @@ bool DataBase::createConnection(bool newDB)
|
||||
//qDebug() << "DataBase::createConnection: DB NOT Opened" << endl;
|
||||
//db = QSqlDatabase::database();
|
||||
db = QSqlDatabase::addDatabase("QSQLITE");
|
||||
db.setDatabaseName(dbName);
|
||||
|
||||
|
||||
db.setDatabaseName(dbName);
|
||||
|
||||
|
||||
if (!db.open())
|
||||
{
|
||||
|
@ -424,6 +424,11 @@ int DataProxy::getCQzonYear(const int _year, const int _logNumber)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int DataProxy::getQSOsWithDXCC(const int _dxcc, const int _logNumber)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool DataProxy::newDXMarathon(const int _dxcc, const int _cq, const int _year, const int _logNumber)
|
||||
{
|
||||
return false;
|
||||
@ -580,6 +585,16 @@ int DataProxy::getHowManyConfirmedQSLInLog(const int _log)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DataProxy::getQSOsInBand(const QString _band, const int _log)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DataProxy::getQSOsInMode(const QString _mode, const int _log)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool DataProxy::addNewLog (const QStringList _qs)
|
||||
{
|
||||
return false;
|
||||
|
@ -83,6 +83,8 @@ public:
|
||||
virtual QStringList getModesInLog(const int _log);
|
||||
virtual int getMostUsedBand(const int _log);
|
||||
virtual int getMostUsedMode(const int _log);
|
||||
virtual int getQSOsInBand(const QString _band, const int _log);
|
||||
virtual int getQSOsInMode(const QString _mode, const int _log);
|
||||
|
||||
virtual int getLastQSOid();
|
||||
virtual bool clearLog();
|
||||
@ -160,6 +162,7 @@ public:
|
||||
virtual int getQSOonYear(const int _year, const int _logNumber);
|
||||
virtual int getDXCConYear(const int _year, const int _logNumber);
|
||||
virtual int getCQzonYear(const int _year, const int _logNumber);
|
||||
virtual int getQSOsWithDXCC(const int _dxcc, const int _logNumber);
|
||||
virtual bool newDXMarathon(const int _dxcc, const int _cq, const int _year, const int _logNumber);
|
||||
|
||||
virtual QStringList getContestNames();
|
||||
|
@ -436,8 +436,8 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString _sm)
|
||||
}
|
||||
|
||||
//qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-3" << endl;
|
||||
query.finish();
|
||||
return -1.0;
|
||||
//query.finish();
|
||||
//return -1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -445,7 +445,7 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString _sm)
|
||||
query.finish();
|
||||
return -1.0;
|
||||
}
|
||||
return -1.0;
|
||||
//return -1.0;
|
||||
}
|
||||
|
||||
|
||||
@ -492,7 +492,7 @@ double DataProxy_SQLite::getLowLimitBandFromBandId(const QString _sm)
|
||||
query.finish();
|
||||
return -1.0;
|
||||
}
|
||||
return -1.0;
|
||||
//return -1.0;
|
||||
|
||||
}
|
||||
|
||||
@ -1585,7 +1585,6 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED
|
||||
query.finish();
|
||||
return QStringList();
|
||||
}
|
||||
query.finish();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1696,8 +1695,8 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED
|
||||
query2.finish();
|
||||
return QStringList();
|
||||
}
|
||||
query.finish();
|
||||
return QStringList();
|
||||
//query.finish();
|
||||
//return QStringList();
|
||||
// NO NEXT
|
||||
}
|
||||
}
|
||||
@ -2114,9 +2113,6 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString _dxcall, const double _freq
|
||||
return false;
|
||||
}
|
||||
|
||||
//getBandNameFromFreq(const double _n)
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataProxy_SQLite::deleteQSO(const int _qsoId)
|
||||
@ -2218,8 +2214,6 @@ bool DataProxy_SQLite::isThisQSODuplicated(const QString _qrz, const QString _da
|
||||
query.finish();
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -2307,8 +2301,6 @@ bool DataProxy_SQLite::isDXCCConfirmed(const int _dxcc, const int _currentLog)
|
||||
query.finish();
|
||||
return false;
|
||||
}
|
||||
//qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE4" << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataProxy_SQLite::isHF(const int _band)
|
||||
@ -2373,8 +2365,17 @@ QStringList DataProxy_SQLite::getOperatingYears(const int _currentLog)
|
||||
QStringList years = QStringList();
|
||||
//QStringList yearsSorted = QStringList();
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
if (_currentLog<0)
|
||||
{
|
||||
queryString = QString("SELECT DISTINCT (substr (qso_date, 0, 5)) FROM log ORDER BY 'qso_date'");
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT DISTINCT (substr (qso_date, 0, 5)) FROM log WHERE lognumber='%0' ORDER BY 'qso_date'").arg(_currentLog);
|
||||
}
|
||||
|
||||
|
||||
QString queryString = QString("SELECT DISTINCT (substr (qso_date, 0, 5)) FROM log WHERE lognumber='%0' ORDER BY 'qso_date'").arg(_currentLog);
|
||||
QString year = QString();
|
||||
//qDebug() << "DataProxy_SQLite::getYearsOperating: -1" << endl;
|
||||
bool sqlOk = query.exec(queryString);
|
||||
@ -2510,12 +2511,20 @@ bool DataProxy_SQLite::lotwSentYes(const QString _updateDate, const int _current
|
||||
|
||||
int DataProxy_SQLite::getQSOonYear(const int _year, const int _logNumber)
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl;
|
||||
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
bool sqlOK;
|
||||
queryString = QString("SELECT COUNT (DISTINCT id) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
if (_logNumber < 0)
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT id) FROM log WHERE qso_date LIKE '%1%'").arg(_year);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT id) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
}
|
||||
|
||||
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
@ -2554,7 +2563,15 @@ int DataProxy_SQLite::getDXCConYear(const int _year, const int _logNumber)
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
bool sqlOK;
|
||||
queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
if (_logNumber < 0)
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log where qso_date LIKE '%1%'").arg(_year);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
}
|
||||
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
|
||||
@ -2591,7 +2608,15 @@ int DataProxy_SQLite::getCQzonYear(const int _year, const int _logNumber)
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
bool sqlOK;
|
||||
queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
if (_logNumber < 0)
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where qso_date LIKE '%1%' AND cqz < '41' AND cqz > '0'").arg(_year);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year);
|
||||
}
|
||||
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
|
||||
@ -2623,6 +2648,54 @@ int DataProxy_SQLite::getCQzonYear(const int _year, const int _logNumber)
|
||||
}
|
||||
}
|
||||
|
||||
int DataProxy_SQLite::getQSOsWithDXCC(const int _dxcc, const int _logNumber)
|
||||
{
|
||||
|
||||
//qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number(_dxcc) << endl;
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
bool sqlOK;
|
||||
if (_logNumber < 0)
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT id) FROM log where dxcc LIKE '%1'").arg(_dxcc);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT COUNT (DISTINCT id) FROM log where lognumber='%1' AND dxcc LIKE '%2'").arg(_logNumber).arg(_dxcc);
|
||||
}
|
||||
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
|
||||
//qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: queryString: " << queryString << endl;
|
||||
if (sqlOK)
|
||||
{
|
||||
query.next();
|
||||
if (query.isValid())
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number((query.value(0)).toInt()) << endl;
|
||||
int v = (query.value(0)).toInt();
|
||||
query.finish();
|
||||
return v;
|
||||
}
|
||||
else
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: 0" << endl;
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery());
|
||||
//qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: Query error" << endl;
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _year, const int _logNumber)
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::newDXMarathon" << endl;
|
||||
@ -2676,8 +2749,6 @@ bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _
|
||||
query.finish();
|
||||
return true; // It is an error inthe query but Work First Worry Later, let us work that QSO.
|
||||
}
|
||||
//qDebug() << "DataProxy_SQLite::newDXMarathon - TRUE3" << endl;
|
||||
return true;
|
||||
}
|
||||
|
||||
QStringList DataProxy_SQLite::getContestNames()
|
||||
@ -2752,7 +2823,6 @@ QStringList DataProxy_SQLite::getContestCat(const int _catn)
|
||||
default:
|
||||
return QStringList();
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
@ -2782,8 +2852,6 @@ QStringList DataProxy_SQLite::getContestCat(const int _catn)
|
||||
query.finish();
|
||||
return QStringList();
|
||||
}
|
||||
return QStringList();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2826,8 +2894,6 @@ QStringList DataProxy_SQLite::getContestOverlays()
|
||||
query.finish();
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
QStringList DataProxy_SQLite::getPropModeList()
|
||||
@ -3188,7 +3254,6 @@ QStringList DataProxy_SQLite::getValidCatOptions(const int _currentCat, const in
|
||||
|
||||
case 0:
|
||||
queryString = QString("SELECT DISTINCT contestcatoperator.name FROM contestcatoperator JOIN contest ON contest.catoperator=contestcatoperator.id WHERE contest.contest='%1' ORDER BY contestcatoperator.id").arg(_lowerCat);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
queryString = QString("SELECT DISTINCT contestcatassisted.name FROM contestcatassisted JOIN contest ON contest.catassisted=contestcatassisted.id WHERE contest.catoperator='1' ORDER BY contestcatassisted.id").arg(_lowerCat);
|
||||
@ -3208,7 +3273,6 @@ QStringList DataProxy_SQLite::getValidCatOptions(const int _currentCat, const in
|
||||
default:
|
||||
return QStringList();
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
sqlOK = query.exec(queryString);
|
||||
@ -3991,8 +4055,8 @@ QStringList DataProxy_SQLite::getDataFromContestType(const int _n)
|
||||
query.finish();
|
||||
return QStringList();
|
||||
}
|
||||
query.finish();
|
||||
return dataC;
|
||||
//query.finish();
|
||||
//return dataC;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4187,8 +4251,17 @@ bool DataProxy_SQLite::fillEmptyDXCCInTheLog()
|
||||
|
||||
int DataProxy_SQLite::getHowManyQSOInLog(const int _log)
|
||||
{
|
||||
QString queryString = QString();
|
||||
QSqlQuery query;
|
||||
QString queryString = QString("SELECT count(id) FROM log WHERE lognumber='%1'").arg(_log);
|
||||
if (_log < 0)
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log");
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE lognumber='%1'").arg(_log);
|
||||
}
|
||||
|
||||
bool sqlOK = query.exec(queryString);
|
||||
|
||||
if (sqlOK)
|
||||
@ -4217,13 +4290,21 @@ int DataProxy_SQLite::getHowManyQSOInLog(const int _log)
|
||||
|
||||
int DataProxy_SQLite::getHowManyConfirmedQSLInLog(const int _log)
|
||||
{
|
||||
if (!doesThisLogExist(_log))
|
||||
if (!doesThisLogExist(_log) && (_log>0))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString queryString = QString();
|
||||
QSqlQuery query;
|
||||
QString queryString = QString("SELECT count(id) FROM log WHERE qsl_rcvd='Y' AND lognumber='%1'").arg(_log);
|
||||
if (_log < 0)
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE qsl_rcvd='Y' ");
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE qsl_rcvd='Y' AND lognumber='%1'").arg(_log);
|
||||
}
|
||||
|
||||
bool sqlOK = query.exec(queryString);
|
||||
|
||||
if (sqlOK)
|
||||
@ -4249,6 +4330,101 @@ int DataProxy_SQLite::getHowManyConfirmedQSLInLog(const int _log)
|
||||
}
|
||||
}
|
||||
|
||||
int DataProxy_SQLite::getQSOsInBand(const QString _band, const int _log)
|
||||
{
|
||||
if (!doesThisLogExist(_log) && (_log>0))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int bandId = getIdFromBandName(_band);
|
||||
if ( bandId < 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString queryString = QString();
|
||||
QSqlQuery query;
|
||||
if (_log < 0)
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE bandid='%1'").arg(bandId);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE bandid='%1' AND lognumber='%2'").arg(bandId).arg(_log);
|
||||
}
|
||||
|
||||
bool sqlOK = query.exec(queryString);
|
||||
|
||||
if (sqlOK)
|
||||
{
|
||||
query.next();
|
||||
if (query.isValid())
|
||||
{
|
||||
int v = (query.value(0)).toInt();
|
||||
query.finish();
|
||||
return v;
|
||||
}
|
||||
else
|
||||
{
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery());
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int DataProxy_SQLite::getQSOsInMode(const QString _mode, const int _log)
|
||||
{
|
||||
if (!doesThisLogExist(_log) && (_log>0))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int modeId = getIdFromModeName(_mode);
|
||||
if ( modeId < 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString queryString = QString();
|
||||
QSqlQuery query;
|
||||
if (_log < 0)
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE modeid='%1'").arg(modeId);
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = QString("SELECT count(id) FROM log WHERE modeid='%1' AND lognumber='%2'").arg(modeId).arg(_log);
|
||||
}
|
||||
|
||||
bool sqlOK = query.exec(queryString);
|
||||
|
||||
if (sqlOK)
|
||||
{
|
||||
query.next();
|
||||
if (query.isValid())
|
||||
{
|
||||
int v = (query.value(0)).toInt();
|
||||
query.finish();
|
||||
return v;
|
||||
}
|
||||
else
|
||||
{
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery());
|
||||
query.finish();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool DataProxy_SQLite::addNewLog (const QStringList _qs)
|
||||
{
|
||||
@ -4564,7 +4740,6 @@ bool DataProxy_SQLite::isValidContinentShortName(const QString _n)
|
||||
query.finish();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int DataProxy_SQLite::getITUzFromPrefix(const QString _p)
|
||||
@ -4686,7 +4861,7 @@ int DataProxy_SQLite::getITUzFromEntity(const int _n)
|
||||
|
||||
QString DataProxy_SQLite::getEntityNameFromId(const int _n)
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::getEntityNameFromId: " << QString::number(_n) << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntityNameFromId: " << QString::number(_n) << endl;
|
||||
|
||||
QSqlQuery query;
|
||||
QString queryString = QString("SELECT name FROM entity WHERE dxcc='%1'").arg(_n);
|
||||
@ -4971,9 +5146,7 @@ double DataProxy_SQLite::getLatitudeFromEntity(const int _e)
|
||||
query.finish();
|
||||
return v;
|
||||
}
|
||||
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
QString DataProxy_SQLite::getEntityPrefixes(const int _enti)
|
||||
@ -5022,7 +5195,7 @@ QString DataProxy_SQLite::getEntityPrefixes(const int _enti)
|
||||
}
|
||||
}
|
||||
|
||||
return QString();
|
||||
//return QString();
|
||||
}
|
||||
|
||||
QStringList DataProxy_SQLite::getEntitiesNames()
|
||||
@ -5269,7 +5442,7 @@ QString DataProxy_SQLite::getISOName(const int _n)
|
||||
}
|
||||
}
|
||||
//qDebug() << "DataProxy_SQLite::getISOName: NO ISO Name: default" << endl;
|
||||
return "un"; // When no flag is known, we return the UN flag
|
||||
//return "un"; // When no flag is known, we return the UN flag
|
||||
}
|
||||
|
||||
void DataProxy_SQLite::getFoundInLog(const QString _txt, const int _log)
|
||||
|
@ -161,9 +161,21 @@ public:
|
||||
|
||||
bool clearLog();
|
||||
|
||||
// Stats
|
||||
int getQSOonYear(const int _year, const int _logNumber);
|
||||
int getDXCConYear(const int _year, const int _logNumber);
|
||||
int getCQzonYear(const int _year, const int _logNumber);
|
||||
int getQSOsWithDXCC(const int _dxcc, const int _logNumber);
|
||||
|
||||
int getHowManyQSOInLog(const int _log);
|
||||
int getHowManyConfirmedQSLInLog(const int _log);
|
||||
|
||||
int getQSOsInBand(const QString _band, const int _log);
|
||||
int getQSOsInMode(const QString _mode, const int _log);
|
||||
|
||||
// Stats - end
|
||||
|
||||
|
||||
bool newDXMarathon(const int _dxcc, const int _cq, const int _year, const int _logNumber);
|
||||
|
||||
QStringList getContestNames();
|
||||
@ -189,8 +201,7 @@ public:
|
||||
QStringList getValidCatOptions(const int _currentCat, const int _lowerCa);
|
||||
|
||||
bool fillEmptyDXCCInTheLog();
|
||||
int getHowManyQSOInLog(const int _log);
|
||||
int getHowManyConfirmedQSLInLog(const int _log);
|
||||
|
||||
int getNumberOfManagedLogs();
|
||||
QStringList getListOfManagedLogs();
|
||||
int getMaxLogNumber();
|
||||
|
@ -49,7 +49,7 @@ void DXCCStatusWidget::createUI()
|
||||
//showAllLogsButton->setText("All logs");
|
||||
|
||||
dxccView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
//dxccView->setSortingEnabled(true);
|
||||
dxccView->setSortingEnabled(true);
|
||||
dxccView->horizontalHeader()->setStretchLastSection(true);
|
||||
dxccView->setColumnCount(numberOfColumns);
|
||||
dxccView->setRowCount(0);
|
||||
@ -75,30 +75,38 @@ void DXCCStatusWidget::createUI()
|
||||
|
||||
void DXCCStatusWidget::update()
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::update " << endl;
|
||||
//qDebug() << "DXCCStatusWidget::update " << endl;
|
||||
//int entities = world->getHowManyEntities();
|
||||
int entities = dataProxy->getMaxEntityID(false);
|
||||
|
||||
//qDebug() << "DXCCStatusWidget::update: " << QString::number(entities) << " entities to update" << endl;
|
||||
//qDebug() << "DXCCStatusWidget::update: " << QString::number(entities) << " entities to update" << endl;
|
||||
QStringList list;
|
||||
//qDebug() << "DXCCStatusWidget::update: -1" << endl;
|
||||
list.clear();
|
||||
//qDebug() << "DXCCStatusWidget::update: -2" << endl;
|
||||
|
||||
QString aux;
|
||||
//dxccView->sortByColumn(1, Qt::AscendingOrder);
|
||||
dxccView->clearContents();
|
||||
|
||||
tempLog = -1;
|
||||
for (int i=1; i<=entities; i++)
|
||||
//qDebug() << "DXCCStatusWidget::update: -3" << endl;
|
||||
if (dxccView->columnCount()>1)
|
||||
{
|
||||
aux = world->getEntityName(i);
|
||||
list.clear();
|
||||
if (aux.length()>2)
|
||||
//dxccView->sortByColumn(1, Qt::AscendingOrder);
|
||||
dxccView->clearContents();
|
||||
tempLog = -1;
|
||||
//qDebug() << "DXCCStatusWidget::update pre FOR" << endl;
|
||||
for (int i=1; i<=entities; i++)
|
||||
{
|
||||
list << QString::number(i) << aux << bandNames;
|
||||
addEntity(list);
|
||||
//qDebug() << "DXCCStatusWidget::update in FOR " << QString::number(i) << endl;
|
||||
aux = world->getEntityName(i);
|
||||
//qDebug() << "DXCCStatusWidget::update in FOR aux: " << aux << endl;
|
||||
list.clear();
|
||||
if (aux.length()>2) // Not all integers refers to an entity.
|
||||
{
|
||||
list << QString::number(i) << aux << bandNames;
|
||||
addEntity(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
dxccView->setSortingEnabled(true);
|
||||
//qDebug() << "DXCCStatusWidget::update END" << endl;
|
||||
//qDebug() << "DXCCStatusWidget::update END" << endl;
|
||||
}
|
||||
|
||||
void DXCCStatusWidget::addEntity(QStringList const _ent)
|
||||
@ -217,21 +225,21 @@ void DXCCStatusWidget::setBands(QStringList const _ent, const bool _creating)
|
||||
//qDebug() << "DXCCStatusWidget::setBands: " << QString::number(_ent.length()) << endl;
|
||||
if (_creating)
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::setBands (creating true) " << QString::number(_ent.length()) << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands (creating true) " << QString::number(_ent.length()) << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::setBands (creating false) " << QString::number(_ent.length()) << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands (creating false) " << QString::number(_ent.length()) << endl;
|
||||
}
|
||||
|
||||
QStringList qs;
|
||||
qs.clear();
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 1 " << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 1 " << endl;
|
||||
qs << dataProxy->sortBandNamesBottonUp(_ent);
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 2 " << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 2 " << endl;
|
||||
if (qs.length()<0)
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::setBands no bands received here " << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands no bands received here " << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -254,7 +262,7 @@ void DXCCStatusWidget::setBands(QStringList const _ent, const bool _creating)
|
||||
//bands.clear();
|
||||
for (int i = 0; i<qs.length(); i++)
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::setBands-1: " << qs.at(i) << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands-1: " << qs.at(i) << endl;
|
||||
testBand = qs.at(i);
|
||||
|
||||
if (validBands.contains(qs.at(i)))
|
||||
@ -267,7 +275,7 @@ void DXCCStatusWidget::setBands(QStringList const _ent, const bool _creating)
|
||||
//qDebug() << "DXCCStatusWidget::setBands: Not valid band: " << testBand << endl;
|
||||
}
|
||||
}
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 5 " << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands - 5 " << endl;
|
||||
|
||||
numberOfColumns = 2 + bandNames.length();
|
||||
dxccView->setColumnCount(numberOfColumns);
|
||||
@ -278,14 +286,15 @@ void DXCCStatusWidget::setBands(QStringList const _ent, const bool _creating)
|
||||
headerqs << tr("ID") << tr("Entity") << bandNames;
|
||||
dxccView->setHorizontalHeaderLabels(headerqs);
|
||||
|
||||
//qDebug() << "DXCCStatusWidget::setBands: PRE-END" << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands: PRE-END" << endl;
|
||||
|
||||
if (!_creating)
|
||||
{
|
||||
//qDebug() << "DXCCStatusWidget::setBands: !_creating" << endl;
|
||||
update();
|
||||
}
|
||||
|
||||
//qDebug() << "DXCCStatusWidget::setBands: END" << endl;
|
||||
//qDebug() << "DXCCStatusWidget::setBands: END" << endl;
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include <QUrl>
|
||||
#include <QNetworkRequest>
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
//#include <QDebug>
|
||||
|
||||
|
||||
@ -69,18 +68,11 @@ eLogClubLog::~eLogClubLog()
|
||||
{
|
||||
//qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Password Error! = " << QString::number(result) << endl;
|
||||
text = "ClubLog: " + tr("It seems to be a PASSWORD ERROR; check your password.");
|
||||
QString _title = QString(tr("KLog - ClubLog"));
|
||||
QString _mText = QString( tr("It seems that your ClubLog password is not correct.") + "\n" +
|
||||
tr("Please check your password in the setup. ClubLog uploads will be disabled."));
|
||||
int ret = QMessageBox::warning(0, _title, _mText, QMessageBox::Ok);
|
||||
/*
|
||||
int ret = QMessageBox::warning(this, tr("KLog - ClubLog"),
|
||||
|
||||
int ret = QMessageBox::warning(0, tr("KLog - ClubLog"),
|
||||
tr("It seems that your ClubLog password is not correct.") + "\n" +
|
||||
tr("Please check your password in the setup. ClubLog uploads will be disabled."),
|
||||
QMessageBox::Ok);
|
||||
*/
|
||||
|
||||
|
||||
emit disableClubLogAction(true);
|
||||
//TODO: Mark the previous QSO as not sent to clublog
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
* *
|
||||
*****************************************************************************/
|
||||
#include <QObject>
|
||||
#include <QtWidgets>
|
||||
#include <QFile>
|
||||
#include <QString>
|
||||
#include <QMessageBox>
|
||||
|
2
klog.1
2
klog.1
@ -1,4 +1,4 @@
|
||||
.TH KLog 1 "version 0.9.4" "Jaime Robles, EA4TV" "Hamradio"
|
||||
.TH KLog 1 "version 0.9.3" "Jaime Robles, EA4TV" "Hamradio"
|
||||
.SH "NAME"
|
||||
klog \- The Ham Radio Logging program
|
||||
|
||||
|
2
main.cpp
2
main.cpp
@ -31,7 +31,7 @@
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QString version = "0.9.4.1" ;
|
||||
QString version = "0.9.5" ;
|
||||
QDir d1 = QDir();
|
||||
Utilities util = Utilities();
|
||||
QStringList arguments;
|
||||
|
@ -180,6 +180,8 @@ MainWindow::MainWindow(const QString _klogDir, const QString tversion)
|
||||
confirmedColor.setNamedColor("red");
|
||||
newOneColor.setNamedColor("green");
|
||||
|
||||
statsWidget = new StatisticsWidget(dataProxy);
|
||||
//statsWidget->show();
|
||||
//Default band/modes
|
||||
bands << "10M" << "15M" << "20M" << "40M" << "80M" << "160M";
|
||||
modes << "SSB" << "CW" << "RTTY";
|
||||
@ -2380,19 +2382,19 @@ void MainWindow::createUICQWW()
|
||||
modeComboBox->addItems(modes);
|
||||
|
||||
qrzLineEdit->setToolTip(tr("QRZ of the QSO."));
|
||||
rstTXLineEdit->setToolTip(tr("TX RST"));
|
||||
rstRXLineEdit->setToolTip(tr("RX RST"));
|
||||
STXLineEdit->setToolTip(tr("TX Exchange"));
|
||||
rstTXLineEdit->setToolTip(tr("TX RST."));
|
||||
rstRXLineEdit->setToolTip(tr("RX RST."));
|
||||
STXLineEdit->setToolTip(tr("TX Exchange."));
|
||||
SRXLineEdit->setToolTip(tr("RX Exchange"));
|
||||
bandComboBox->setToolTip(tr("Band of the QSO"));
|
||||
modeComboBox->setToolTip(tr("Mode of the QSO"));
|
||||
dateEdit->setToolTip(tr("Date of the QSO"));
|
||||
timeEdit->setToolTip(tr("Time of the QSO"));
|
||||
bandComboBox->setToolTip(tr("Band of the QSO."));
|
||||
modeComboBox->setToolTip(tr("Mode of the QSO."));
|
||||
dateEdit->setToolTip(tr("Date of the QSO."));
|
||||
timeEdit->setToolTip(tr("Time of the QSO."));
|
||||
//statusBar->setToolTip(tr("Misc information"));
|
||||
//qsoStatusBar->setToolTip(tr("QSO information"));
|
||||
OKButton->setToolTip(tr("Add the QSO to the log"));
|
||||
OKButton->setToolTip(tr("Add the QSO to the log."));
|
||||
//spotItButton->setToolTip(tr("Spots this QSO to the DX Cluster"));
|
||||
clearButton->setToolTip(tr("Clear the box"));
|
||||
clearButton->setToolTip(tr("Clear the box."));
|
||||
|
||||
gridGroupBox = new QGroupBox(tr("Input"));
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
@ -2591,7 +2593,7 @@ void MainWindow::createActionsCommon(){
|
||||
// UDPLogServer - WSJT-x
|
||||
|
||||
connect(UDPLogServer, SIGNAL(status_update(int, QString, double, QString, QString, QString, QString, QString, QString)), this, SLOT(slotWSJXstatusFromUDPServer(int, QString, double, QString, QString, QString, QString, QString, QString) ) );
|
||||
connect(UDPLogServer, SIGNAL( logged_qso(int,QString,double,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString)), this, SLOT(slotWSJTXloggedQSO(int,QString,double,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString) ) );
|
||||
connect(UDPLogServer, SIGNAL( logged_qso(int,QString,double,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString)), this, SLOT(slotWSJTXloggedQSO(int,QString,double,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString,QString) ) );
|
||||
|
||||
|
||||
}
|
||||
@ -3291,22 +3293,13 @@ void MainWindow::slotRefreshDXCCWidget()
|
||||
}
|
||||
|
||||
|
||||
|
||||
void MainWindow::slotUpdateTime()
|
||||
{
|
||||
// //qDebug() << "MainWindow::slotUpdateTime: " << (dateTime->currentDateTime()).toString("yyyy-MM-dd - hh:mm:ss") << endl;
|
||||
// ((dateTime->currentDateTimeUtc()).date()).toString()
|
||||
//(dateTime->currentDateTime()).date()
|
||||
dateTime->currentDateTime();
|
||||
|
||||
if ( (!modify) && (realTime) )
|
||||
{
|
||||
|
||||
//dateTime->currentDateTime();
|
||||
|
||||
|
||||
|
||||
|
||||
if (UTCTime)
|
||||
{
|
||||
timeEdit->setTime((dateTime->currentDateTime().toUTC()).time());
|
||||
@ -3534,6 +3527,12 @@ void MainWindow::createMenusCommon()
|
||||
|
||||
toolMenu->addSeparator();
|
||||
|
||||
showStatsAct = new QAction (tr("Show stats"), this);
|
||||
toolMenu->addAction(showStatsAct);
|
||||
connect(showStatsAct, SIGNAL(triggered()), this, SLOT(slotShowStats()));
|
||||
showStatsAct->setToolTip(tr("Show the statistics of your radio activity."));
|
||||
|
||||
toolMenu->addSeparator();
|
||||
|
||||
setupMenu = menuBar()->addMenu(tr("&Setup"));
|
||||
|
||||
@ -4768,11 +4767,10 @@ void MainWindow::selectDefaultMode()
|
||||
{
|
||||
//qDebug() << "MainWindow::selectDefaultMode" << endl;
|
||||
|
||||
QString aux;
|
||||
aux = QString();
|
||||
int aux = -1;
|
||||
|
||||
defaultMode = dataProxy->getMostUsedMode(currentLog);
|
||||
//qDebug() << "MainWindow::selectDefaultMode: " << QString::number(defaultMode) << endl;
|
||||
//qDebug() << "MainWindow::selectDefaultMode: " << QString::number(defaultMode) << endl;
|
||||
|
||||
if (defaultMode < 1)
|
||||
{
|
||||
@ -4783,7 +4781,7 @@ void MainWindow::selectDefaultMode()
|
||||
|
||||
}
|
||||
aux = dataProxy->getModeFromId(defaultMode);
|
||||
modeComboBox->setCurrentIndex(modeComboBox->findText(aux));
|
||||
modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromModeId(aux)));
|
||||
|
||||
//qDebug() << "MainWindow::selectDefaultMode3: " << QString::number(defaultMode) << endl;
|
||||
//qDebug() << "MainWindow::selectDefaultMode3S: " << modeComboBox->itemText(0) << endl;
|
||||
@ -5556,8 +5554,6 @@ void MainWindow::initialContestModeConfiguration()
|
||||
//bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive));
|
||||
|
||||
//qDebug() << "MainWindow::initialContestModeConfiguration-1: " << QString::number(defaultBand) << endl;
|
||||
//qDebug() << "MainWindow::initialContestModeConfiguration-1: " << aux << endl;
|
||||
//qDebug() << "MainWindow::initialContestModeConfiguration-1: " << QString::number(bandComboBox->findText(aux, Qt::MatchCaseSensitive)) << endl;
|
||||
//qDebug() << "MainWindow::initialContestModeConfiguration-1-index: " << bandComboBox->currentText() << endl;
|
||||
}
|
||||
else if (contestMode == "CQ-WW-SSB")
|
||||
@ -6420,6 +6416,11 @@ void MainWindow::slotUpdateCTYDAT()
|
||||
downloadcty->download();
|
||||
}
|
||||
|
||||
void MainWindow::slotShowStats()
|
||||
{
|
||||
statsWidget->show();
|
||||
}
|
||||
|
||||
void MainWindow::slotWorldReload()
|
||||
{
|
||||
//qDebug() << "MainWindow::slotWorldReload" << endl;
|
||||
@ -6662,7 +6663,6 @@ double MainWindow::checkFreqRanges(double _f)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//void MainWindow::clusterSpotToLog(const QStringList _qs)
|
||||
@ -7106,7 +7106,7 @@ void MainWindow::slotShowQSOsFromDXCCWidget(QList<int> _qsos)
|
||||
|
||||
void MainWindow::slotWSJTXloggedQSO(const int _type, const QString _dxcall, const double _freq, const QString _mode,
|
||||
const QString _dx_grid, const QString _time_off, const QString _report_sent, const QString _report_rec,
|
||||
const QString _tx_power, const QString _comments, const QString _name, const QString _time_on, const QString _de_call, const QString _opCall, const QString _de_grid)
|
||||
const QString _tx_power, const QString _comments, const QString _name, const QString _time_on, const QString _de_call, const QString _de_grid)
|
||||
{
|
||||
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO type: " << QString::number(_type) << endl;
|
||||
@ -7119,8 +7119,6 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString _dxcall, cons
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO mode: " << _mode << endl;
|
||||
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO dx_grid: " << _dx_grid << endl;
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO dx_grid: " << _de_grid << endl;
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO opCall: " << _opCall << endl;
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO time_on: " << _time_on << endl;
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO time_off: " << _time_off << endl;
|
||||
|
||||
@ -7130,26 +7128,8 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString _dxcall, cons
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO comments: " << _comments << endl;
|
||||
//qDebug() << "MainWindow::slotWSJTX-loggedQSO name: " << _name << endl;
|
||||
|
||||
QString _oper = QString();
|
||||
QString _myLoc = QString();
|
||||
|
||||
|
||||
|
||||
if (_type == 5)
|
||||
{
|
||||
_oper = _opCall;
|
||||
_myLoc = _de_grid;
|
||||
|
||||
if (!(util->isValidCall(_oper)))
|
||||
{
|
||||
_oper = operatorQRZ;
|
||||
}
|
||||
|
||||
if (!(locator->isValidLocator(_myLoc)))
|
||||
{
|
||||
_myLoc = myLocator;
|
||||
}
|
||||
|
||||
if (wsjtxAutoLog)
|
||||
{ // Log automatically, without confirmation
|
||||
logTheQso = true;
|
||||
@ -7196,10 +7176,10 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString _dxcall, cons
|
||||
"<b>" + tr("TX Pwr") + ": " + "</b>" + _tx_power +
|
||||
"</LI>" +
|
||||
"<LI>" +
|
||||
"<b>" + tr("Operator") + ": " + "</b>" + _oper.toUpper() +
|
||||
"<b>" + tr("Operator") + ": " + "</b>" + _de_call.toUpper() +
|
||||
"</LI>" +
|
||||
"<LI>" +
|
||||
"<b>" + tr("Local-Grid") + ": " + "</b>" + _myLoc +
|
||||
"<b>" + tr("Local-Grid") + ": " + "</b>" + _de_grid +
|
||||
"</LI>" +
|
||||
"</UL>" ;
|
||||
|
||||
@ -7228,6 +7208,17 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString _dxcall, cons
|
||||
int dxcc = world->getQRZARRLId(_dxcall);
|
||||
dxcc = util->getNormalizedDXCCValue(dxcc);
|
||||
|
||||
QString _oper = _de_call;
|
||||
if (!(util->isValidCall(_oper)))
|
||||
{
|
||||
_oper = operatorQRZ;
|
||||
}
|
||||
|
||||
QString _myLoc = _de_grid;
|
||||
if (!(locator->isValidLocator(_myLoc)))
|
||||
{
|
||||
_myLoc = myLocator;
|
||||
}
|
||||
|
||||
qsoLogged = dataProxy->addQSOFromWSJTX(_dxcall.toUpper(), _freq, _mode, _dx_grid, _time_off, _report_sent, _report_rec, _tx_power, _comments, _name, _time_on, dxcc, _oper, stationQRZ, _myLoc, currentLog);
|
||||
|
||||
|
13
mainwindow.h
13
mainwindow.h
@ -64,6 +64,8 @@
|
||||
#include "infowidget.h"
|
||||
#include "showerrordialog.h"
|
||||
#include "udpserver.h"
|
||||
#include "statisticswidget.h"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -216,6 +218,7 @@ private slots:
|
||||
void slotSetPropMode(const QString _p);
|
||||
void slotFillEmptyDXCCInTheLog();
|
||||
void slotUpdateCTYDAT();
|
||||
void slotShowStats();
|
||||
void slotWorldReload();
|
||||
|
||||
void slotExitFromSlotDialog(const int exitID);
|
||||
@ -286,11 +289,8 @@ private slots:
|
||||
|
||||
|
||||
void slotWSJTXloggedQSO(const int _type, const QString _dxcall, const double _freq, const QString _mode,
|
||||
const QString _dx_grid, const QString _time_off, const QString _report_sent,
|
||||
const QString _report_rec, const QString _tx_power, const QString _comments,
|
||||
const QString _name, const QString _time_on, const QString _de_call, const QString _opCall, const QString _de_grid);
|
||||
|
||||
|
||||
const QString _dx_grid, const QString _time_off, const QString _report_sent, const QString _report_rec,
|
||||
const QString _tx_power, const QString _comments, const QString _name, const QString _time_on, const QString _de_call, const QString _de_grid);
|
||||
|
||||
private:
|
||||
bool maybeSave();
|
||||
@ -386,7 +386,7 @@ private:
|
||||
QPushButton *addButton;
|
||||
//QLabel *distShortLabelN;
|
||||
//QLabel *distLongLabelN;
|
||||
|
||||
StatisticsWidget *statsWidget;
|
||||
DXCCStatusWidget *dxccStatusWidget;
|
||||
//QSqlRelationalTableModel *logModel;
|
||||
//QWidget *logPanel;
|
||||
@ -463,6 +463,7 @@ private:
|
||||
QAction *lotwMarkSentYesAct;
|
||||
|
||||
QAction *downloadCTYAct;
|
||||
QAction *showStatsAct;
|
||||
|
||||
QAction *loggWinAct;
|
||||
/*
|
||||
|
@ -75,12 +75,12 @@ void MainWindowInputOthers::createUI()
|
||||
entityNameLabel->setAlignment(Qt::AlignVCenter| Qt::AlignRight);
|
||||
propModeLabel->setAlignment(Qt::AlignVCenter| Qt::AlignRight);
|
||||
|
||||
entityPrimDivComboBox->setToolTip(tr("Select the primary division for this QSO"));
|
||||
entitySecDivComboBox->setToolTip(tr("Select the secondary division for this QSO"));
|
||||
entityNameComboBox->setToolTip(tr("Select the entity for this QSO"));
|
||||
propModeComboBox->setToolTip(tr("Select the propagation mode for this QSO"));
|
||||
iotaContinentComboBox->setToolTip(tr("Select the IOTA continent for this QSO"));
|
||||
iotaNumberLineEdit->setToolTip(tr("Select the IOTA reference number for this QSO"));
|
||||
entityPrimDivComboBox->setToolTip(tr("Select the primary division for this QSO."));
|
||||
entitySecDivComboBox->setToolTip(tr("Select the secondary division for this QSO."));
|
||||
entityNameComboBox->setToolTip(tr("Select the entity for this QSO."));
|
||||
propModeComboBox->setToolTip(tr("Select the propagation mode for this QSO."));
|
||||
iotaContinentComboBox->setToolTip(tr("Select the IOTA continent for this QSO."));
|
||||
iotaNumberLineEdit->setToolTip(tr("Select the IOTA reference number for this QSO."));
|
||||
|
||||
entityPrimDivComboBox->setEnabled(false);
|
||||
entitySecDivComboBox->setEnabled(false);
|
||||
|
@ -63,14 +63,14 @@ void MainWindowMyDataTab::createUI()
|
||||
QLabel *keepLabel = new QLabel();
|
||||
keepLabel->setText(tr("Keep this data"));
|
||||
keepLabel->setAlignment(Qt::AlignVCenter| Qt::AlignRight);
|
||||
keepLabel->setToolTip(tr("Data entered in this tab will be copied into the next QSO"));
|
||||
keepLabel->setToolTip(tr("Data entered in this tab will be copied into the next QSO."));
|
||||
|
||||
keepThisDataForNextQSORadiobutton->setToolTip(tr("Data entered in this tab will be copied into the next QSO"));
|
||||
keepThisDataForNextQSORadiobutton->setToolTip(tr("Data entered in this tab will be copied into the next QSO."));
|
||||
|
||||
myPowerSpinBox->setToolTip(tr("Power used for the QSO in watts"));
|
||||
operatorLineEdit->setToolTip(tr("Logging operator's callsign"));
|
||||
stationCallSignLineEdit->setToolTip(tr("Callsign used over the air"));
|
||||
myLocatorLineEdit->setToolTip(tr("My QTH locator"));
|
||||
myPowerSpinBox->setToolTip(tr("Power used for the QSO in watts."));
|
||||
operatorLineEdit->setToolTip(tr("Logging operator's callsign."));
|
||||
stationCallSignLineEdit->setToolTip(tr("Callsign used over the air."));
|
||||
myLocatorLineEdit->setToolTip(tr("My QTH locator."));
|
||||
|
||||
QLabel *myPowerSpinBoxLabelN = new QLabel(tr("Power"));
|
||||
myPowerSpinBoxLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignRight);
|
||||
|
@ -77,19 +77,19 @@ void MainWindowSatTab::createUI()
|
||||
QLabel *keepLabel = new QLabel();
|
||||
keepLabel->setText(tr("Keep this data"));
|
||||
keepLabel->setAlignment(Qt::AlignVCenter| Qt::AlignRight);
|
||||
keepLabel->setToolTip(tr("Data entered in this tab will be copied into the next QSO"));
|
||||
keepLabel->setToolTip(tr("Data entered in this tab will be copied into the next QSO."));
|
||||
|
||||
keepThisDataForNextQSORadiobutton->setToolTip(tr("Data entered in this tab will be copied into the next QSO"));
|
||||
keepThisDataForNextQSORadiobutton->setToolTip(tr("Data entered in this tab will be copied into the next QSO."));
|
||||
QString othersat = tr("Other - Sat not in the list");
|
||||
QString aux;
|
||||
aux.clear();
|
||||
aux = QString(tr("Name of the Satellite if not in the list. Select: \"")) + othersat + QString(tr("\" to enable this box. (format like AO-51)"));
|
||||
aux = QString(tr("Name of the Satellite if not in the list. Select: \"")) + othersat + QString(tr("\" to enable this box. (format like AO-51)."));
|
||||
satNameLineEdit->setToolTip(aux);
|
||||
//satNameLineEdit->setToolTip(tr("Name of the Satellite if not in the list. Select Other Sat (format like AO-51)"));
|
||||
satModeLineEdit->setToolTip(tr("Satellite mode used"));
|
||||
satNameComboBox->setToolTip(tr("Select the satellite you are using"));
|
||||
satBandTXComboBox->setToolTip(tr("UpLink band"));
|
||||
satBandRXComboBox->setToolTip(tr("DownLink band"));
|
||||
satModeLineEdit->setToolTip(tr("Satellite mode used."));
|
||||
satNameComboBox->setToolTip(tr("Select the satellite you are using."));
|
||||
satBandTXComboBox->setToolTip(tr("UpLink band."));
|
||||
satBandRXComboBox->setToolTip(tr("DownLink band."));
|
||||
satDXLocatorLineEdit->setToolTip(tr("Locator of the DX station. This box is syncronized with the Locator box in the QSO tab."));
|
||||
|
||||
QLabel *upLinkLabel = new QLabel();
|
||||
|
@ -68,15 +68,15 @@ SetupEntityDialog::SetupEntityDialog(){
|
||||
|
||||
QLabel *entityLabel = new QLabel(tr("Entity"));
|
||||
entityLineEdit = new QLineEdit;
|
||||
entityLineEdit->setToolTip(tr("Name of the Entity"));
|
||||
entityLineEdit->setToolTip(tr("Name of the Entity."));
|
||||
|
||||
QLabel *cqLabel = new QLabel(tr("CQ"));
|
||||
cqLineEdit = new QLineEdit;
|
||||
cqLineEdit->setToolTip(tr("CQ zone"));
|
||||
cqLineEdit->setToolTip(tr("CQ zone."));
|
||||
|
||||
QLabel *ituLabel = new QLabel(tr("ITU"));
|
||||
ituLineEdit = new QLineEdit;
|
||||
ituLineEdit->setToolTip(tr("ITU zone"));
|
||||
ituLineEdit->setToolTip(tr("ITU zone."));
|
||||
|
||||
//QLabel *contLabel = new QLabel(tr("Continent"));
|
||||
//contLineEdit = new QLineEdit;
|
||||
@ -84,25 +84,25 @@ SetupEntityDialog::SetupEntityDialog(){
|
||||
|
||||
QLabel *latLabel = new QLabel(tr("Latitude"));
|
||||
latLineEdit = new QLineEdit;
|
||||
latLineEdit->setToolTip(tr("Longitude of the Entity"));
|
||||
latLineEdit->setToolTip(tr("Longitude of the Entity."));
|
||||
|
||||
QLabel *lonLabel = new QLabel(tr("Longitude"));
|
||||
lonLineEdit = new QLineEdit;
|
||||
lonLineEdit->setToolTip(tr("Longitude of the Entity"));
|
||||
lonLineEdit->setToolTip(tr("Longitude of the Entity."));
|
||||
|
||||
QLabel *utcLabel = new QLabel(tr("UTC"));
|
||||
utcLineEdit = new QLineEdit;
|
||||
utcLineEdit->setToolTip(tr("Local time difference to UTC"));
|
||||
utcLineEdit->setToolTip(tr("Local time difference to UTC."));
|
||||
|
||||
QLabel *mprefLabel = new QLabel(tr("Main prefix"));
|
||||
mprefLineEdit = new QLineEdit;
|
||||
mprefLineEdit->setToolTip(tr("Main prefix of the entity"));
|
||||
mprefLineEdit->setToolTip(tr("Main prefix of the entity."));
|
||||
|
||||
//qDebug() << "SetupEntityDialog::SetupEntityDialog - 1" << endl;
|
||||
|
||||
QLabel *arrlidLabel = new QLabel(tr("ARRL ID"));
|
||||
arrlidLineEdit = new QLineEdit;
|
||||
arrlidLineEdit->setToolTip(tr("ARRL ID"));
|
||||
arrlidLineEdit->setToolTip(tr("ARRL ID."));
|
||||
|
||||
//QLabel *deletedLabel = new QLabel(tr("Deleted"));
|
||||
//deletedLineEdit = new QLineEdit;
|
||||
@ -113,7 +113,7 @@ SetupEntityDialog::SetupEntityDialog(){
|
||||
prefLineEdit->setToolTip(tr("Comma separated possible prefixes, e.g. EA1, EA2, ..."));
|
||||
|
||||
delQDateEdit = new QDateEdit;
|
||||
delQDateEdit->setToolTip(tr("Date of the deletion"));
|
||||
delQDateEdit->setToolTip(tr("Date of the deletion."));
|
||||
|
||||
delRbutton = new QRadioButton(tr("Deleted"), this);
|
||||
|
||||
|
@ -60,9 +60,9 @@ SetupPageClubLog::SetupPageClubLog(QWidget *parent) : QWidget(parent)
|
||||
sendInRealTimeCheckBox = new QCheckBox(tr("&Send QSOs in real time"), this);
|
||||
clubLogActiveCheckBox = new QCheckBox(tr("&Activate ClubLog"), this);
|
||||
useQSOStationCallCheckBox = new QCheckBox(tr("Use QSO Station &Callsign"), this);
|
||||
sendInRealTimeCheckBox->setToolTip(tr("Send each QSO to ClubLog in real time, as they are added (or modified) in KLog"));
|
||||
clubLogActiveCheckBox->setToolTip(tr("Starts the ClubLog support in KLog"));
|
||||
useQSOStationCallCheckBox->setToolTip(tr("Use the Station Callsign defined in each QSO instead of the one defined here"));
|
||||
sendInRealTimeCheckBox->setToolTip(tr("Send each QSO to ClubLog in real time, as they are added (or modified) in KLog."));
|
||||
clubLogActiveCheckBox->setToolTip(tr("Starts the ClubLog support in KLog."));
|
||||
useQSOStationCallCheckBox->setToolTip(tr("Use the Station Callsign defined in each QSO instead of the one defined here."));
|
||||
|
||||
QHBoxLayout *callSLayout = new QHBoxLayout;
|
||||
callSLayout->addWidget(callLineEdit);
|
||||
|
@ -72,14 +72,14 @@ SetupPageLogs::SetupPageLogs(DataProxy *dp, QWidget *parent) : QWidget(parent){
|
||||
removePushButton = new QPushButton(tr("&Remove"), this);
|
||||
|
||||
|
||||
newLogPushButton->setToolTip(tr("Add a new log"));
|
||||
newLogPushButton->setToolTip(tr("Add a new log."));
|
||||
//loadAllPushButton->setToolTip(tr("Load all the logs"));
|
||||
//loadSelectedPushButton->setToolTip(tr("Load only the selected log"));
|
||||
//clearPushButton->setToolTip(tr("Clear selection"));
|
||||
editPushButton->setToolTip(tr("Edit the selected log"));
|
||||
removePushButton->setToolTip(tr("Remove the selected log"));
|
||||
editPushButton->setToolTip(tr("Edit the selected log."));
|
||||
removePushButton->setToolTip(tr("Remove the selected log."));
|
||||
|
||||
currentLogs->setToolTip(tr("Select the log you want to open"));
|
||||
currentLogs->setToolTip(tr("Select the log you want to open."));
|
||||
|
||||
QHBoxLayout *buttonsLayout = new QHBoxLayout;
|
||||
buttonsLayout->addWidget(newLogPushButton);
|
||||
|
@ -156,11 +156,11 @@ void SetupPageLogsNew::createWidget()
|
||||
validCats->setWordWrap(true);
|
||||
|
||||
|
||||
stationCallsignLineEdit->setToolTip(tr("Callsign used for this log"));
|
||||
operatorsLineEdit->setToolTip(tr("Comma separated list of operators: callsign1, callsign2"));
|
||||
stationCallsignLineEdit->setToolTip(tr("Callsign used for this log."));
|
||||
operatorsLineEdit->setToolTip(tr("Comma separated list of operators: callsign1, callsign2."));
|
||||
|
||||
dateEdit->setToolTip(tr("Start date of this log"));
|
||||
commentLineEdit->setToolTip(tr("Add a comment about this log"));
|
||||
dateEdit->setToolTip(tr("Start date of this log."));
|
||||
commentLineEdit->setToolTip(tr("Add a comment about this log."));
|
||||
|
||||
typeLabel->setText(tr("&Type of Operation"));
|
||||
typeLabel->setWordWrap(true);
|
||||
@ -169,7 +169,7 @@ void SetupPageLogsNew::createWidget()
|
||||
dateLabel->setWordWrap(true);
|
||||
|
||||
|
||||
typeComboBox->setToolTip(tr("Select the kind of operation for this log"));
|
||||
typeComboBox->setToolTip(tr("Select the kind of operation for this log."));
|
||||
QStringList _qs;
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestNames());
|
||||
@ -178,7 +178,7 @@ void SetupPageLogsNew::createWidget()
|
||||
|
||||
catModeLabel->setText(tr("&Mode Category"));
|
||||
catModeLabel->setWordWrap(true);
|
||||
contestCatModeComboBox->setToolTip(tr("Select the mode category"));
|
||||
contestCatModeComboBox->setToolTip(tr("Select the mode category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestCat(6));
|
||||
contestCatModeComboBox->addItems(_qs);
|
||||
@ -186,14 +186,14 @@ void SetupPageLogsNew::createWidget()
|
||||
//QLabel *catOpLabel = new QLabel(tr("Operators Category"));
|
||||
catOpLabel->setText(tr("O&perators Category"));
|
||||
catOpLabel->setWordWrap(true);
|
||||
contestCatOperatorsComboBox->setToolTip(tr("Select the operators category"));
|
||||
contestCatOperatorsComboBox->setToolTip(tr("Select the operators category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestCat(1));
|
||||
contestCatOperatorsComboBox->addItems(_qs);
|
||||
|
||||
catAsLabel->setText(tr("&Assisted Category"));
|
||||
catOpLabel->setWordWrap(true);
|
||||
contestCatAssistedComboBox->setToolTip(tr("Select the assisted category"));
|
||||
contestCatAssistedComboBox->setToolTip(tr("Select the assisted category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestCat(2));
|
||||
contestCatAssistedComboBox->addItems(_qs);
|
||||
@ -201,7 +201,7 @@ void SetupPageLogsNew::createWidget()
|
||||
//QLabel *catPowerLabel = new QLabel(tr("Power Category"));
|
||||
catPowerLabel->setText(tr("Po&wer Category"));
|
||||
catPowerLabel->setWordWrap(true);
|
||||
contestCatPowerComboBox->setToolTip(tr("Select the power category"));
|
||||
contestCatPowerComboBox->setToolTip(tr("Select the power category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestCat(3));
|
||||
contestCatPowerComboBox->addItems(_qs);
|
||||
@ -209,14 +209,14 @@ void SetupPageLogsNew::createWidget()
|
||||
//QLabel *catBandsLabel = new QLabel(tr("Bands Category"));
|
||||
catBandsLabel->setText(tr("&Bands Category"));
|
||||
catBandsLabel->setWordWrap(true);
|
||||
contestCatBandsComboBox->setToolTip(tr("Select the bands category"));
|
||||
contestCatBandsComboBox->setToolTip(tr("Select the bands category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestCat(4));
|
||||
contestCatBandsComboBox->addItems(_qs);
|
||||
|
||||
overlayLabel->setText(tr("O&verlay"));
|
||||
overlayLabel->setWordWrap(true);
|
||||
contestCatOverlayComboBox->setToolTip(tr("Select the Overlay category"));
|
||||
contestCatOverlayComboBox->setToolTip(tr("Select the Overlay category."));
|
||||
_qs.clear();
|
||||
_qs.append(dataProxy->getContestOverlays());
|
||||
contestCatOverlayComboBox->addItems(_qs);
|
||||
|
@ -117,7 +117,7 @@ void SetupPageMisc::createUI()
|
||||
keepMyDataCheckBox->setToolTip(tr("All the data from the My Data tab will be used or data from the previous QSO will be maintained."));
|
||||
checkNewVersionCheckBox->setToolTip(tr("Check if there is a new release of KLog available every time you start KLog."));
|
||||
provideCallCheckBox->setToolTip(tr("If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog."));
|
||||
imperialCheckBox ->setToolTip(tr("Check it for Imperial system (Miles instead of Kilometres)."));
|
||||
imperialCheckBox ->setToolTip(tr("Check it for Imperial system (Miles instead of Kilometers)."));
|
||||
realTimeCheckbox->setToolTip(tr("Select to use real time."));
|
||||
UTCCheckbox->setToolTip(tr("Select to use UTC time."));
|
||||
alwaysADIFCheckBox->setToolTip(tr("Select if you want to save to ADIF on exit."));
|
||||
|
@ -67,15 +67,15 @@ SetupPageUserDataPage::SetupPageUserDataPage(DataProxy *dp, QWidget *parent) : Q
|
||||
provinceLineEdit = new QLineEdit;
|
||||
countryLineEdit = new QLineEdit;
|
||||
|
||||
nameLineEdit->setToolTip(tr("Enter your name"));
|
||||
address1LineEdit->setToolTip(tr("Enter your address - 1st line"));
|
||||
address2LineEdit->setToolTip(tr("Enter your address - 2nd line"));
|
||||
address3LineEdit->setToolTip(tr("Enter your address - 3rd line"));
|
||||
address4LineEdit->setToolTip(tr("Enter your address - 4th line"));
|
||||
cityLineEdit->setToolTip(tr("Enter your city"));
|
||||
zipLineEdit->setToolTip(tr("Enter your zip code"));
|
||||
provinceLineEdit->setToolTip(tr("Enter your province or state"));
|
||||
countryLineEdit->setToolTip(tr("Enter your country"));
|
||||
nameLineEdit->setToolTip(tr("Enter your name."));
|
||||
address1LineEdit->setToolTip(tr("Enter your address - 1st line."));
|
||||
address2LineEdit->setToolTip(tr("Enter your address - 2nd line."));
|
||||
address3LineEdit->setToolTip(tr("Enter your address - 3rd line."));
|
||||
address4LineEdit->setToolTip(tr("Enter your address - 4th line."));
|
||||
cityLineEdit->setToolTip(tr("Enter your city."));
|
||||
zipLineEdit->setToolTip(tr("Enter your zip code."));
|
||||
provinceLineEdit->setToolTip(tr("Enter your province or state."));
|
||||
countryLineEdit->setToolTip(tr("Enter your country."));
|
||||
|
||||
QLabel *nameLabel = new QLabel(tr("&Name"));
|
||||
QLabel *addressLabel = new QLabel(tr("&Address"));
|
||||
@ -136,13 +136,13 @@ SetupPageUserDataPage::SetupPageUserDataPage(DataProxy *dp, QWidget *parent) : Q
|
||||
myPowerSpinBox->setDecimals(2);
|
||||
myPowerSpinBox->setMaximum(9999);
|
||||
|
||||
rig1LineEdit->setToolTip(tr("Enter your information for rig") + " #1");
|
||||
rig2LineEdit->setToolTip(tr("Enter your information for rig") + " #2");
|
||||
rig3LineEdit->setToolTip(tr("Enter your information for rig") + " #3");
|
||||
ant1LineEdit->setToolTip(tr("Enter your information for antenna") + " #1");
|
||||
ant2LineEdit->setToolTip(tr("Enter your information for antenna") + " #2");
|
||||
ant3LineEdit->setToolTip(tr("Enter your information for antenna") + " #3");
|
||||
myPowerSpinBox->setToolTip(tr("Enter your power information"));
|
||||
rig1LineEdit->setToolTip(tr("Enter your information for rig") + " #1.");
|
||||
rig2LineEdit->setToolTip(tr("Enter your information for rig") + " #2.");
|
||||
rig3LineEdit->setToolTip(tr("Enter your information for rig") + " #3.");
|
||||
ant1LineEdit->setToolTip(tr("Enter your information for antenna") + " #1.");
|
||||
ant2LineEdit->setToolTip(tr("Enter your information for antenna") + " #2.");
|
||||
ant3LineEdit->setToolTip(tr("Enter your information for antenna") + " #3.");
|
||||
myPowerSpinBox->setToolTip(tr("Enter your power information."));
|
||||
|
||||
QLabel *rig1Label = new QLabel(tr("&Rig 1"));
|
||||
QLabel *rig2Label = new QLabel(tr("R&ig 2"));
|
||||
@ -183,7 +183,7 @@ SetupPageUserDataPage::SetupPageUserDataPage(DataProxy *dp, QWidget *parent) : Q
|
||||
stationTab->setLayout(stationLayout);
|
||||
|
||||
//TODO:Defining ALL the tooltips
|
||||
qrzLineEdit->setToolTip(tr("Enter the station callsign that will be used for logging"));
|
||||
qrzLineEdit->setToolTip(tr("Enter the station callsign that will be used for logging."));
|
||||
operatorsLineEdit->setToolTip(tr("Enter the operators (comma separated if more than one)."));
|
||||
myLocatorLineEdit->setToolTip(tr("Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign."));
|
||||
|
||||
|
@ -58,10 +58,10 @@ void SoftwareUpdate::slotReadyRead()
|
||||
//qDebug() << "SoftwareUpdate::slotReadyRead: " << endl;
|
||||
}
|
||||
|
||||
//void SoftwareUpdate::slotError(int _p)
|
||||
//{
|
||||
void SoftwareUpdate::slotError(int _p)
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::slotError: " << endl;
|
||||
//}
|
||||
}
|
||||
|
||||
void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply)
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ public:
|
||||
|
||||
private slots:
|
||||
void slotReadyRead();
|
||||
//void slotError(int _p);
|
||||
void slotError(int _p);
|
||||
//void slotSslErrors(QList _p);
|
||||
//void replyFinished(QNetworkReply *data);
|
||||
|
||||
|
@ -61,7 +61,6 @@ void UDPServer::parse(const QByteArray &msg)
|
||||
QDateTime time_off;
|
||||
QByteArray dx_call;
|
||||
QByteArray dx_grid;
|
||||
QByteArray op_call;
|
||||
quint64 frequency = 0; // In Hz??
|
||||
double frequencyDouble;
|
||||
|
||||
@ -165,19 +164,12 @@ void UDPServer::parse(const QByteArray &msg)
|
||||
//qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - QSO logged" << endl;
|
||||
if (logging)
|
||||
{
|
||||
|
||||
in >> time_off >> dx_call >> dx_grid >> frequency >> mode >> report_sent >> report_received
|
||||
>> tx_power >> comments >> name >> time_on >> op_call >> de_call >> de_grid;
|
||||
|
||||
|
||||
//qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - DE_GRID: " << de_grid << endl;
|
||||
in >> time_off >> dx_call >> dx_grid >> frequency >> mode >> report_sent >> report_received >> tx_power >> comments >> name >> time_on >> de_call >> de_grid;
|
||||
frequencyDouble = (double)frequency;
|
||||
frequencyDouble = frequencyDouble/1000000; // Change to MHz
|
||||
|
||||
|
||||
emit logged_qso (type, dx_call, frequencyDouble, mode, dx_grid,
|
||||
time_off.toString("yyyyMMddHHmmss"), report_sent, report_received, tx_power, comments,
|
||||
name, time_on.toString("yyyyMMddHHmmss"), de_call, op_call, de_grid);
|
||||
name, time_on.toString("yyyyMMddHHmmss"), de_call, de_grid);
|
||||
|
||||
}
|
||||
else
|
||||
|
@ -38,8 +38,9 @@ signals:
|
||||
|
||||
void logged_qso (const int _type, const QString _dxcall, const double _freq, const QString _mode,
|
||||
const QString _dx_grid, const QString _time_off, const QString _report_sent, const QString _report_rec,
|
||||
const QString _tx_power, const QString _comments, const QString _name, const QString _time_on,
|
||||
const QString _de_call, const QString _de_opCall, const QString _de_grid);
|
||||
const QString _tx_power, const QString _comments, const QString _name, const QString _time_on, const QString _de_call, const QString _de_grid);
|
||||
|
||||
|
||||
|
||||
private slots:
|
||||
void slotReadPendingDatagrams();
|
||||
|
Loading…
Reference in New Issue
Block a user