prefixes for subdivisions

This commit is contained in:
d 2024-07-27 21:22:20 +02:00
parent cdb354f86b
commit ef6249e5d3
5 changed files with 77 additions and 27 deletions

View File

@ -5600,20 +5600,31 @@ bool DataProxy_SQLite::addDXCCEntitySubdivision(const QString &_name, const QStr
}
QList<PrimarySubdivision> DataProxy_SQLite::getPrimarySubDivisions(const int _entity)
QList<PrimarySubdivision> DataProxy_SQLite::getPrimarySubDivisions(const int _entity, const QString &_pref)
{ // Returns the Primary Subdivision for an Entity
qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_entity) ;
// If _pref is empty, and entity >=0 we look for all the subdivisions of the Entity,
// If _pref is not empty, we look for the subdivisions with that entity, if none, we look for the number.
qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_entity) << "/" << _pref;
QList<PrimarySubdivision> list;
list.clear();
if (_entity<=0)
return list;
QString queryString = QString("SELECT name, shortname, cqz, ituz FROM primary_subdivisions WHERE dxcc = :dxcc");
QSqlQuery query;
query.prepare(queryString);
query.bindValue(":dxcc", _entity);
QString queryString;
if (!_pref.isEmpty())
{
queryString = QString("SELECT name, shortname, cqz, ituz FROM primary_subdivisions WHERE prefix = :prefix");
query.prepare(queryString);
query.bindValue(":prefix", _pref);
}
else
{
if (_entity<=0)
return list;
queryString = QString("SELECT name, shortname, cqz, ituz FROM primary_subdivisions WHERE dxcc = :dxcc");
query.prepare(queryString);
query.bindValue(":dxcc", _entity);
}
bool sqlOK = query.exec();
if (sqlOK)
@ -5643,6 +5654,7 @@ QList<PrimarySubdivision> DataProxy_SQLite::getPrimarySubDivisions(const int _en
return list;
}
int DataProxy_SQLite::getNumberOfManagedLogs()
{
//qDebug() << "DataProxy_SQLite::getNumberOfManagedLogs";

View File

@ -309,7 +309,8 @@ public:
//bool addRegionalAward(RegionalAward _regionalAward);
bool addDXCCEntitySubdivision(const QString &_name, const QString &_short, const QString &_pref, const QString &_group, const int _regId, const int _dxcc, const int _cq, const int _itu, const QDate &_startDate, const QDate &_endDate, const bool _deleted);
QList<PrimarySubdivision> getPrimarySubDivisions(const int _entity); // Get the Primary subdivisions for an entity
QList<PrimarySubdivision> getPrimarySubDivisions(const int _entity, const QString &_pref); // Get the Primary subdivisions for an entity
//void getFoundInLog(const QString &_txt, const int _log=-1);
KLOG_DEPRECATED QString getADIFQSO(const int _qsoId, ExportMode _em = ModeADIF);
QString getADIFValueFromRec(QSqlRecord _rec, const QString &_fieldName); // To refactor the getADIFFromQSOQuery function

View File

@ -235,7 +235,7 @@ void MainWindowInputOthers::setEntity(const int _ent)
//qDebug() << "MainWindow::selectCorrectEntity: " << pref << "/" << QString::number(indexC);
entityNameComboBox->setCurrentIndex(indexC);
setIOTAContinentFromEntity(_ent);
updatePrimarySubDivisions(_ent);
updatePrimarySubDivisions(_ent, QString());
logEvent (Q_FUNC_INFO, "END", Debug);
}
@ -691,31 +691,62 @@ bool MainWindowInputOthers::setInitialADIFValues()
return true;
}
void MainWindowInputOthers::updatePrimarySubDivisions(const int _n)
void MainWindowInputOthers::updatePrimarySubdivisionsComboBox(QList<PrimarySubdivision> _subdivisions)
{
//qDebug() << Q_FUNC_INFO << " - count: " << QString::number(_subdivisions.count());
if (_subdivisions.count()<1)
return;
QStringList listOfSubdivisions;
listOfSubdivisions.clear();
foreach (PrimarySubdivision ps, _subdivisions)
{
QString subdivision = ps.shortName + "-" + ps.name;
listOfSubdivisions.append(subdivision);
//qDebug() << Q_FUNC_INFO << ": Subdivision added: " << subdivision;
}
if (listOfSubdivisions.count()<1)
return;
entityPrimDivComboBox->clear();
entityPrimDivComboBox->addItems(listOfSubdivisions);
//qDebug() << Q_FUNC_INFO << " - END";
}
/*
void MainWindowInputOthers::updatePrimarySubDivisions(const int _n)
{
qDebug() << Q_FUNC_INFO << " - Start";
if (_n<1)
return;
QList<PrimarySubdivision> subdivisions;
subdivisions.clear();
subdivisions.append(dataProxy->getPrimarySubDivisions(_n));
subdivisions.append(dataProxy->getPrimarySubDivisions(_n, QString()));
qDebug() << Q_FUNC_INFO << " - count: " << QString::number(subdivisions.count());
if (subdivisions.count()<1)
return;
updatePrimarySubdivisionsComboBox(subdivisions);
qDebug() << Q_FUNC_INFO << " - END";
}
*/
QStringList listOfSubdivisions;
listOfSubdivisions.clear();
foreach (PrimarySubdivision ps, subdivisions)
{
QString subdivision = ps.shortName + "-" + ps.name;
listOfSubdivisions.append(subdivision);
qDebug() << Q_FUNC_INFO << ": Subdivision added: " << subdivision;
}
if (listOfSubdivisions.count()<1)
void MainWindowInputOthers::updatePrimarySubDivisions(const int _n, const QString &_pref)
{
qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_n) << "/" << _pref;
if (_n<1)
return;
entityPrimDivComboBox->clear();
entityPrimDivComboBox->addItems(listOfSubdivisions);
QList<PrimarySubdivision> subdivisions;
subdivisions.clear();
subdivisions.append(dataProxy->getPrimarySubDivisions(_n, _pref));
if (subdivisions.isEmpty())
subdivisions.append(dataProxy->getPrimarySubDivisions(_n, QString()));
qDebug() << Q_FUNC_INFO << " - count: " << QString::number(subdivisions.count());
if (subdivisions.count()<1)
return;
updatePrimarySubdivisionsComboBox(subdivisions);
qDebug() << Q_FUNC_INFO << " - END";
}

