/** * @brief Parses list of movie and constructs sets map */ void SetsWidget::loadSets() { qDebug() << "Entered"; emit setActionSaveEnabled(false, WidgetMovieSets); clear(); ui->buttonPreviewBackdrop->setEnabled(false); ui->buttonPreviewPoster->setEnabled(false); int currentRow = (ui->sets->currentRow() >= 0 && ui->sets->currentRow() < ui->sets->rowCount()) ? ui->sets->currentRow() : 0; ui->sets->clear(); ui->sets->setRowCount(0); m_sets.clear(); m_moviesToSave.clear(); m_setPosters.clear(); m_setBackdrops.clear(); foreach (Movie *movie, Manager::instance()->movieModel()->movies()) { if (!movie->set().isEmpty()) { if (m_sets.contains(movie->set())) { m_sets[movie->set()].append(movie); } else { QList<Movie*> l; QList<Movie*> el; l << movie; m_sets.insert(movie->set(), l); m_moviesToSave.insert(movie->set(), el); m_setPosters.insert(movie->set(), QImage()); m_setBackdrops.insert(movie->set(), QImage()); } } } foreach (const QString &set, m_addedSets) { if (!set.isEmpty() && !m_sets.contains(set)) { m_sets.insert(set, QList<Movie*>()); m_moviesToSave.insert(set, QList<Movie*>()); m_setPosters.insert(set, QImage()); m_setBackdrops.insert(set, QImage()); } } QMapIterator<QString, QList<Movie*> > it(m_sets); while (it.hasNext()) { it.next(); int row = ui->sets->rowCount(); ui->sets->insertRow(row); ui->sets->setItem(row, 0, new QTableWidgetItem(it.key())); ui->sets->item(row, 0)->setData(Qt::UserRole, it.key()); } if (ui->sets->rowCount() > 0 && currentRow < ui->sets->rowCount()) ui->sets->setCurrentItem(ui->sets->item(currentRow, 0)); emit setActionSaveEnabled(true, WidgetMovieSets); }
/** * @brief Loads all certifications from movies and fills the certifications table */ void CertificationWidget::loadCertifications() { emit setActionSaveEnabled(false, WidgetCertifications); ui->certifications->blockSignals(true); clear(); QStringList certifications; foreach (Movie *movie, Manager::instance()->movieModel()->movies()) { if (!movie->certification().isEmpty() && !certifications.contains(movie->certification())) certifications.append(movie->certification()); } foreach (const QString &certification, m_addedCertifications) { if (!certification.isEmpty() && !certifications.contains(certification)) certifications.append(certification); } qSort(certifications.begin(), certifications.end(), LocaleStringCompare()); foreach (const QString &certification, certifications) { QTableWidgetItem *item = new QTableWidgetItem(certification); item->setData(Qt::UserRole, certification); int row = ui->certifications->rowCount(); ui->certifications->insertRow(row); ui->certifications->setItem(row, 0, item); }
/** * @brief Sets the state of the main groupbox to disabled */ void ConcertWidget::setDisabledTrue() { qDebug() << "Entered"; ui->groupBox_3->setDisabled(true); emit setActionSaveEnabled(false, WidgetConcerts); emit setActionSearchEnabled(false, WidgetConcerts); }
/** * @brief Loads all genres from movies and fills the genres table */ void GenreWidget::loadGenres() { emit setActionSaveEnabled(false, WidgetGenres); ui->genres->blockSignals(true); clear(); QStringList genres; foreach (Movie *movie, Manager::instance()->movieModel()->movies()) { foreach (const QString &genre, movie->genres()) { if (!genre.isEmpty() && !genres.contains(genre)) genres.append(genre);; } }
/** * @brief Sets the state of the main groupbox to enabled * @param concert Current concert */ void ConcertWidget::setEnabledTrue(Concert *concert) { qDebug() << "Entered"; if (concert) qDebug() << concert->name(); if (concert && concert->downloadsInProgress()) { qDebug() << "Downloads are in progress"; return; } ui->groupBox_3->setEnabled(true); emit setActionSaveEnabled(true, WidgetConcerts); emit setActionSearchEnabled(true, WidgetConcerts); }
/** * @brief Shows the search widget */ void ConcertWidget::onStartScraperSearch() { qDebug() << "Entered"; if (m_concert == 0) { qDebug() << "My concert is invalid"; return; } emit setActionSearchEnabled(false, WidgetConcerts); emit setActionSaveEnabled(false, WidgetConcerts); ConcertSearch::instance()->exec(m_concert->name()); if (ConcertSearch::instance()->result() == QDialog::Accepted) { setDisabledTrue(); m_concert->loadData(ConcertSearch::instance()->scraperId(), Manager::instance()->concertScrapers().at(ConcertSearch::instance()->scraperNo()), ConcertSearch::instance()->infosToLoad()); connect(m_concert, SIGNAL(loaded(Concert*)), this, SLOT(infoLoadDone(Concert*)), Qt::UniqueConnection); } else {