mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-22 05:05:38 +08:00
refs #335, SELCAL tweaks discovered during refactoring
* better case handling in SELCAL * SELCAL in aircraft * SELCAL selector, improved getter / setters * changed cockpit SELCAL elements to promoted GUI element * synchronized flightplan and cockpit SELCAL codes, used new signal/slot syntacs in flightplan * added SELCAL in own aircraft context
This commit is contained in:
committed by
Roland Winklmeier
parent
dd587207fe
commit
0c6f5f1777
@@ -63,7 +63,7 @@ namespace BlackMisc
|
||||
*/
|
||||
bool CSelcal::isValidCharacter(QChar c)
|
||||
{
|
||||
return CSelcal::validCharacters().contains(c);
|
||||
return CSelcal::validCharacters().contains(c.toUpper());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -73,10 +73,11 @@ namespace BlackMisc
|
||||
{
|
||||
if (code.length() != 4) return false;
|
||||
int p1, p2, p3, p4;
|
||||
if ((p1 = CSelcal::validCharacters().indexOf(code.at(0))) < 0) return false;
|
||||
if ((p2 = CSelcal::validCharacters().indexOf(code.at(1))) < 0) return false;
|
||||
if ((p3 = CSelcal::validCharacters().indexOf(code.at(2))) < 0) return false;
|
||||
if ((p4 = CSelcal::validCharacters().indexOf(code.at(3))) < 0) return false;
|
||||
QString codeUpper = code.toUpper();
|
||||
if ((p1 = CSelcal::validCharacters().indexOf(codeUpper.at(0))) < 0) return false;
|
||||
if ((p2 = CSelcal::validCharacters().indexOf(codeUpper.at(1))) < 0) return false;
|
||||
if ((p3 = CSelcal::validCharacters().indexOf(codeUpper.at(2))) < 0) return false;
|
||||
if ((p4 = CSelcal::validCharacters().indexOf(codeUpper.at(3))) < 0) return false;
|
||||
if (p1 >= p2 || p3 >= p4) return false; // pair in alphabetical order
|
||||
if (p1 == p3 || p2 == p3 || p2 == p4 || p3 == p4) return false; // given letter can be used only once in a SELCAL code
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user