bool RSSEditor::Create(void) { QMutexLocker locker(&m_lock); // Load the theme for this screen bool foundtheme = LoadWindowFromXML("netvision-ui.xml", "rsseditor", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_sites, "sites", &err); UIUtilE::Assign(this, m_new, "new", &err); UIUtilE::Assign(this, m_delete, "delete", &err); UIUtilE::Assign(this, m_edit, "edit", &err); UIUtilW::Assign(this, m_image, "preview"); UIUtilW::Assign(this, m_title, "title"); UIUtilW::Assign(this, m_desc, "description"); UIUtilW::Assign(this, m_url, "url"); UIUtilW::Assign(this, m_author, "author"); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'rsseditor'"); return false; } connect(m_sites, SIGNAL(itemClicked(MythUIButtonListItem*)), this, SLOT(slotEditSite(void))); connect(m_delete, SIGNAL(Clicked(void)), SLOT(slotDeleteSite(void))); connect(m_edit, SIGNAL(Clicked(void)), SLOT(slotEditSite(void))); connect(m_new, SIGNAL(Clicked(void)), SLOT(slotNewSite(void))); connect(m_sites, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(slotItemChanged(void))); BuildFocusList(); loadData(); if (m_sites->GetCount() == 0) SetFocusWidget(m_new); else slotItemChanged(); return true; }
bool ImportIconsWizard::Create() { if (!initialLoad(m_strChannelname)) return false; bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("config-ui.xml", "iconimport", this); if (!foundtheme) return false; m_iconsList = dynamic_cast<MythUIButtonList *>(GetChild("icons")); m_manualEdit = dynamic_cast<MythUITextEdit *>(GetChild("manualsearch")); m_nameText = dynamic_cast<MythUIText *>(GetChild("name")); m_manualButton = dynamic_cast<MythUIButton *>(GetChild("search")); m_skipButton = dynamic_cast<MythUIButton *>(GetChild("skip")); m_statusText = dynamic_cast<MythUIText *>(GetChild("status")); m_preview = dynamic_cast<MythUIImage *>(GetChild("preview")); m_previewtitle = dynamic_cast<MythUIText *>(GetChild("previewtitle")); if (!m_iconsList || !m_manualEdit || !m_nameText || !m_manualButton || !m_skipButton || !m_statusText) { LOG(VB_GENERAL, LOG_ERR, "Unable to load window 'iconimport', missing required element(s)"); return false; } m_nameText->SetEnabled(false); m_nameText->SetHelpText(tr("Name of the icon file")); m_iconsList->SetHelpText(tr("List of possible icon files")); m_manualEdit->SetHelpText(tr("Enter text here for the manual search")); m_manualButton->SetHelpText(tr("Manually search for the text")); m_skipButton->SetHelpText(tr("Skip this icon")); connect(m_manualButton, SIGNAL(Clicked()), SLOT(manualSearch())); connect(m_skipButton, SIGNAL(Clicked()), SLOT(skip())); connect(m_iconsList, SIGNAL(itemClicked(MythUIButtonListItem *)), SLOT(menuSelection(MythUIButtonListItem *))); connect(m_iconsList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(itemChanged(MythUIButtonListItem *))); BuildFocusList(); enableControls(STATE_NORMAL); return true; }
void ZMEvents::setGridLayout(int layout) { if (layout < 1 || layout > 3) layout = 1; if (layout == m_layout) return; if (m_eventGrid) m_eventGrid->Reset(); m_layout = layout; // iterate though the children showing/hiding them as appropriate QString name; QString layoutName = QString("layout%1").arg(layout); QList<MythUIType *> *children = GetAllChildren(); for (int x = 0; x < children->size(); x++) { MythUIType *type = children->at(x); name = type->objectName(); if (name.startsWith("layout")) { if (name.startsWith(layoutName)) type->SetVisible(true); else type->SetVisible(false); } } // get the correct grid m_eventGrid = dynamic_cast<MythUIButtonList *> (GetChild(layoutName + "_eventlist")); if (m_eventGrid) { connect(m_eventGrid, SIGNAL(itemSelected( MythUIButtonListItem*)), this, SLOT(eventChanged(MythUIButtonListItem*))); connect(m_eventGrid, SIGNAL(itemClicked( MythUIButtonListItem*)), this, SLOT(playPressed())); connect(m_eventGrid, SIGNAL(itemVisible(MythUIButtonListItem*)), this, SLOT(eventVisible(MythUIButtonListItem*))); updateUIList(); BuildFocusList(); SetFocusWidget(m_eventGrid); } else {
bool EditRomInfoDialog::Create() { if (!LoadWindowFromXML("game-ui.xml", "edit_metadata", this)) return false; bool err = false; UIUtilE::Assign(this, m_gamenameEdit, "title_edit", &err); UIUtilE::Assign(this, m_genreEdit, "genre_edit", &err); UIUtilE::Assign(this, m_yearEdit, "year_edit", &err); UIUtilE::Assign(this, m_countryEdit, "country_edit", &err); UIUtilE::Assign(this, m_plotEdit, "description_edit", &err); UIUtilE::Assign(this, m_publisherEdit, "publisher_edit", &err); UIUtilE::Assign(this, m_favoriteCheck, "favorite_check", &err); UIUtilE::Assign(this, m_screenshotButton, "screenshot_button", &err); UIUtilE::Assign(this, m_screenshotText, "screenshot_text", &err); UIUtilE::Assign(this, m_fanartButton, "fanart_button", &err); UIUtilE::Assign(this, m_fanartText, "fanart_text", &err); UIUtilE::Assign(this, m_boxartButton, "coverart_button", &err); UIUtilE::Assign(this, m_boxartText, "coverart_text", &err); UIUtilE::Assign(this, m_doneButton, "done_button", &err); if (err) { VERBOSE(VB_IMPORTANT, "Cannot load screen 'edit_metadata'"); return false; } fillWidgets(); BuildFocusList(); connect(m_gamenameEdit, SIGNAL(valueChanged()), SLOT(SetGamename())); connect(m_genreEdit, SIGNAL(valueChanged()), SLOT(SetGenre())); connect(m_yearEdit, SIGNAL(valueChanged()), SLOT(SetYear())); connect(m_countryEdit, SIGNAL(valueChanged()), SLOT(SetCountry())); connect(m_plotEdit, SIGNAL(valueChanged()), SLOT(SetPlot())); connect(m_publisherEdit, SIGNAL(valueChanged()), SLOT(SetPublisher())); connect(m_favoriteCheck, SIGNAL(valueChanged()), SLOT(ToggleFavorite())); connect(m_screenshotButton, SIGNAL(Clicked()), SLOT(FindScreenshot())); connect(m_fanartButton, SIGNAL(Clicked()), SLOT(FindFanart())); connect(m_boxartButton, SIGNAL(Clicked()), SLOT(FindBoxart())); connect(m_doneButton, SIGNAL(Clicked()), SLOT(SaveAndExit())); return true; }
bool ScreenSetup::Create() { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("weather-ui.xml", "screen-setup", this); if (!foundtheme) return false; m_helpText = dynamic_cast<MythUIText *> (GetChild("helptxt")); m_activeList = dynamic_cast<MythUIButtonList *> (GetChild("activelist")); m_inactiveList = dynamic_cast<MythUIButtonList *> (GetChild("inactivelist")); m_finishButton = dynamic_cast<MythUIButton *> (GetChild("finishbutton")); MythUIText *activeheader = dynamic_cast<MythUIText *> (GetChild("activehdr")); if (activeheader) activeheader->SetText(tr("Active Screens")); MythUIText *inactiveheader = dynamic_cast<MythUIText *> (GetChild("inactivehdr")); if (inactiveheader) inactiveheader->SetText(tr("Inactive Screens")); if (!m_activeList || !m_inactiveList || !m_finishButton || !m_helpText) { LOG(VB_GENERAL, LOG_ERR, "Theme is missing required elements."); return false; } BuildFocusList(); connect(m_activeList, SIGNAL(itemSelected(MythUIButtonListItem *)), this, SLOT(updateHelpText())); connect(m_activeList, SIGNAL(itemClicked(MythUIButtonListItem *)), this, SLOT(doListSelect(MythUIButtonListItem *))); connect(m_inactiveList, SIGNAL(itemSelected(MythUIButtonListItem *)), this, SLOT(updateHelpText())); connect(m_inactiveList, SIGNAL(itemClicked(MythUIButtonListItem *)), this, SLOT(doListSelect(MythUIButtonListItem *))); SetFocusWidget(m_inactiveList); m_finishButton->SetText(tr("Finish")); connect(m_finishButton, SIGNAL(Clicked()), this, SLOT(saveData())); loadData(); return true; }
bool SourceSetup::Create() { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("weather-ui.xml", "source-setup", this); if (!foundtheme) return false; m_sourceList = dynamic_cast<MythUIButtonList *> (GetChild("srclist")); m_updateSpinbox = dynamic_cast<MythUISpinBox *> (GetChild("update_spinbox")); m_retrieveSpinbox = dynamic_cast<MythUISpinBox *> (GetChild("retrieve_spinbox")); m_finishButton = dynamic_cast<MythUIButton *> (GetChild("finishbutton")); m_sourceText = dynamic_cast<MythUIText *> (GetChild("srcinfo")); if (!m_sourceList || !m_updateSpinbox || !m_retrieveSpinbox || !m_finishButton || !m_sourceText) { LOG(VB_GENERAL, LOG_ERR, "Theme is missing required elements."); return false; } BuildFocusList(); SetFocusWidget(m_sourceList); connect(m_sourceList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(sourceListItemSelected(MythUIButtonListItem *))); #if 0 connect(m_sourceList, SIGNAL(TakingFocus()), this, SLOT(sourceListItemSelected())); #endif // 12 Hour max interval m_updateSpinbox->SetRange(10, 720, 10); connect(m_updateSpinbox, SIGNAL(LosingFocus()), SLOT(updateSpinboxUpdate())); // 2 Minute retrieval timeout max m_retrieveSpinbox->SetRange(10, 120, 5); connect(m_retrieveSpinbox, SIGNAL(LosingFocus()), SLOT(retrieveSpinboxUpdate())); m_finishButton->SetText(tr("Finish")); connect(m_finishButton, SIGNAL(Clicked()), SLOT(saveData())); loadData(); return true; }
bool RecordingSelector::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("mytharchive-ui.xml", "recording_selector", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_okButton, "ok_button", &err); UIUtilE::Assign(this, m_cancelButton, "cancel_button", &err); UIUtilE::Assign(this, m_categorySelector, "category_selector", &err); UIUtilE::Assign(this, m_recordingButtonList, "recordinglist", &err); UIUtilW::Assign(this, m_titleText, "progtitle", &err); UIUtilW::Assign(this, m_datetimeText, "progdatetime", &err); UIUtilW::Assign(this, m_descriptionText, "progdescription", &err); UIUtilW::Assign(this, m_filesizeText, "filesize", &err); UIUtilW::Assign(this, m_previewImage, "preview_image", &err); UIUtilW::Assign(this, m_cutlistImage, "cutlist_image", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'recording_selector'"); return false; } connect(m_okButton, SIGNAL(Clicked()), this, SLOT(OKPressed())); connect(m_cancelButton, SIGNAL(Clicked()), this, SLOT(cancelPressed())); new MythUIButtonListItem(m_categorySelector, tr("All Recordings")); connect(m_categorySelector, SIGNAL(itemSelected(MythUIButtonListItem *)), this, SLOT(setCategory(MythUIButtonListItem *))); connect(m_recordingButtonList, SIGNAL(itemSelected(MythUIButtonListItem *)), this, SLOT(titleChanged(MythUIButtonListItem *))); connect(m_recordingButtonList, SIGNAL(itemClicked(MythUIButtonListItem *)), this, SLOT(toggleSelected(MythUIButtonListItem *))); if (m_cutlistImage) m_cutlistImage->Hide(); BuildFocusList(); SetFocusWidget(m_recordingButtonList); return true; }
bool VisualizationSettings::Create() { bool err = false; // Load the theme for this screen if (!LoadWindowFromXML("musicsettings-ui.xml", "visualizationsettings", this)) return false; UIUtilE::Assign(this, m_changeOnSongChange, "cycleonsongchange", &err); UIUtilE::Assign(this, m_randomizeOrder, "randomizeorder", &err); UIUtilE::Assign(this, m_scaleWidth, "scalewidth", &err); UIUtilE::Assign(this, m_scaleHeight, "scaleheight", &err); UIUtilE::Assign(this, m_saveButton, "save", &err); UIUtilE::Assign(this, m_cancelButton, "cancel", &err); int changeOnSongChange = gCoreContext->GetNumSetting("VisualCycleOnSongChange", 0); if (changeOnSongChange == 1) m_changeOnSongChange->SetCheckState(MythUIStateType::Full); int randomizeorder = gCoreContext->GetNumSetting("VisualRandomize", 0); if (randomizeorder == 1) m_randomizeOrder->SetCheckState(MythUIStateType::Full); m_scaleWidth->SetRange(1,2,1); m_scaleWidth->SetValue(gCoreContext->GetNumSetting("VisualScaleWidth")); m_scaleHeight->SetRange(1,2,1); m_scaleHeight->SetValue(gCoreContext->GetNumSetting("VisualScaleHeight")); m_changeOnSongChange->SetHelpText(tr("Change the visualizer when the song changes.")); m_randomizeOrder->SetHelpText(tr("On changing the visualizer pick a new one at random.")); m_scaleWidth->SetHelpText(tr("If set to \"2\", visualizations will be " "scaled in half. Currently only used by " "the goom visualization. Reduces CPU load " "on slower machines.")); m_scaleHeight->SetHelpText(tr("If set to \"2\", visualizations will be " "scaled in half. Currently only used by " "the goom visualization. Reduces CPU load " "on slower machines.")); m_cancelButton->SetHelpText(tr("Exit without saving settings")); m_saveButton->SetHelpText(tr("Save settings and Exit")); connect(m_saveButton, SIGNAL(Clicked()), this, SLOT(slotSave())); connect(m_cancelButton, SIGNAL(Clicked()), this, SLOT(Close())); BuildFocusList(); SetFocusWidget(m_cancelButton); return true; }
bool CustomEdit::Create() { if (!LoadWindowFromXML("schedule-ui.xml", "customedit", this)) return false; bool err = false; UIUtilE::Assign(this, m_ruleList, "rules", &err); UIUtilE::Assign(this, m_clauseList, "clauses", &err); UIUtilE::Assign(this, m_titleEdit, "title", &err); UIUtilE::Assign(this, m_subtitleEdit, "subtitle", &err); UIUtilE::Assign(this, m_descriptionEdit, "description", &err); UIUtilE::Assign(this, m_clauseText, "clausetext", &err); UIUtilE::Assign(this, m_testButton, "test", &err); UIUtilE::Assign(this, m_recordButton, "record", &err); UIUtilE::Assign(this, m_storeButton, "store", &err); UIUtilE::Assign(this, m_cancelButton, "cancel", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'customedit'"); return false; } connect(m_ruleList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(ruleChanged(MythUIButtonListItem *))); connect(m_titleEdit, SIGNAL(valueChanged(void)), this, SLOT(textChanged(void))); m_titleEdit->SetMaxLength(128); m_subtitleEdit->SetMaxLength(128); connect(m_descriptionEdit, SIGNAL(valueChanged(void)), this, SLOT(textChanged(void))); m_descriptionEdit->SetMaxLength(0); connect(m_clauseList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(clauseChanged(MythUIButtonListItem *))); connect(m_clauseList, SIGNAL(itemClicked(MythUIButtonListItem *)), SLOT(clauseClicked(MythUIButtonListItem *))); connect(m_testButton, SIGNAL(Clicked()), SLOT(testClicked())); connect(m_recordButton, SIGNAL(Clicked()), SLOT(recordClicked())); connect(m_storeButton, SIGNAL(Clicked()), SLOT(storeClicked())); connect(m_cancelButton, SIGNAL(Clicked()), SLOT(Close())); loadData(); BuildFocusList(); return true; }
bool VideoSetupWizard::Create() { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("config-ui.xml", "videowizard", this); if (!foundtheme) return false; m_playbackProfileButtonList = dynamic_cast<MythUIButtonList *> (GetChild("playbackprofiles")); m_testSDButton = dynamic_cast<MythUIButton *> (GetChild("testsd")); m_testHDButton = dynamic_cast<MythUIButton *> (GetChild("testhd")); m_nextButton = dynamic_cast<MythUIButton *> (GetChild("next")); m_prevButton = dynamic_cast<MythUIButton *> (GetChild("previous")); if (!m_playbackProfileButtonList || !m_testSDButton || !m_testHDButton ||!m_nextButton || !m_prevButton) { LOG(VB_GENERAL, LOG_ERR, "Theme is missing critical theme elements."); return false; } m_playbackProfileButtonList->SetHelpText( tr("Select from one of the " "preconfigured playback profiles. When " "satisfied, you can test Standard Definition " "and High Definition playback with the selected " "profile before moving on.") ); m_testSDButton->SetHelpText( tr("Test your playback settings with Standard " "Definition content. (480p)") ); m_testHDButton->SetHelpText( tr("Test your playback settings with High " "Definition content (1080p).") ); m_nextButton->SetHelpText( tr("Save these changes and move on to the " "next configuration step.") ); m_prevButton->SetHelpText(tr("Return to the previous configuration step.")); connect(m_testSDButton, SIGNAL(Clicked()), this, SLOT(testSDVideo())); connect(m_testHDButton, SIGNAL(Clicked()), this, SLOT(testHDVideo())); connect(m_nextButton, SIGNAL(Clicked()), this, SLOT(slotNext())); connect(m_prevButton, SIGNAL(Clicked()), this, SLOT(slotPrevious())); BuildFocusList(); loadData(); return true; }
bool TeaTime::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("teatime-ui.xml", "teatime", this); if (!foundtheme) { LOG_Tea(LOG_WARNING, "window teatime in teatime-ui.xml is missing."); return false; } UIUtilW::Assign(this, m_CancelButton, "cancel"); UIUtilW::Assign(this, m_InfoText, "infotext"); m_InfoText->SetText(tr("Please select a timeout value.")); bool err = false; UIUtilE::Assign(this, m_OkButton, "ok", &err); UIUtilE::Assign(this, m_Setup, "setup", &err); UIUtilE::Assign(this, m_TimeSpinbox, "time_span", &err); if (err) { LOG_Tea(LOG_WARNING, "Theme is missing required elements."); return false; } connect(m_CancelButton, SIGNAL(Clicked()), SLOT(Close())); connect(m_OkButton, SIGNAL(Clicked()), SLOT(OkClicked())); connect(m_Setup, SIGNAL(Clicked()), SLOT(Setup())); int minutes = gCoreContext->GetSetting("Teatime_Minutes", "5").toInt(); m_TimeSpinbox->SetRange(0, 600, 1, 5); m_TimeSpinbox->SetValue(minutes); m_TimeSpinbox->SetVisible(true); if (m_TimeData->hasActiveTimer()) { startTimer(100); } BuildFocusList(); return true; }
bool CustomPriority::Create() { if (!LoadWindowFromXML("schedule-ui.xml", "custompriority", this)) return false; m_ruleList = dynamic_cast<MythUIButtonList *>(GetChild("rules")); m_clauseList = dynamic_cast<MythUIButtonList *>(GetChild("clauses")); m_prioritySpin = dynamic_cast<MythUISpinBox *>(GetChild("priority")); m_titleEdit = dynamic_cast<MythUITextEdit *>(GetChild("title")); m_descriptionEdit = dynamic_cast<MythUITextEdit *>(GetChild("description")); m_addButton = dynamic_cast<MythUIButton *>(GetChild("add")); m_installButton = dynamic_cast<MythUIButton *>(GetChild("install")); m_testButton = dynamic_cast<MythUIButton *>(GetChild("test")); m_deleteButton = dynamic_cast<MythUIButton *>(GetChild("delete")); m_cancelButton = dynamic_cast<MythUIButton *>(GetChild("cancel")); if (!m_ruleList || !m_clauseList || !m_prioritySpin || !m_titleEdit || !m_descriptionEdit || !m_addButton || !m_installButton || !m_testButton || !m_deleteButton || !m_cancelButton) { LOG(VB_GENERAL, LOG_ERR, "CustomPriority, theme is missing required elements"); return false; } connect(m_ruleList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(ruleChanged(MythUIButtonListItem *))); connect(m_titleEdit, SIGNAL(valueChanged()), SLOT(textChanged())); m_titleEdit->SetMaxLength(128); connect(m_descriptionEdit, SIGNAL(valueChanged()), SLOT(textChanged())); m_descriptionEdit->SetMaxLength(0); connect(m_addButton, SIGNAL(Clicked()), SLOT(addClicked())); connect(m_testButton, SIGNAL(Clicked()), SLOT(testClicked())); connect(m_installButton, SIGNAL(Clicked()), SLOT(installClicked())); connect(m_deleteButton, SIGNAL(Clicked()), SLOT(deleteClicked())); connect(m_cancelButton, SIGNAL(Clicked()), SLOT(Close())); loadData(); BuildFocusList(); return true; }
bool FunctionDialog::Create() { if (!LoadWindowFromXML("zoneminder-ui.xml", "functionpopup", this)) return false; bool err = false; UIUtilE::Assign(this, m_captionText, "caption_text", &err); UIUtilE::Assign(this, m_functionList, "function_list", &err); UIUtilE::Assign(this, m_enabledCheck, "enable_check", &err); UIUtilE::Assign(this, m_notificationCheck, "notification_check", &err); UIUtilE::Assign(this, m_okButton, "ok_button", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'functionpopup'"); return false; } new MythUIButtonListItem(m_functionList, "Monitor"); new MythUIButtonListItem(m_functionList, "Modect"); new MythUIButtonListItem(m_functionList, "Nodect"); new MythUIButtonListItem(m_functionList, "Record"); new MythUIButtonListItem(m_functionList, "Mocord"); new MythUIButtonListItem(m_functionList, "None"); m_functionList->MoveToNamedPosition(m_monitor->function); m_captionText->SetText(m_monitor->name); connect(m_okButton, SIGNAL(Clicked()), this, SLOT(setMonitorFunction())); if (m_monitor->enabled) m_enabledCheck->SetCheckState(MythUIStateType::Full); else m_enabledCheck->SetCheckState(MythUIStateType::Off); if (m_monitor->showNotifications) m_notificationCheck->SetCheckState(MythUIStateType::Full); else m_notificationCheck->SetCheckState(MythUIStateType::Off); BuildFocusList(); SetFocusWidget(m_functionList); return true; }
/** * \copydoc MythUIType::CopyFrom() */ void MythScreenType::CopyFrom(MythUIType *base) { MythScreenType *st = dynamic_cast<MythScreenType *>(base); if (!st) { VERBOSE(VB_IMPORTANT, "ERROR, bad parsing"); return; } m_FullScreen = st->m_FullScreen; m_IsDeleting = false; MythUIType::CopyFrom(base); BuildFocusList(); };
bool ProgDetails::Create(void) { // Load the theme for this screen bool foundtheme = LoadWindowFromXML("schedule-ui.xml", "programdetails", this); if (!foundtheme) return false; // Initialise details list if (!m_infoList.Create(true)) { LOG(VB_GENERAL, LOG_ERR, "Cannot load 'Info buttonlist'"); return false; } BuildFocusList(); return true; }
/** * \copydoc MythUIType::CopyFrom() */ void MythScreenType::CopyFrom(MythUIType *base) { MythScreenType *st = dynamic_cast<MythScreenType *>(base); if (!st) { LOG(VB_GENERAL, LOG_ERR, "ERROR, bad parsing"); return; } m_FullScreen = st->m_FullScreen; m_IsDeleting = false; MythUIType::CopyFrom(base); ConnectDependants(true); BuildFocusList(); };
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 ThemeChooser::Create(void) { // Load the theme for this screen if (!LoadWindowFromXML("settings-ui.xml", "themechooser", this)) return false; bool err = false; UIUtilE::Assign(this, m_themes, "themes", &err); UIUtilW::Assign(this, m_preview, "preview"); UIUtilW::Assign(this, m_fullPreviewStateType, "fullpreviewstate"); if (m_fullPreviewStateType) { MythUIGroup *state = dynamic_cast<MythUIGroup*> (m_fullPreviewStateType->GetChild("fullscreen")); if (state) { m_fullScreenName = dynamic_cast<MythUIText*>(state->GetChild("fullscreenname")); m_fullScreenPreview = dynamic_cast<MythUIImage*>(state->GetChild("fullscreenpreview")); } } if (err) { LOG(VB_GENERAL, LOG_ERR, LOC + "Cannot load screen 'themechooser'"); return false; } connect(m_themes, SIGNAL(itemClicked(MythUIButtonListItem*)), this, SLOT(saveAndReload(MythUIButtonListItem*))); connect(m_themes, SIGNAL(itemSelected(MythUIButtonListItem*)), this, SLOT(itemChanged(MythUIButtonListItem*))); BuildFocusList(); LoadInBackground(); return true; }
/** * \brief Initialises the graphical elements * \return True if successful otherwise false */ bool GallerySlideView::Create() { if (!LoadWindowFromXML("image-ui.xml", "slideshow", this)) return false; // Get widgets from XML bool err = false; UIUtilE::Assign(this, m_uiImage, "image", &err); UIUtilW::Assign(this, m_uiStatus, "status"); UIUtilW::Assign(this, m_uiSlideCount, "slidecount"); UIUtilW::Assign(this, m_uiCaptionText, "caption"); UIUtilW::Assign(this, m_uiHideCaptions, "hidecaptions"); if (err) { LOG(VB_GENERAL, LOG_ERR, LOC + "Cannot load screen 'Slideshow'"); return false; } // Initialise details list if (!m_infoList.Create(true)) { LOG(VB_GENERAL, LOG_ERR, LOC + "Cannot load 'Info buttonlist'"); return false; } // Create display buffer m_slides.Initialise(*m_uiImage); if (m_uiHideCaptions) m_uiHideCaptions->SetText(m_showCaptions ? "" : tr("Hide")); BuildFocusList(); SetFocusWidget(m_uiImage); // Detect when slides are available for display. // Queue so that keypress events always complete before transition starts connect(&m_slides, SIGNAL(SlideReady(int)), this, SLOT(SlideAvailable(int)), Qt::QueuedConnection); 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; }
/** \fn GalleryView::Create() * \brief Initialises and shows the graphical elements * \return True if successful, otherwise false */ bool GalleryView::Create() { if (!LoadWindowFromXML("image-ui.xml", "gallery", this)) return false; bool err = false; UIUtilE::Assign(this, m_imageList, "images", &err); UIUtilW::Assign(this, m_captionText, "title"); UIUtilW::Assign(this, m_imageText, "noimages"); UIUtilW::Assign(this, m_selectedImage, "selectedimage"); UIUtilW::Assign(this, m_positionText, "position"); UIUtilW::Assign(this, m_crumbsText, "breadcrumbs"); UIUtilW::Assign(this, m_syncProgressText, "syncprogresstext"); UIUtilW::Assign(this, m_thumbProgressText, "thumbprogresstext"); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'gallery'"); return false; } // set the size of the preview images (usually the thumbnails) m_galleryViewHelper->SetPreviewImageSize(m_imageList); if (m_syncProgressText) m_syncProgressText->SetVisible(false); if (m_thumbProgressText) m_thumbProgressText->SetVisible(false); BuildFocusList(); SetFocusWidget(m_imageList); // connect the widgets with their slot methods connect(m_imageList, SIGNAL(itemClicked(MythUIButtonListItem *)), SLOT(ItemSelected(MythUIButtonListItem *))); connect(m_imageList, SIGNAL(itemSelected(MythUIButtonListItem *)), SLOT(UpdateImageItem(MythUIButtonListItem *))); return true; }
bool ViewScheduled::Create() { if (!LoadWindowFromXML("schedule-ui.xml", "viewscheduled", this)) return false; //if (m_player && m_player->IsRunning() && showTV) m_groupList = dynamic_cast<MythUIButtonList *> (GetChild("groups")); m_schedulesList = dynamic_cast<MythUIButtonList *> (GetChild("schedules")); if (!m_schedulesList) { VERBOSE(VB_IMPORTANT, "Theme is missing critical theme elements."); return false; } connect(m_schedulesList, SIGNAL(itemSelected(MythUIButtonListItem*)), SLOT(updateInfo(MythUIButtonListItem*))); connect(m_schedulesList, SIGNAL(itemClicked(MythUIButtonListItem*)), SLOT(selected(MythUIButtonListItem*))); m_schedulesList->SetLCDTitles(tr("Scheduled Recordings"), "shortstarttimedate|channel|titlesubtitle|card"); m_schedulesList->SetSearchFields("titlesubtitle"); if (m_groupList) { connect(m_groupList, SIGNAL(itemSelected(MythUIButtonListItem*)), SLOT(ChangeGroup(MythUIButtonListItem*))); connect(m_groupList, SIGNAL(itemClicked(MythUIButtonListItem*)), SLOT(SwitchList())); m_groupList->SetLCDTitles(tr("Group List"), ""); } if (m_player) EmbedTVWindow(); BuildFocusList(); LoadInBackground(); return true; }
bool EditMetadataDialog::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("mythburn-ui.xml", "edit_metadata", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_titleEdit, "title_edit", &err); UIUtilE::Assign(this, m_subtitleEdit, "subtitle_edit", &err); UIUtilE::Assign(this, m_descriptionEdit, "description_edit", &err); UIUtilE::Assign(this, m_starttimeEdit, "starttime_edit", &err); UIUtilE::Assign(this, m_startdateEdit, "startdate_edit", &err); UIUtilE::Assign(this, m_okButton, "ok_button", &err); UIUtilE::Assign(this, m_cancelButton, "cancel_button", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'edit_metadata'"); return false; } connect(m_okButton, SIGNAL(Clicked()), this, SLOT(okPressed())); connect(m_cancelButton, SIGNAL(Clicked()), this, SLOT(cancelPressed())); m_titleEdit->SetText(m_sourceMetadata->title); m_subtitleEdit->SetText(m_sourceMetadata->subtitle); m_descriptionEdit->SetText(m_sourceMetadata->description); m_startdateEdit->SetText(m_sourceMetadata->startDate); m_starttimeEdit->SetText(m_sourceMetadata->startTime); BuildFocusList(); SetFocusWidget(m_titleEdit); return true; }
bool LogViewer::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("mytharchive-ui.xml", "logviewer", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_logList, "loglist", &err); UIUtilE::Assign(this, m_logText, "logitem_text", &err); UIUtilE::Assign(this, m_cancelButton, "cancel_button", &err); UIUtilE::Assign(this, m_updateButton, "update_button", &err); UIUtilE::Assign(this, m_exitButton, "exit_button", &err); if (err) { VERBOSE(VB_IMPORTANT, "Cannot load screen 'logviewer'"); return false; } connect(m_cancelButton, SIGNAL(Clicked()), this, SLOT(cancelClicked())); connect(m_updateButton, SIGNAL(Clicked()), this, SLOT(updateClicked())); connect(m_exitButton, SIGNAL(Clicked()), this, SLOT(Close())); connect(m_logList, SIGNAL(itemSelected(MythUIButtonListItem*)), this, SLOT(updateLogItem(MythUIButtonListItem*))); m_updateTimer = NULL; m_updateTimer = new QTimer(this); connect(m_updateTimer, SIGNAL(timeout()), SLOT(updateTimerTimeout()) ); BuildFocusList(); SetFocusWidget(m_logList); return true; }
bool ThumbFinder::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("mythburn-ui.xml", "thumbfinder", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_frameImage, "frameimage", &err); UIUtilE::Assign(this, m_positionImage, "positionimage", &err); UIUtilE::Assign(this, m_imageGrid, "thumblist", &err); UIUtilE::Assign(this, m_saveButton, "save_button", &err); UIUtilE::Assign(this, m_cancelButton, "cancel_button", &err); UIUtilE::Assign(this, m_frameButton, "frame_button", &err); UIUtilE::Assign(this, m_seekAmountText, "seekamount", &err); UIUtilE::Assign(this, m_currentPosText, "currentpos", &err); if (err) { VERBOSE(VB_IMPORTANT, "Cannot load screen 'mythburn'"); return false; } connect(m_imageGrid, SIGNAL(itemSelected(MythUIButtonListItem *)), this, SLOT(gridItemChanged(MythUIButtonListItem *))); connect(m_saveButton, SIGNAL(Clicked()), this, SLOT(savePressed())); connect(m_cancelButton, SIGNAL(Clicked()), this, SLOT(cancelPressed())); connect(m_frameButton, SIGNAL(Clicked()), this, SLOT(updateThumb())); BuildFocusList(); SetFocusWidget(m_imageGrid); 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 WelcomeDialog::Create(void) { bool foundtheme = false; // Load the theme for this screen foundtheme = LoadWindowFromXML("welcome-ui.xml", "welcome_screen", this); if (!foundtheme) return false; bool err = false; UIUtilE::Assign(this, m_status_text, "status_text", &err); UIUtilE::Assign(this, m_recording_text, "recording_text", &err); UIUtilE::Assign(this, m_scheduled_text, "scheduled_text", &err); UIUtilE::Assign(this, m_warning_text, "conflicts_text", &err); UIUtilE::Assign(this, m_startfrontend_button, "startfrontend_button", &err); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'welcome_screen'"); return false; } m_warning_text->SetVisible(false); m_startfrontend_button->SetText(tr("Start Frontend")); connect(m_startfrontend_button, SIGNAL(Clicked()), this, SLOT(startFrontendClick())); BuildFocusList(); SetFocusWidget(m_startfrontend_button); checkConnectionToServer(); checkAutoStart(); 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) { LOG(VB_GENERAL, LOG_ERR, QString("Cannot load screen '%1'") .arg(windowName)); return false; } if (m_titlearea) m_titlearea->SetText(m_title); m_textarea->SetText(m_text); BuildFocusList(); if (m_menu) updateMenu(); connect(m_buttonList, SIGNAL(itemClicked(MythUIButtonListItem*)), SLOT(Select(MythUIButtonListItem*))); return true; }
bool PlaylistView::Create(void) { bool err = false; // Load the theme for this screen err = LoadWindowFromXML("music-ui.xml", "playlistview", this); if (!err) return false; // find common widgets available on any view err = CreateCommon(); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'playlisteditorview'"); return false; } BuildFocusList(); return true; }
bool GameUI::Create() { if (!LoadWindowFromXML("game-ui.xml", "gameui", this)) return false; bool err = false; UIUtilE::Assign(this, m_gameUITree, "gametreelist", &err); UIUtilW::Assign(this, m_gameTitleText, "title"); UIUtilW::Assign(this, m_gameSystemText, "system"); UIUtilW::Assign(this, m_gameYearText, "year"); UIUtilW::Assign(this, m_gameGenreText, "genre"); UIUtilW::Assign(this, m_gameFavouriteState, "favorite"); UIUtilW::Assign(this, m_gamePlotText, "description"); UIUtilW::Assign(this, m_gameImage, "screenshot"); UIUtilW::Assign(this, m_fanartImage, "fanart"); UIUtilW::Assign(this, m_boxImage, "coverart"); if (err) { LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'gameui'"); return false; } connect(m_gameUITree, SIGNAL(itemClicked(MythUIButtonListItem*)), this, SLOT(itemClicked(MythUIButtonListItem*))); connect(m_gameUITree, SIGNAL(nodeChanged(MythGenericTree*)), this, SLOT(nodeChanged(MythGenericTree*))); m_gameShowFileName = gCoreContext->GetSetting("GameShowFileNames").toInt(); BuildTree(); BuildFocusList(); return true; }