/** * @brief TheTvDbImages::onSearchTvShowFinished * @param results Result list */ void TheTvDbImages::onSearchTvShowFinished(QList<ScraperSearchResult> results) { if (m_searchResultLimit == 0) emit sigSearchDone(results); else emit sigSearchDone(results.mid(0, m_searchResultLimit)); }
void MediaPassionImages::onSearchMovieFinished(QList<ScraperSearchResult> results) { if (m_searchResultLimit == 0) emit sigSearchDone(results); else emit sigSearchDone(results.mid(0, m_searchResultLimit)); }
/** * @brief Called when the search result was downloaded * Emits "sigSearchDone" if there are no more pages in the result set * @param results List of results from scraper * @see TMDb::parseSearch */ void FanartTv::onSearchMovieFinished(QList<ScraperSearchResult> results) { if (m_searchResultLimit == 0) emit sigSearchDone(results); else emit sigSearchDone(results.mid(0, m_searchResultLimit)); }
/** * @brief Called when the search result was downloaded * Emits "sigSearchDone" if there are no more pages in the result set * @param results List of results from scraper * @see TMDb::parseSearch */ void TMDbImages::onSearchMovieFinished(QList<ScraperSearchResult> results) { qDebug() << "Entered"; if (m_searchResultLimit == 0) emit sigSearchDone(results); else emit sigSearchDone(results.mid(0, m_searchResultLimit)); }
TrailerDialog::TrailerDialog(QWidget *parent) : QDialog(parent), ui(new Ui::TrailerDialog) { ui->setupUi(this); #ifdef Q_OS_MAC QFont font = ui->trailers->font(); font.setPointSize(font.pointSize()-1); ui->trailers->setFont(font); ui->time->setFont(font); #endif ui->results->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->trailers->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->trailers->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui->trailers->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); ui->searchString->setType(MyLineEdit::TypeLoading); ui->stackedWidget->setAnimation(QEasingCurve::OutCubic); ui->stackedWidget->setSpeed(400); #ifdef Q_OS_MAC // setWindowFlags((windowFlags() & ~Qt::WindowType_Mask) | Qt::Sheet); #else setWindowFlags((windowFlags() & ~Qt::WindowType_Mask) | Qt::Dialog); #endif m_qnam = new QNetworkAccessManager(this); foreach (TrailerProvider *provider, Manager::instance()->trailerProviders()) { ui->comboScraper->addItem(provider->name(), Manager::instance()->trailerProviders().indexOf(provider)); connect(provider, SIGNAL(sigSearchDone(QList<ScraperSearchResult>)), this, SLOT(showResults(QList<ScraperSearchResult>))); connect(provider, SIGNAL(sigLoadDone(QList<TrailerResult>)), this, SLOT(showTrailers(QList<TrailerResult>))); }
/** * @brief Called when the search result was downloaded * Emits "sigSearchDone" if there was an error * @see TheTvDb::parseSearch */ void TheTvDb::onSearchFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); QList<ScraperSearchResult> results; if (reply->error() == QNetworkReply::NoError ) { QString msg = QString::fromUtf8(reply->readAll()); results = parseSearch(msg); } else { qWarning() << "Network Error" << reply->errorString(); } reply->deleteLater(); emit sigSearchDone(results); }
/** * @brief TheTvDbImages::TheTvDbImages * @param parent */ TheTvDbImages::TheTvDbImages(QObject *parent) { setParent(parent); m_provides << ImageType::TvShowPoster << ImageType::TvShowBackdrop << ImageType::TvShowBanner << ImageType::TvShowSeasonPoster << ImageType::TvShowEpisodeThumb << ImageType::TvShowSeasonBanner << ImageType::TvShowSeasonBackdrop; m_dummyShow = new TvShow(QString(), this); m_dummyEpisode = new TvShowEpisode(QStringList(), m_dummyShow); m_tvdb = new TheTvDb(this); m_searchResultLimit = 0; connect(m_tvdb, SIGNAL(sigSearchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchTvShowFinished(QList<ScraperSearchResult>))); connect(m_dummyShow, SIGNAL(sigLoaded(TvShow*)), this, SLOT(onLoadTvShowDataFinished())); connect(m_dummyEpisode, SIGNAL(sigLoaded()), this, SLOT(onLoadTvShowDataFinished())); }
void UniversalMusicScraper::onSearchArtistFinished() { QList<ScraperSearchResult> results; QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); reply->deleteLater(); if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302 || reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 301) { qDebug() << "Got redirect" << reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); reply = qnam()->get(QNetworkRequest(reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl())); new NetworkReplyWatcher(this, reply); connect(reply, SIGNAL(finished()), this, SLOT(onSearchArtistFinished())); return; } if (reply->error() == QNetworkReply::NoError) { QString msg = QString::fromUtf8(reply->readAll()); QDomDocument domDoc; domDoc.setContent(msg); for (int i=0, n=domDoc.elementsByTagName("artist").count() ; i<n ; ++i) { QDomElement elem = domDoc.elementsByTagName("artist").at(i).toElement(); QString name; if (!elem.elementsByTagName("name").isEmpty()) name = elem.elementsByTagName("name").at(0).toElement().text(); if (!elem.elementsByTagName("disambiguation").isEmpty()) name.append(QString(" (%1)").arg(elem.elementsByTagName("disambiguation").at(0).toElement().text())); if (!name.isEmpty() && !elem.attribute("id").isEmpty()) { ScraperSearchResult result; result.id = elem.attribute("id"); result.name = name; results.append(result); } } } emit sigSearchDone(results); }
void MovieMaze::onSearchFinished() { QList<ScraperSearchResult> results; if (m_searchReply->error() == QNetworkReply::NoError) { QString msg = QString::fromLatin1(m_searchReply->readAll()); m_searchReply->deleteLater(); int pos = 0; QRegExp rx("<a itemprop=\"url\" href=\"/media/trailer/([^\"]*)\" title=\"[^\"]*\"><span itemprop=\"name\">([^<]*)</span></a>"); rx.setMinimal(true); while ((pos = rx.indexIn(msg, pos)) != -1) { if (rx.cap(2).contains(m_currentSearch, Qt::CaseInsensitive)) { ScraperSearchResult r; r.id = rx.cap(1); r.name = rx.cap(2); results.append(r); } pos += rx.matchedLength(); } } m_searchReply->deleteLater(); emit sigSearchDone(results); }
/** * @brief FanartTv::FanartTv * @param parent */ FanartTv::FanartTv(QObject *parent) { setParent(parent); m_language = "en"; m_preferredDiscType = "BluRay"; m_widget = new QWidget(MainWindow::instance()); m_box = new QComboBox(m_widget); m_box->addItem(tr("Bulgarian"), "bg"); m_box->addItem(tr("Chinese"), "zh"); m_box->addItem(tr("Croatian"), "hr"); m_box->addItem(tr("Czech"), "cs"); m_box->addItem(tr("Danish"), "da"); m_box->addItem(tr("Dutch"), "nl"); m_box->addItem(tr("English"), "en"); m_box->addItem(tr("Finnish"), "fi"); m_box->addItem(tr("French"), "fr"); m_box->addItem(tr("German"), "de"); m_box->addItem(tr("Greek"), "el"); m_box->addItem(tr("Hebrew"), "he"); m_box->addItem(tr("Hungarian"), "hu"); m_box->addItem(tr("Italian"), "it"); m_box->addItem(tr("Japanese"), "ja"); m_box->addItem(tr("Korean"), "ko"); m_box->addItem(tr("Norwegian"), "no"); m_box->addItem(tr("Polish"), "pl"); m_box->addItem(tr("Portuguese"), "pt"); m_box->addItem(tr("Russian"), "ru"); m_box->addItem(tr("Slovene"), "sl"); m_box->addItem(tr("Spanish"), "es"); m_box->addItem(tr("Swedish"), "sv"); m_box->addItem(tr("Turkish"), "tr"); m_discBox = new QComboBox(m_widget); m_discBox->addItem(tr("3D"), "3D"); m_discBox->addItem(tr("BluRay"), "BluRay"); m_discBox->addItem(tr("DVD"), "DVD"); m_personalApiKeyEdit = new QLineEdit(m_widget); QGridLayout *layout = new QGridLayout(m_widget); layout->addWidget(new QLabel(tr("Language")), 0, 0); layout->addWidget(m_box, 0, 1); layout->addWidget(new QLabel(tr("Preferred Disc Type")), 1, 0); layout->addWidget(m_discBox, 1, 1); layout->addWidget(new QLabel(tr("Personal API key")), 2, 0); layout->addWidget(m_personalApiKeyEdit, 2, 1); layout->setColumnStretch(2, 1); layout->setContentsMargins(12, 0, 12, 12); m_widget->setLayout(layout); m_provides << ImageType::MovieBackdrop << ImageType::MovieLogo << ImageType::MovieClearArt << ImageType::MovieCdArt << ImageType::MovieBanner << ImageType::MovieThumb << ImageType::MoviePoster << ImageType::TvShowClearArt << ImageType::TvShowBackdrop << ImageType::TvShowBanner << ImageType::TvShowThumb << ImageType::TvShowSeasonThumb << ImageType::TvShowSeasonPoster << ImageType::TvShowLogos << ImageType::TvShowCharacterArt << ImageType::TvShowPoster << ImageType::ConcertBackdrop << ImageType::ConcertLogo << ImageType::ConcertClearArt << ImageType::ConcertCdArt; m_apiKey = "842f7a5d1cc7396f142b8dd47c4ba42b"; m_searchResultLimit = 0; m_tvdb = new TheTvDb(this); m_tmdb = new TMDb(this); connect(m_tvdb, SIGNAL(sigSearchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchTvShowFinished(QList<ScraperSearchResult>))); connect(m_tmdb, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchMovieFinished(QList<ScraperSearchResult>))); }