void CGUIDialogNumeric::HandleInputDate(uint32_t num) { if (m_block == 0) // day of month { if (m_dirty && (m_datetime.wDay < 3 || num < 2)) { m_datetime.wDay *= 10; m_datetime.wDay += num; } else m_datetime.wDay = num; if (m_datetime.wDay > 3) { m_block = 1; // move to months m_dirty = false; } else m_dirty = true; } else if (m_block == 1) // months { if (m_dirty && num < 3) { m_datetime.wMonth *= 10; m_datetime.wMonth += num; } else m_datetime.wMonth = num; if (m_datetime.wMonth > 1) { VerifyDate(false); m_block = 2; // move to year m_dirty = false; } else m_dirty = true; } else // year { if (m_dirty && m_datetime.wYear < 1000) // have taken input { m_datetime.wYear *= 10; m_datetime.wYear += num; } else m_datetime.wYear = num; if (m_datetime.wYear > 1000) { VerifyDate(true); m_block = 0; // move to day of month m_dirty = false; } else m_dirty = true; } }
void CETDongle::DongleDetection( bool bVerifyDate ) { VerifyDongle( pETContext ); if ( bVerifyDate ) { VerifyDate( pETContext ); } }
void CGUIDialogNumeric::OnNext() { if (m_mode == INPUT_IP_ADDRESS && m_block==0 && m_ip[0]==0) return; if (m_block < m_lastblock) m_block++; m_dirty = false; if (m_mode == INPUT_DATE) VerifyDate(m_block == 2); }
void CGUIDialogNumeric::OnNumber(unsigned int num) { ResetAutoClose(); if (m_mode == INPUT_NUMBER || m_mode == INPUT_PASSWORD) { m_number += num + '0'; } else if (m_mode == INPUT_TIME) { if (m_block == 0) // hour { if (m_dirty) // have input the first digit { if (m_datetime.wHour < 2 || num < 4) { m_datetime.wHour *= 10; m_datetime.wHour += num; } else m_datetime.wHour = num; m_block = 1; // move to minutes m_dirty = false; } else // this is the first digit { m_datetime.wHour = num; if (num > 2) { m_block = 1; // move to minutes m_dirty = false; } else m_dirty = true; } } else // minute { if (m_dirty) // have input the first digit { m_datetime.wMinute *= 10; m_datetime.wMinute += num; m_block = 0; // move to hours m_dirty = false; } else // this is the first digit { m_datetime.wMinute = num; if (num > 5) { m_block = 0; // move to hours m_dirty = false; } else m_dirty = true; } } } else if (m_mode == INPUT_TIME_SECONDS) { if (m_block == 0) // minute { if (m_dirty) // have input the first digit { m_datetime.wMinute *= 10; m_datetime.wMinute += num; m_block = 1; // move to seconds - allows up to 99 minutes m_dirty = false; } else // this is the first digit { m_datetime.wMinute = num; m_dirty = true; } } else // seconds { if (m_dirty) // have input the first digit { m_datetime.wSecond *= 10; m_datetime.wSecond += num; m_block = 0; // move to minutes m_dirty = false; } else // this is the first digit { m_datetime.wSecond = num; if (num > 5) { m_block = 0; // move to minutes m_dirty = false; } else m_dirty = true; } } } else if (m_mode == INPUT_DATE) { if (m_block == 0) // day of month { if (m_dirty && (m_datetime.wDay < 3 || num < 2)) { m_datetime.wDay *= 10; m_datetime.wDay += num; } else m_datetime.wDay = num; if (m_datetime.wDay > 3) { m_block = 1; // move to months m_dirty = false; } else m_dirty = true; } else if (m_block == 1) // months { if (m_dirty && num < 3) { m_datetime.wMonth *= 10; m_datetime.wMonth += num; } else m_datetime.wMonth = num; if (m_datetime.wMonth > 1) { VerifyDate(false); m_block = 2; // move to year m_dirty = false; } else m_dirty = true; } else // year { if (m_dirty && m_datetime.wYear < 1000) // have taken input { m_datetime.wYear *= 10; m_datetime.wYear += num; } else m_datetime.wYear = num; if (m_datetime.wYear > 1000) { VerifyDate(true); m_block = 0; // move to day of month m_dirty = false; } else m_dirty = true; } } else if (m_mode == INPUT_IP_ADDRESS) { if (m_dirty && ((m_ip[m_block] < 25) || (m_ip[m_block] == 25 && num < 6) || !(m_block==0 && num==0))) { m_ip[m_block] *= 10; m_ip[m_block] += num; } else m_ip[m_block] = num; if (m_ip[m_block] > 25 || (m_ip[m_block] == 0 && num == 0)) { m_block++; if (m_block > 3) m_block = 0; m_dirty = false; } else m_dirty = true; } }