View File

@ -49,6 +49,10 @@ public:
int getEntity();
QString getEntityPrefix();
void updatePrimarySubDivisions(const int _n, const QString &_pref); // Receives the entity & prefix of the call to check if
// It is possible to focus the primary
// subdivision
void setPropMode(const QString &_qs, bool _keep);
QString getPropModeFromComboBox();
bool isSATPropagation();
@ -103,7 +107,8 @@ private:
void setColorsForUserDefinedADIFValueLineEdit();
bool checkVUCC_GRIDS(const QString &_string);
bool setInitialADIFValues();
void updatePrimarySubDivisions(const int _n);
void updatePrimarySubdivisionsComboBox(QList<PrimarySubdivision> _subdivisions);
bool getDarkMode();
void logEvent(const QString &_func, const QString &_msg, DebugLogLevel _level);

View File

@ -2073,7 +2073,7 @@ void MainWindow::slotQRZTextChanged(QString _qrz)
cleanQRZCOMreceivedDataFromUI();
//qDebug()<< Q_FUNC_INFO << ": currentQRZ: " <<_qrz ;
//QString pref = util->getPrefixFromCall(_qrz);
QString pref = util->getPrefixFromCall(_qrz);
//logEvent(Q_FUNC_INFO, QString("Call/Prefix: %1/%2").arg(_qrz).arg(pref), Devel);
//currentEntity = world->getQRZARRLId(pref);
//validar por que no puedo tirar o usar el prefijo directamente
@ -2091,7 +2091,8 @@ void MainWindow::slotQRZTextChanged(QString _qrz)
*/
logEvent(Q_FUNC_INFO, QString("Entity: %1").arg(currentEntity), Devel);
othersTabWidget->setEntity(currentEntity);
othersTabWidget->updatePrimarySubDivisions(currentEntity, util->getPrefixFromCall(_qrz, true));
//othersTabWidget->setEntity(currentEntity);
dxE_CQz = world->getEntityCqz(currentEntity);
dx_CQz = world->getQRZCqz(_qrz);
dx_ITUz = world->getQRZItuz(_qrz);