void AddFilmWindow::InformationLoaded( const FilmItem& film, const QString& posterFileName ) { if( ePosterFileName->text().isEmpty() && !posterFileName.isEmpty() ) { filmNewPosterName = film.GetColumnData( FilmItem::PosterColumn ).toString(); ePosterFileName->setText( posterFileName ); bOpenPoster->setText( tr("Clear") ); } if( eTitle->text().isEmpty() ) { eTitle->setText( film.GetTitle() ); } eOriginalTitle->setText( film.GetColumnData( FilmItem::OriginalTitleColumn ).toString() ); eTagline->setText( film.GetColumnData( FilmItem::TaglineColumn ).toString() ); sbYear->setValue( film.GetColumnData( FilmItem::YearColumn ).toInt() ); sbBudget->setValue( film.GetColumnData( FilmItem::BudgetColumn ).toDouble() ); sbRating->setValue( film.GetColumnData( FilmItem::RatingColumn ).toDouble() ); eCountry->setText( film.GetColumnData( FilmItem::CountryColumn ).toString() ); eGenre->setText( film.GetColumnData( FilmItem::GenreColumn ).toString() ); eDirector->setText( film.GetColumnData( FilmItem::DirectorColumn ).toString() ); eProducer->setText( film.GetColumnData( FilmItem::ProducerColumn ).toString() ); eScreenwriter->setText( film.GetColumnData( FilmItem::ScreenwriterColumn ).toString() ); eComposer->setText( film.GetColumnData( FilmItem::ComposerColumn ).toString() ); lStarringText->setText( film.GetColumnData( FilmItem::StarringColumn ).toString() ); lDescriptionText->setText( film.GetColumnData( FilmItem::DescriptionColumn ).toString() ); bLoad->setEnabled( true ); bOk->setEnabled( true ); bCancel->setEnabled( true ); progressBar->hide(); }
QVariant FilmsListModel::data( const QModelIndex& index, int role ) const { if( index.isValid() ) { FilmItem* item = static_cast<FilmItem*>( index.internalPointer() ); int column = index.column(); switch( role ) { case Qt::DisplayRole : { return( item->GetColumnData( index.column() ) ); } case Qt::TextAlignmentRole : { if( column == FilmItem::YearColumn || column == FilmItem::RatingColumn || column == FilmItem::IsViewedColumn || column == FilmItem::IsFavouriteColumn || column == FilmItem::ViewsCountColumn ) { return( Qt::AlignCenter ); } else { return( (int) Qt::AlignLeft | Qt::AlignVCenter ); } } case Qt::BackgroundColorRole : { if( settings->GetCheckFilesOnStartup() && !item->GetIsFileExists() ) { return( QColor( settings->GetUnavailableFileColor() ) ); } break; } case Qt::DecorationRole : { if( column == FilmItem::PosterColumn && item->GetIsPosterExists() ) { QPixmap pixmap; if( pixmap.load( item->GetPosterFilePath() ) ) { return( pixmap ); } } break; } case UserRoles::StringListRole : { if( column == FilmItem::GenreColumn || column == FilmItem::CountryColumn || column == FilmItem::DirectorColumn || column == FilmItem::ScreenwriterColumn || column == FilmItem::StarringColumn || column == FilmItem::TagsColumn ) { QString str = item->GetColumnData( column ).toString(); if( !str.isEmpty() ) { QStringList strings = str.split( "," ); for( QString& s : strings ) { s = s.trimmed(); } return( strings ); } } } } } return( QVariant() ); }