bool CGUIDialogNumeric::ShowAndGetDate(SYSTEMTIME &date, const CStdString &heading) { CGUIDialogNumeric *pDialog = (CGUIDialogNumeric *)g_windowManager.GetWindow(WINDOW_DIALOG_NUMERIC); if (!pDialog) return false; pDialog->SetMode(INPUT_DATE, (void *)&date); pDialog->SetHeading(heading); pDialog->DoModal(); if (!pDialog->IsConfirmed() || pDialog->IsCanceled()) return false; pDialog->GetOutput(&date); return true; }
bool CGUIDialogNumeric::ShowAndGetIPAddress(CStdString &IPAddress, const CStdString &heading) { CGUIDialogNumeric *pDialog = (CGUIDialogNumeric *)g_windowManager.GetWindow(WINDOW_DIALOG_NUMERIC); if (!pDialog || !IPAddress) return false; pDialog->SetMode(INPUT_IP_ADDRESS, (void *)&IPAddress); pDialog->SetHeading(heading); pDialog->DoModal(); if (!pDialog->IsConfirmed() || pDialog->IsCanceled()) return false; pDialog->GetOutput(&IPAddress); return true; }
bool CGUIDialogNumeric::ShowAndGetNumber(CStdString& strInput, const CStdString &strHeading, unsigned int iAutoCloseTimeoutMs /* = 0 */) { // Prompt user for password input CGUIDialogNumeric *pDialog = (CGUIDialogNumeric *)g_windowManager.GetWindow(WINDOW_DIALOG_NUMERIC); pDialog->SetHeading( strHeading ); pDialog->SetMode(INPUT_NUMBER, (void *)&strInput); if (iAutoCloseTimeoutMs) pDialog->SetAutoClose(iAutoCloseTimeoutMs); pDialog->DoModal(); if (!pDialog->IsAutoClosed() && (!pDialog->IsConfirmed() || pDialog->IsCanceled())) return false; pDialog->GetOutput(&strInput); return true; }
bool CGUIDialogNumeric::ShowAndGetSeconds(CStdString &timeString, const CStdString &heading) { CGUIDialogNumeric *pDialog = (CGUIDialogNumeric *)g_windowManager.GetWindow(WINDOW_DIALOG_NUMERIC); if (!pDialog) return false; int seconds = StringUtils::TimeStringToSeconds(timeString); SYSTEMTIME time = {0}; time.wHour = seconds / 3600; time.wMinute = (seconds - time.wHour * 3600) / 60; time.wSecond = seconds - time.wHour * 3600 - time.wMinute * 60; pDialog->SetMode(INPUT_TIME_SECONDS, (void *)&time); pDialog->SetHeading(heading); pDialog->DoModal(); if (!pDialog->IsConfirmed() || pDialog->IsCanceled()) return false; pDialog->GetOutput(&time); seconds = time.wHour * 3600 + time.wMinute * 60 + time.wSecond; timeString = StringUtils::SecondsToTimeString(seconds); return true; }
// \brief Show numeric keypad and verify user input against strToVerify. // \param strToVerify Value to compare against user input. // \param dlgHeading String shown on dialog title. // \param bVerifyInput If set as true we verify the users input versus strToVerify. // \return true if successful display and user input. false if unsuccessful display, no user input, or canceled editing. bool CGUIDialogNumeric::ShowAndVerifyInput(CStdString& strToVerify, const CStdString& dlgHeading, bool bVerifyInput) { // Prompt user for password input CGUIDialogNumeric *pDialog = (CGUIDialogNumeric *)g_windowManager.GetWindow(WINDOW_DIALOG_NUMERIC); pDialog->SetHeading( dlgHeading ); CStdString strInput = ""; if (!bVerifyInput) strInput = strToVerify; pDialog->SetMode(INPUT_PASSWORD, (void *)&strInput); pDialog->DoModal(); pDialog->GetOutput(&strInput); if (!pDialog->IsConfirmed() || pDialog->IsCanceled()) { // user canceled out strToVerify =""; return false; } CStdString md5pword2; XBMC::XBMC_MD5 md5state; md5state.append(strInput); md5state.getDigest(md5pword2); if (!bVerifyInput) { strToVerify = md5pword2; StringUtils::ToLower(strToVerify); return true; } if (strToVerify.Equals(md5pword2)) return true; // entered correct password // incorrect password return false; }