void RSSEditor::slotEditSite() { QMutexLocker locker(&m_lock); MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); RSSSite *site = qVariantValue<RSSSite *>(m_sites->GetItemCurrent()->GetData()); if (site) { RSSEditPopup *rsseditpopup = new RSSEditPopup(site->GetURL(), true, mainStack, "rsseditpopup"); if (rsseditpopup->Create()) { connect(rsseditpopup, SIGNAL(saving()), this, SLOT(listChanged())); mainStack->AddScreen(rsseditpopup); } else { delete rsseditpopup; } } }
void RSSEditor::slotItemChanged() { RSSSite *site = qVariantValue<RSSSite *>(m_sites->GetItemCurrent()->GetData()); if (site) { if (m_image) { QString thumb = site->GetImage(); m_image->Reset(); if (!thumb.isEmpty()) { m_image->SetFilename(site->GetImage()); m_image->Load(); } } if (m_title) m_title->SetText(site->GetTitle()); if (m_desc) m_desc->SetText(site->GetDescription()); if (m_url) m_url->SetText(site->GetURL()); if (m_author) m_author->SetText(site->GetAuthor()); } }
void NetTree::slotItemChanged() { ResultItem *item; RSSSite *site; if (m_type == DLG_TREE) { item = qVariantValue<ResultItem *>(m_siteMap->GetCurrentNode()->GetData()); site = qVariantValue<RSSSite *>(m_siteMap->GetCurrentNode()->GetData()); } else { MythGenericTree *node = GetNodePtrFromButton(m_siteButtonList->GetItemCurrent()); if (!node) return; item = qVariantValue<ResultItem *>(node->GetData()); site = qVariantValue<RSSSite *>(node->GetData()); } if (item) { MetadataMap metadataMap; item->toMap(metadataMap); SetTextFromMap(metadataMap); if (!item->GetThumbnail().isEmpty() && m_thumbImage) { m_thumbImage->Reset(); QString dlfile = item->GetThumbnail(); if (dlfile.contains("%SHAREDIR%")) { dlfile.replace("%SHAREDIR%", GetShareDir()); m_thumbImage->SetFilename(dlfile); m_thumbImage->Load(); } else { QString sFilename = getDownloadFilename(item->GetTitle(), item->GetThumbnail()); bool exists = QFile::exists(sFilename); if (exists) { m_thumbImage->SetFilename(sFilename); m_thumbImage->Load(); } } } else if (m_thumbImage) m_thumbImage->Reset(); if (m_downloadable) { if (item->GetDownloadable()) m_downloadable->DisplayState("yes"); else m_downloadable->DisplayState("no"); } } else if (site) { ResultItem *res = new ResultItem(site->GetTitle(), QString(), site->GetDescription(), site->GetURL(), site->GetImage(), QString(), site->GetAuthor(), QDateTime(), 0, 0, -1, QString(), QStringList(), QString(), QStringList(), 0, 0, QString(), 0, QStringList(), 0, 0, 0); MetadataMap metadataMap; res->toMap(metadataMap); SetTextFromMap(metadataMap); if (!site->GetImage().isEmpty() && m_thumbImage) { m_thumbImage->SetFilename(site->GetImage()); m_thumbImage->Load(); } else if (m_thumbImage) m_thumbImage->Reset(); if (m_downloadable) { m_downloadable->Reset(); } } else { QString title; if (m_type == DLG_TREE) title = m_siteMap->GetItemCurrent()->GetText(); else title = m_siteButtonList->GetItemCurrent()->GetText(); QString thumb; if (m_type == DLG_TREE) thumb = m_siteMap->GetCurrentNode()-> GetData().toString(); else { MythGenericTree *node = GetNodePtrFromButton(m_siteButtonList->GetItemCurrent()); if (node) thumb = node->GetData().toString(); } ResultItem *res = new ResultItem(title, QString(), QString(), QString(), thumb, QString(), QString(), QDateTime(), 0, 0, -1, QString(), QStringList(), QString(), QStringList(), 0, 0, QString(), 0, QStringList(), 0, 0, 0); MetadataMap metadataMap; res->toMap(metadataMap); SetTextFromMap(metadataMap); if (m_thumbImage) { if (!thumb.startsWith("http://")) { if (thumb.contains("%SHAREDIR%")) thumb.replace("%SHAREDIR%", GetShareDir()); bool exists = QFile::exists(thumb); if (exists) { m_thumbImage->SetFilename(thumb); m_thumbImage->Load(); } else m_thumbImage->Reset(); } else { QString url = thumb; QString title; if (m_type == DLG_TREE) title = m_siteMap->GetItemCurrent()->GetText(); else title = m_siteButtonList->GetItemCurrent()->GetText(); QString sFilename = GetDownloadFilename(title, url); bool exists = QFile::exists(sFilename); if (exists && !url.isEmpty()) { m_thumbImage->SetFilename(sFilename); m_thumbImage->Load(); } else m_thumbImage->Reset(); } } if (m_downloadable) m_downloadable->Reset(); } }
void NetTree::UpdateItem(MythUIButtonListItem *item) { if (!item) return; MythGenericTree *node = GetNodePtrFromButton(item); if (!node) return; RSSSite *site = qVariantValue<RSSSite *>(node->GetData()); ResultItem *video = qVariantValue<ResultItem *>(node->GetData()); int nodeInt = node->getInt(); if (nodeInt == kSubFolder) { item->SetText(QString("%1").arg(node->visibleChildCount()), "childcount"); item->DisplayState("subfolder", "nodetype"); item->SetText(node->getString(), "title"); item->SetText(node->getString()); item->SetImage(node->GetData().toString()); } else if (nodeInt == kUpFolder) { item->DisplayState("upfolder", "nodetype"); item->SetText(node->getString(), "title"); item->SetText(node->getString()); } if (site) { item->SetText(site->GetTitle()); item->SetText(site->GetDescription(), "description"); item->SetText(site->GetURL(), "url"); item->SetImage(site->GetImage()); } else if (video) { item->SetText(video->GetTitle()); MetadataMap metadataMap; video->toMap(metadataMap); item->SetTextFromMap(metadataMap); int pos; if (m_type == DLG_TREE) pos = 0; else pos = m_siteButtonList->GetItemPos(item); QString dlfile = video->GetThumbnail(); if (dlfile.contains("%SHAREDIR%")) dlfile.replace("%SHAREDIR%", GetShareDir()); else dlfile = getDownloadFilename(video->GetTitle(), video->GetThumbnail()); if (QFile::exists(dlfile)) item->SetImage(dlfile); else if (video->GetThumbnail().startsWith("http")) m_imageDownload->addThumb(video->GetTitle(), video->GetThumbnail(), qVariantFromValue<uint>(pos)); } else { item->SetText(node->getString()); if (!node->GetData().toString().isEmpty()) { QString tpath = node->GetData().toString(); if (tpath.startsWith("http://")) { uint pos; if (m_type == DLG_TREE) pos = 0; else pos = m_siteButtonList->GetItemPos(item); QString dlfile = GetThumbnailFilename(tpath, node->getString()); if (QFile::exists(dlfile)) item->SetImage(dlfile); else m_imageDownload->addThumb(node->getString(), tpath, qVariantFromValue<uint>(pos)); } else if (tpath != "0") { QString filename = node->GetData().toString(); if (filename.contains("%SHAREDIR%")) filename.replace("%SHAREDIR%", GetShareDir()); item->SetImage(filename); } } } }