subdivisions without main prefixes

This commit is contained in:
ea4k 2024-08-17 02:00:30 +02:00
parent dcacd6fdf0
commit d4604aec25
2 changed files with 42 additions and 15 deletions

View File

@ -767,28 +767,44 @@ void MainWindowInputOthers::updatePrimarySubdivisionsComboBox(QList<PrimarySubdi
void MainWindowInputOthers::updatePrimarySubDivisions(const int _n, const QString &_qrz) void MainWindowInputOthers::updatePrimarySubDivisions(const int _n, const QString &_qrz)
{ {
//qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_n) << "/" << _qrz; qDebug() << Q_FUNC_INFO << " - Start: " << QString::number(_n) << "/" << _qrz;
currentPref = _qrz;
QString currentPrefTMP = util->getPrefixFromCall(_qrz, !showAllCheckBox->isChecked());
QString mainPref = dataProxy->getEntityMainPrefix(_n);
//qDebug() << Q_FUNC_INFO << " - currentPref: " << QString::number(_n) << "/" << currentPrefTMP;
int a = util->getAreaNumberFromCall(_qrz);
if (_n<1) if (_n<1)
return; return;
currentInt = _n; currentInt = _n;
setEntity(_n);
currentPref = _qrz;
QString mainPref = dataProxy->getEntityMainPrefix(_n);
int areaNumber = util->getAreaNumberFromCall(_qrz);
qDebug() << Q_FUNC_INFO << " - AreaNumber: " << QString::number(areaNumber);
if (areaNumber>=0)
{
mainPref.append(QString::number(areaNumber));
// mainPref = mainPref + QString::number(areaNumber);
qDebug() << Q_FUNC_INFO << " - NEW mainPref: " << mainPref;
}
QString currentPrefTMP = util->getPrefixFromCall(_qrz, !showAllCheckBox->isChecked());
qDebug() << Q_FUNC_INFO << " - currentPref: " << QString::number(_n) << "/" << currentPrefTMP;
qDebug() << Q_FUNC_INFO << " - mainPref: " << QString::number(_n) << "/" << mainPref;
setEntity(currentInt);
if ((currentPrefTMP.isEmpty()) && (mainPref.isEmpty())) if ((currentPrefTMP.isEmpty()) && (mainPref.isEmpty()))
return; return;
QList<PrimarySubdivision> subdivisions; QList<PrimarySubdivision> subdivisions;
subdivisions.clear(); subdivisions.clear();
subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, currentPrefTMP)); subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, currentPrefTMP));
if (subdivisions.isEmpty()) if (subdivisions.length()<1)
{ {
qDebug() << Q_FUNC_INFO << " - Subdivisions is empty, running for the main prefix";
subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, mainPref)); subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, mainPref));
if (subdivisions.isEmpty()) if (subdivisions.length()<1)
//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())); subdivisions.append(dataProxy->getPrimarySubDivisions(currentInt, QString()));
}
} }
//qDebug() << Q_FUNC_INFO << " - count: " << QString::number(subdivisions.count()); //qDebug() << Q_FUNC_INFO << " - count: " << QString::number(subdivisions.count());

View File

@ -1113,9 +1113,11 @@ int Utilities::getAreaNumberFromCall(const QString &_c)
QString areaString = withAreaNumberPref.remove(withOutAreaNumberPref); QString areaString = withAreaNumberPref.remove(withOutAreaNumberPref);
qDebug() << Q_FUNC_INFO << ": Area Number: " << areaString; qDebug() << Q_FUNC_INFO << ": Area Number: " << areaString;
int areaNumber = -1; bool ok = false;
int areaNumber = areaString.toInt(&ok, 10);
return areaNumber; if (ok)
return areaNumber;
return -1;
} }
QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber) QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber)
@ -1164,7 +1166,7 @@ QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber)
{ {
//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)) if (isAKnownPrefix(call))
{// EA, EA6, VK9N, VP2E, K, K1, KN1, 4U1I {// EA, EA6, VK9N, VP2E, K, K1, KN1, 4U1I, W6 (W6 and other normal prefix are also a known prefix due to the specific CQ/ITU)
//qDebug() << Q_FUNC_INFO << QString("- Known prefix found: %1").arg(call); //qDebug() << Q_FUNC_INFO << QString("- Known prefix found: %1").arg(call);
if (withAreaNumber) if (withAreaNumber)
{ {
@ -1179,9 +1181,18 @@ QString Utilities::getPrefixFromCall(const QString &_c, bool withAreaNumber)
//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; return call3;
} }
return call;
}
else
{ // Here I am receiving known prefixes and I need to remove the area number
if ( !((call.back()).isDigit()) )
{
qDebug() << Q_FUNC_INFO << QString("- Without Area number -call- & last is NOT a digit: %1").arg(call);
return call;
}
} }
//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; call3 = call2;