Example #1
0
/**
 * @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);
    }
Example #3
0
/**
 * @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);
}
Example #4
0
/**
 * @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);;
        }
    }
Example #5
0
/**
 * @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);
}
Example #6
0
/**
 * @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 {