void TvShowWidgetSeason::onDownloadFinished(DownloadManagerElement elem) { if (elem.imageType == TypeSeasonPoster) { if (m_show == elem.show) { QImage img = QImage::fromData(elem.data); ui->poster->setPixmap(QPixmap::fromImage(img).scaled(200, 300, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->posterResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewPoster->setEnabled(true); m_currentPoster = img; } elem.show->setSeasonPosterImage(elem.season, elem.data); } else if (elem.imageType == TypeSeasonBackdrop) { Helper::resizeBackdrop(elem.data); if (m_show == elem.show) { QImage img = QImage::fromData(elem.data); ui->backdrop->setPixmap(QPixmap::fromImage(img).scaled(200, 112, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->backdropResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewBackdrop->setEnabled(true); m_currentBackdrop = img; } elem.show->setSeasonBackdropImage(elem.season, elem.data); } else if (elem.imageType == TypeSeasonBanner) { if (m_show == elem.show) { QImage img = QImage::fromData(elem.data); ui->banner->setPixmap(QPixmap::fromImage(img).scaled(200, 37, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->bannerResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewBanner->setEnabled(true); m_currentBanner = img; } elem.show->setSeasonBannerImage(elem.season, elem.data); } if (m_downloadManager->downloadsLeftForShow(m_show) == 0) emit sigSetActionSaveEnabled(true, WidgetTvShows); }
void TvShowWidgetSeason::onChooseBanner() { if (!m_show) return; ImageDialog::instance()->setImageType(TypeBanner); ImageDialog::instance()->clear(); ImageDialog::instance()->setTvShow(m_show); ImageDialog::instance()->setSeason(m_season); ImageDialog::instance()->setDownloads(m_show->seasonBanners(m_season)); ImageDialog::instance()->exec(ImageDialogType::TvShowSeasonBanner); if (ImageDialog::instance()->result() == QDialog::Accepted) { emit sigSetActionSaveEnabled(false, WidgetTvShows); DownloadManagerElement d; d.imageType = TypeSeasonBanner; d.url = ImageDialog::instance()->imageUrl(); d.season = m_season; d.show = m_show; m_downloadManager->addDownload(d); ui->banner->setPixmap(QPixmap()); ui->banner->setMovie(m_loadingMovie); ui->bannerResolution->clear(); ui->buttonPreviewBanner->setEnabled(false); } }
void TvShowWidgetSeason::setSeason(TvShow *show, int season) { onClear(); m_show = show; m_season = season; emit sigSetActionSearchEnabled(false, WidgetTvShows); ui->title->setText(QString(show->name()) + " - " + tr("Season %1").arg(season)); updateImages(QList<ImageType>() << TypeSeasonPoster << TypeSeasonBackdrop << TypeSeasonBanner); onSetEnabled(!show->downloadsInProgress()); emit sigSetActionSaveEnabled(!show->downloadsInProgress(), WidgetTvShows); }
void TvShowWidgetSeason::onChooseBackdrop() { if (!m_show) return; ImageDialog::instance()->setImageType(TypeBackdrop); ImageDialog::instance()->clear(); ImageDialog::instance()->setTvShow(m_show); ImageDialog::instance()->setSeason(m_season); ImageDialog::instance()->setDownloads(m_show->seasonBackdrops(m_season)); ImageDialog::instance()->exec(ImageDialogType::TvShowSeasonBackdrop); if (ImageDialog::instance()->result() == QDialog::Accepted) { emit sigSetActionSaveEnabled(false, WidgetTvShows); DownloadManagerElement d; d.imageType = TypeSeasonBackdrop; d.url = ImageDialog::instance()->imageUrl(); d.season = m_season; d.show = m_show; m_downloadManager->addDownload(d); ui->backdrop->setLoading(true); } }
void TvShowWidgetSeason::onDownloadFinished(DownloadManagerElement elem) { if (elem.imageType == TypeSeasonPoster) { if (m_show == elem.show) ui->poster->setImage(elem.data); ImageCache::instance()->invalidateImages(Manager::instance()->mediaCenterInterface()->seasonPosterImageName(elem.show, elem.season)); elem.show->setSeasonPosterImage(elem.season, elem.data); } else if (elem.imageType == TypeSeasonBackdrop) { Helper::resizeBackdrop(elem.data); if (m_show == elem.show) ui->backdrop->setImage(elem.data); ImageCache::instance()->invalidateImages(Manager::instance()->mediaCenterInterface()->seasonBackdropImageName(elem.show, elem.season)); elem.show->setSeasonBackdropImage(elem.season, elem.data); } else if (elem.imageType == TypeSeasonBanner) { if (m_show == elem.show) ui->banner->setImage(elem.data); ImageCache::instance()->invalidateImages(Manager::instance()->mediaCenterInterface()->seasonBannerImageName(elem.show, elem.season)); elem.show->setSeasonBannerImage(elem.season, elem.data); } if (m_downloadManager->downloadsLeftForShow(m_show) == 0) emit sigSetActionSaveEnabled(true, WidgetTvShows); }
void TvShowWidgetSeason::setSeason(TvShow *show, int season) { onClear(); m_show = show; m_season = season; emit sigSetActionSearchEnabled(false, WidgetTvShows); ui->title->setText(QString(show->name()) + " - " + tr("Season %1").arg(season)); if (!m_show->seasonPosterImage(season).isNull()) { QImage img = QImage::fromData(m_show->seasonPosterImage(season)); ui->poster->setPixmap(QPixmap::fromImage(img).scaledToWidth(200, Qt::SmoothTransformation)); ui->posterResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewPoster->setEnabled(true); m_currentPoster = img; } else if (!Manager::instance()->mediaCenterInterfaceTvShow()->seasonPosterImageName(m_show, season).isEmpty()) { QPixmap p(Manager::instance()->mediaCenterInterfaceTvShow()->seasonPosterImageName(m_show, season)); ui->poster->setPixmap(p.scaledToWidth(200, Qt::SmoothTransformation)); ui->posterResolution->setText(QString("%1x%2").arg(p.width()).arg(p.height())); ui->buttonPreviewPoster->setEnabled(true); m_currentPoster = p.toImage(); } else { ui->poster->setPixmap(QPixmap(":/img/poster.png")); ui->posterResolution->clear(); ui->buttonPreviewPoster->setEnabled(false); } if (!m_show->seasonBackdropImage(season).isNull()) { QImage img = QImage::fromData(m_show->seasonBackdropImage(season)); ui->backdrop->setPixmap(QPixmap::fromImage(img).scaledToWidth(200, Qt::SmoothTransformation)); ui->backdropResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewBackdrop->setEnabled(true); m_currentBackdrop = img; } else if (!Manager::instance()->mediaCenterInterfaceTvShow()->seasonBackdropImageName(m_show, season).isEmpty()) { QPixmap p(Manager::instance()->mediaCenterInterfaceTvShow()->seasonBackdropImageName(m_show, season)); ui->backdrop->setPixmap(p.scaledToWidth(200, Qt::SmoothTransformation)); ui->backdropResolution->setText(QString("%1x%2").arg(p.width()).arg(p.height())); ui->buttonPreviewBackdrop->setEnabled(true); m_currentBackdrop = p.toImage(); } else { ui->backdrop->setPixmap(QPixmap(":/img/missing_art.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->backdropResolution->clear(); ui->buttonPreviewBackdrop->setEnabled(false); } if (!m_show->seasonBannerImage(season).isNull()) { QImage img = QImage::fromData(m_show->seasonBannerImage(season)); ui->banner->setPixmap(QPixmap::fromImage(img).scaledToWidth(200, Qt::SmoothTransformation)); ui->bannerResolution->setText(QString("%1x%2").arg(img.width()).arg(img.height())); ui->buttonPreviewBanner->setEnabled(true); m_currentBanner = img; } else if (!Manager::instance()->mediaCenterInterfaceTvShow()->seasonBannerImageName(m_show, season).isEmpty()) { QPixmap p(Manager::instance()->mediaCenterInterfaceTvShow()->seasonBannerImageName(m_show, season)); ui->banner->setPixmap(p.scaledToWidth(200, Qt::SmoothTransformation)); ui->bannerResolution->setText(QString("%1x%2").arg(p.width()).arg(p.height())); ui->buttonPreviewBanner->setEnabled(true); m_currentBanner = p.toImage(); } else { ui->banner->setPixmap(QPixmap(":/img/missing_art_small.png")); ui->bannerResolution->clear(); ui->buttonPreviewBanner->setEnabled(false); } onSetEnabled(!show->downloadsInProgress()); emit sigSetActionSaveEnabled(!show->downloadsInProgress(), WidgetTvShows); }