From: Jeffrey Malone Date: Sat, 6 Nov 2010 22:47:18 +0000 (-0700) Subject: Move AAMVA age calculation into CardDetect X-Git-Url: http://git.maemo.org/git/?p=magread;a=commitdiff_plain;h=24081c1225d9f48ecee770fb0ca1061d51c3cb70 Move AAMVA age calculation into CardDetect --- diff --git a/carddetect.cpp b/carddetect.cpp index 58473a4..1e0aacb 100644 --- a/carddetect.cpp +++ b/carddetect.cpp @@ -195,6 +195,12 @@ void CardDetect::aamvaCardCheck( QString expDate ) { } card->aamvaBirthday = QDate::fromString( bday, "yyyyMMdd" ); + //set the age + /* FIXME a leap year can offset this by a day ... */ + card->aamvaAge = QDate::currentDate().year() - card->aamvaBirthday.year(); + if( card->aamvaBirthday.dayOfYear() > QDate::currentDate().dayOfYear() ) + card->aamvaAge--; + //set the expiration date if( expDate.endsWith( "99" ) ) { // expires on the birth day and month in the given year expDate.replace( 2, 4, bday.mid( 4, 4 ) ); diff --git a/magcard.h b/magcard.h index cfa4d37..8febfb5 100644 --- a/magcard.h +++ b/magcard.h @@ -56,6 +56,7 @@ class MagCard { QString aamvaIssuerName; QString aamvaIssuerAbr; QDate aamvaBirthday; + int aamvaAge; MagCard() { encoding = UNSET; diff --git a/magread.cpp b/magread.cpp index 71a7199..30dab66 100644 --- a/magread.cpp +++ b/magread.cpp @@ -191,17 +191,11 @@ void MagRead::aamvaPage() { /* Calculate the age */ QDate curDate = QDate::currentDate(); - /* FIXME a leap year can offset this by a day ... */ - int age = QDate::currentDate().year() - card.aamvaBirthday.year(); - if( card.aamvaBirthday.dayOfYear() > QDate::currentDate().dayOfYear() ) { - age--; - } - - QString ageStr = QString ( "Age %1 " ).arg( age ); - if( age < 18 ) { + QString ageStr = QString ( "Age %1 " ).arg( card.aamvaAge ); + if( card.aamvaAge < 18 ) { ageStr.prepend( "" ); ageStr.append( "" ); - } else if( age < 21 ) { + } else if( card.aamvaAge < 21 ) { ageStr.prepend( "" ); ageStr.append( "" ); }