bool MythTextInputDialog::Create(void) { if (!CopyWindowFromBase("MythTextInputDialog", this)) return false; MythUIText *messageText = NULL; MythUIButton *okButton = NULL; MythUIButton *cancelButton = NULL; bool err = false; UIUtilE::Assign(this, m_textEdit, "input", &err); UIUtilE::Assign(this, messageText, "message", &err); UIUtilE::Assign(this, okButton, "ok", &err); UIUtilW::Assign(this, cancelButton, "cancel"); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'MythTextInputDialog'"); return false; } if (cancelButton) connect(cancelButton, SIGNAL(Clicked()), SLOT(Close())); connect(okButton, SIGNAL(Clicked()), SLOT(sendResult())); m_textEdit->SetFilter(m_filter); m_textEdit->SetText(m_defaultValue); m_textEdit->SetPassword(m_isPassword); messageText->SetText(m_message); BuildFocusList(); return true; }
bool MythDialogBox::Create(void) { QString windowName = (m_fullscreen ? "MythDialogBox" : "MythPopupBox"); if (m_osdDialog) { if (!XMLParseBase::LoadWindowFromXML("osd.xml", windowName, this)) return false; } else if (!CopyWindowFromBase(windowName, this)) return false; bool err = false; UIUtilW::Assign(this, m_titlearea, "title"); UIUtilE::Assign(this, m_textarea, "messagearea", &err); UIUtilE::Assign(this, m_buttonList, "list", &err); if (err) { VERBOSE(VB_IMPORTANT, QString("Cannot load screen '%1'") .arg(windowName)); return false; } if (m_titlearea) m_titlearea->SetText(m_title); m_textarea->SetText(m_text); BuildFocusList(); connect(m_buttonList, SIGNAL(itemClicked(MythUIButtonListItem*)), SLOT(Select(MythUIButtonListItem*))); return true; }
bool TvPlayWindow::Create() { bool foundtheme = false; // Load the theme for this screen foundtheme = CopyWindowFromBase("videowindow", this); if (!foundtheme) { VERBOSE(VB_IMPORTANT, "Cannot load screen videowindow from base.xml"); return false; } return true; }
bool MythUISearchDialog::Create(void) { if (!CopyWindowFromBase("MythSearchDialog", this)) return false; MythUIButton *okButton = NULL; MythUIButton *cancelButton = NULL; bool err = false; UIUtilE::Assign(this, m_textEdit, "input", &err); UIUtilE::Assign(this, m_titleText, "title", &err); UIUtilW::Assign(this, m_matchesText, "matches"); UIUtilE::Assign(this, m_itemList, "itemlist", &err); UIUtilE::Assign(this, okButton, "ok", &err); UIUtilW::Assign(this, cancelButton, "cancel"); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'MythSearchDialog'"); return false; } if (cancelButton) connect(cancelButton, SIGNAL(Clicked()), SLOT(Close())); connect(okButton, SIGNAL(Clicked()), SLOT(slotSendResult())); connect(m_itemList, SIGNAL(itemClicked(MythUIButtonListItem*)), SLOT(slotSendResult())); m_textEdit->SetText(m_defaultValue); connect(m_textEdit, SIGNAL(valueChanged()), SLOT(slotUpdateList())); m_titleText->SetText(m_title); if (m_matchesText) m_matchesText->SetText(tr("%n match(es)", "", 0)); BuildFocusList(); slotUpdateList(); return true; }
bool MythUIFileBrowser::Create() { if (!CopyWindowFromBase(m_widgetName, this)) return false; m_fileList = dynamic_cast<MythUIButtonList *>(GetChild("filelist")); m_locationEdit = dynamic_cast<MythUITextEdit *>(GetChild("location")); m_okButton = dynamic_cast<MythUIButton *>(GetChild("ok")); m_cancelButton = dynamic_cast<MythUIButton *>(GetChild("cancel")); m_backButton = dynamic_cast<MythUIButton *>(GetChild("back")); m_homeButton = dynamic_cast<MythUIButton *>(GetChild("home")); m_previewImage = dynamic_cast<MythUIImage *>(GetChild("preview")); m_infoText = dynamic_cast<MythUIText *>(GetChild("info")); m_filenameText = dynamic_cast<MythUIText *>(GetChild("filename")); m_fullpathText = dynamic_cast<MythUIText *>(GetChild("fullpath")); if (!m_fileList || !m_locationEdit || !m_okButton || !m_cancelButton) { LOG(VB_GENERAL, LOG_ERR, "MythUIFileBrowser: Your theme is missing" " some UI elements! Bailing out."); return false; } connect(m_fileList, SIGNAL(itemClicked(MythUIButtonListItem *)), SLOT(PathClicked(MythUIButtonListItem *))); connect(m_fileList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(PathSelected(MythUIButtonListItem *))); connect(m_locationEdit, SIGNAL(LosingFocus()), SLOT(editLostFocus())); connect(m_okButton, SIGNAL(Clicked()), SLOT(OKPressed())); connect(m_cancelButton, SIGNAL(Clicked()), SLOT(cancelPressed())); if (m_backButton) connect(m_backButton, SIGNAL(Clicked()), SLOT(backPressed())); if (m_homeButton) connect(m_homeButton, SIGNAL(Clicked()), SLOT(homePressed())); BuildFocusList(); updateFileList(); return true; }
bool MythDialogBox::Create(void) { if (!CopyWindowFromBase("MythDialogBox", this)) return false; SetFullscreen(false); MythUIText *textarea = dynamic_cast<MythUIText *>(GetChild("messagearea")); buttonList = dynamic_cast<MythListButton *>(GetChild("list")); if (!textarea || !buttonList) return false; textarea->SetText(m_text); buttonList->SetActive(true); connect(buttonList, SIGNAL(itemClicked(MythListButtonItem*)), this, SLOT(Select(MythListButtonItem*))); return true; }
bool MythConfirmationDialog::Create(void) { if (!CopyWindowFromBase("MythConfirmationDialog", this)) return false; MythUIButton *okButton = NULL; MythUIButton *cancelButton = NULL; bool err = false; UIUtilE::Assign(this, m_messageText, "message", &err); UIUtilE::Assign(this, okButton, "ok", &err); UIUtilE::Assign(this, cancelButton, "cancel", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'MythConfirmationDialog'"); return false; } if (m_showCancel) { connect(cancelButton, SIGNAL(Clicked()), SLOT(Cancel())); } else cancelButton->SetVisible(false); connect(okButton, SIGNAL(Clicked()), SLOT(Confirm())); m_messageText->SetText(m_message); BuildFocusList(); if (m_showCancel) SetFocusWidget(cancelButton); else SetFocusWidget(okButton); return true; }
bool MythTimeInputDialog::Create() { if (!CopyWindowFromBase("MythTimeInputDialog", this)) return false; MythUIText *messageText = NULL; MythUIButton *okButton = NULL; bool err = false; UIUtilE::Assign(this, messageText, "message", &err); UIUtilE::Assign(this, m_dateList, "dates", &err); UIUtilE::Assign(this, m_timeList, "times", &err); UIUtilE::Assign(this, okButton, "ok", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'MythTimeInputDialog'"); return false; } m_dateList->SetVisible(false); m_timeList->SetVisible(false); MythUIButtonListItem *item; // Date if (kNoDate != (m_resolution & 0xF)) { const QDate startdate(m_startTime.toLocalTime().date()); QDate date(startdate); int limit = 0; if (m_resolution & kFutureDates) { limit += m_rangeLimit; } if (m_resolution & kPastDates) { limit += m_rangeLimit; date = date.addDays(0-m_rangeLimit); } QString text; int flags; bool selected = false; for (int x = 0; x <= limit; x++) { selected = false; if (m_resolution & kDay) { date = date.addDays(1); flags = MythDate::kDateFull | MythDate::kSimplify; if (m_rangeLimit >= 356) flags |= MythDate::kAddYear; text = MythDate::toString(date, flags); if (date == startdate) selected = true; } else if (m_resolution & kMonth) { date = date.addMonths(1); text = date.toString("MMM yyyy"); if ((date.month() == startdate.month()) && (date.year() == startdate.year())) selected = true; } else if (m_resolution & kYear) { date = date.addYears(1); text = date.toString("yyyy"); if (date.year() == startdate.year()) selected = true; } item = new MythUIButtonListItem(m_dateList, text, NULL, false); item->SetData(QVariant(date)); if (selected) m_dateList->SetItemCurrent(item); } m_dateList->SetVisible(true); } // Time if (kNoTime != (m_resolution & 0xF0)) { QDate startdate(m_startTime.toLocalTime().date()); QTime starttime(m_startTime.toLocalTime().time()); QTime time(0,0,0); QString text; bool selected = false; int limit = (m_resolution & kMinutes) ? (60 * 24) : 24; for (int x = 0; x < limit; x++) { selected = false; if (m_resolution & kMinutes) { time = time.addSecs(60); QDateTime dt = QDateTime(startdate, time, Qt::LocalTime); text = MythDate::toString(dt, MythDate::kTime); if (time == starttime) selected = true; } else if (m_resolution & kHours) { time = time.addSecs(60*60); text = time.toString("hh:00"); if (time.hour() == starttime.hour()) selected = true; } item = new MythUIButtonListItem(m_timeList, text, NULL, false); item->SetData(QVariant(time)); if (selected) m_timeList->SetItemCurrent(item); } m_timeList->SetVisible(true); } if (messageText && !m_message.isEmpty()) messageText->SetText(m_message); connect(okButton, SIGNAL(Clicked()), SLOT(okClicked())); BuildFocusList(); return true; }