/** * @brief ConcertWidget::ConcertWidget * @param parent */ ConcertWidget::ConcertWidget(QWidget *parent) : QWidget(parent), ui(new Ui::ConcertWidget) { ui->setupUi(this); ui->concertName->clear(); ui->artStackedWidget->setAnimation(QEasingCurve::OutCubic); ui->artStackedWidget->setSpeed(300); QFont font = ui->concertName->font(); font.setPointSize(font.pointSize()+4); ui->concertName->setFont(font); m_concert = 0; m_posterDownloadManager = new DownloadManager(this); connect(ui->poster, SIGNAL(clicked()), this, SLOT(chooseConcertPoster())); connect(ui->backdrop, SIGNAL(clicked()), this, SLOT(chooseConcertBackdrop())); connect(ui->logo, SIGNAL(clicked()), this, SLOT(chooseConcertLogo())); connect(ui->clearArt, SIGNAL(clicked()), this, SLOT(chooseConcertClearArt())); connect(ui->cdArt, SIGNAL(clicked()), this, SLOT(chooseConcertCdArt())); connect(ui->poster, SIGNAL(sigClose()), this, SLOT(deleteConcertPoster())); connect(ui->backdrop, SIGNAL(sigClose()), this, SLOT(deleteConcertBackdrop())); connect(ui->logo, SIGNAL(sigClose()), this, SLOT(deleteConcertLogo())); connect(ui->clearArt, SIGNAL(sigClose()), this, SLOT(deleteConcertClearArt())); connect(ui->cdArt, SIGNAL(sigClose()), this, SLOT(deleteConcertCdArt())); connect(m_posterDownloadManager, SIGNAL(downloadFinished(DownloadManagerElement)), this, SLOT(posterDownloadFinished(DownloadManagerElement))); connect(ui->name, SIGNAL(textChanged(QString)), this, SLOT(concertNameChanged(QString))); connect(ui->buttonRevert, SIGNAL(clicked()), this, SLOT(onRevertChanges())); connect(ui->buttonReloadStreamDetails, SIGNAL(clicked()), this, SLOT(onReloadStreamDetails())); ui->genreCloud->setText(tr("Genres")); ui->genreCloud->setPlaceholder(tr("Add Genre")); connect(ui->genreCloud, SIGNAL(activated(QString)), this, SLOT(addGenre(QString))); connect(ui->genreCloud, SIGNAL(deactivated(QString)), this, SLOT(removeGenre(QString))); ui->tagCloud->setText(tr("Tags")); ui->tagCloud->setPlaceholder(tr("Add Tag")); connect(ui->tagCloud, SIGNAL(activated(QString)), this, SLOT(addTag(QString))); connect(ui->tagCloud, SIGNAL(deactivated(QString)), this, SLOT(removeTag(QString))); ui->poster->setDefaultPixmap(QPixmap(":/img/film_reel.png")); ui->backdrop->setDefaultPixmap(QPixmap(":/img/pictures_alt.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->logo->setDefaultPixmap(QPixmap(":/img/pictures_alt.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->clearArt->setDefaultPixmap(QPixmap(":/img/pictures_alt.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->cdArt->setDefaultPixmap(QPixmap(":/img/pictures_alt.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); m_loadingMovie = new QMovie(":/img/spinner.gif"); m_loadingMovie->start(); setDisabledTrue(); clear(); m_savingWidget = new QLabel(this); m_savingWidget->setMovie(m_loadingMovie); m_savingWidget->hide(); connect(ui->fanarts, SIGNAL(sigRemoveImage(QByteArray)), this, SLOT(onRemoveExtraFanart(QByteArray))); connect(ui->fanarts, SIGNAL(sigRemoveImage(QString)), this, SLOT(onRemoveExtraFanart(QString))); connect(ui->btnAddExtraFanart, SIGNAL(clicked()), this, SLOT(onAddExtraFanart())); // Connect GUI change events to concert object connect(ui->name, SIGNAL(textEdited(QString)), this, SLOT(onNameChange(QString))); connect(ui->artist, SIGNAL(textEdited(QString)), this, SLOT(onArtistChange(QString))); connect(ui->album, SIGNAL(textEdited(QString)), this, SLOT(onAlbumChange(QString))); connect(ui->tagline, SIGNAL(textEdited(QString)), this, SLOT(onTaglineChange(QString))); connect(ui->rating, SIGNAL(valueChanged(double)), this, SLOT(onRatingChange(double))); connect(ui->trailer, SIGNAL(textEdited(QString)), this, SLOT(onTrailerChange(QString))); connect(ui->runtime, SIGNAL(valueChanged(int)), this, SLOT(onRuntimeChange(int))); connect(ui->playcount, SIGNAL(valueChanged(int)), this, SLOT(onPlayCountChange(int))); connect(ui->certification, SIGNAL(editTextChanged(QString)), this, SLOT(onCertificationChange(QString))); connect(ui->watched, SIGNAL(stateChanged(int)), this, SLOT(onWatchedChange(int))); connect(ui->released, SIGNAL(dateChanged(QDate)), this, SLOT(onReleasedChange(QDate))); connect(ui->lastPlayed, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(onLastWatchedChange(QDateTime))); connect(ui->overview, SIGNAL(textChanged()), this, SLOT(onOverviewChange())); connect(ui->videoAspectRatio, SIGNAL(valueChanged(double)), this, SLOT(onStreamDetailsEdited())); connect(ui->videoCodec, SIGNAL(textEdited(QString)), this, SLOT(onStreamDetailsEdited())); connect(ui->videoDuration, SIGNAL(timeChanged(QTime)), this, SLOT(onStreamDetailsEdited())); connect(ui->videoHeight, SIGNAL(valueChanged(int)), this, SLOT(onStreamDetailsEdited())); connect(ui->videoWidth, SIGNAL(valueChanged(int)), this, SLOT(onStreamDetailsEdited())); connect(ui->videoScantype, SIGNAL(textEdited(QString)), this, SLOT(onStreamDetailsEdited())); QPainter p; QPixmap revert(":/img/arrow_circle_left.png"); p.begin(&revert); p.setCompositionMode(QPainter::CompositionMode_SourceIn); p.fillRect(revert.rect(), QColor(0, 0, 0, 200)); p.end(); ui->buttonRevert->setIcon(QIcon(revert)); ui->buttonRevert->setVisible(false); }
/** * @brief ConcertWidget::ConcertWidget * @param parent */ ConcertWidget::ConcertWidget(QWidget *parent) : QWidget(parent), ui(new Ui::ConcertWidget) { ui->setupUi(this); ui->concertName->clear(); ui->genres->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); ui->buttonPreviewPoster->setEnabled(false); ui->buttonPreviewBackdrop->setEnabled(false); ui->buttonPreviewLogo->setEnabled(false); ui->buttonPreviewClearArt->setEnabled(false); ui->buttonPreviewCdArt->setEnabled(false); QFont font = ui->concertName->font(); font.setPointSize(font.pointSize()+4); ui->concertName->setFont(font); font = ui->posterResolution->font(); #ifdef Q_WS_WIN font.setPointSize(font.pointSize()-1); #else font.setPointSize(font.pointSize()-2); #endif ui->posterResolution->setFont(font); ui->backdropResolution->setFont(font); ui->logoResolution->setFont(font); ui->clearArtResolution->setFont(font); ui->cdArtResolution->setFont(font); ui->genres->setItemDelegate(new ComboDelegate(ui->genres, WidgetConcerts, ComboDelegateGenres)); m_concert = 0; m_posterDownloadManager = new DownloadManager(this); connect(ui->poster, SIGNAL(clicked()), this, SLOT(chooseConcertPoster())); connect(ui->backdrop, SIGNAL(clicked()), this, SLOT(chooseConcertBackdrop())); connect(ui->logo, SIGNAL(clicked()), this, SLOT(chooseConcertLogo())); connect(ui->clearArt, SIGNAL(clicked()), this, SLOT(chooseConcertClearArt())); connect(ui->cdArt, SIGNAL(clicked()), this, SLOT(chooseConcertCdArt())); connect(m_posterDownloadManager, SIGNAL(downloadFinished(DownloadManagerElement)), this, SLOT(posterDownloadFinished(DownloadManagerElement))); connect(ui->name, SIGNAL(textChanged(QString)), this, SLOT(concertNameChanged(QString))); connect(ui->buttonAddGenre, SIGNAL(clicked()), this, SLOT(addGenre())); connect(ui->buttonRemoveGenre, SIGNAL(clicked()), this, SLOT(removeGenre())); connect(ui->genres, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(onGenreEdited(QTableWidgetItem*))); connect(ui->buttonPreviewPoster, SIGNAL(clicked()), this, SLOT(onPreviewPoster())); connect(ui->buttonPreviewBackdrop, SIGNAL(clicked()), this, SLOT(onPreviewBackdrop())); connect(ui->buttonPreviewLogo, SIGNAL(clicked()), this, SLOT(onPreviewLogo())); connect(ui->buttonPreviewClearArt, SIGNAL(clicked()), this, SLOT(onPreviewClearArt())); connect(ui->buttonPreviewCdArt, SIGNAL(clicked()), this, SLOT(onPreviewCdArt())); connect(ui->buttonRevert, SIGNAL(clicked()), this, SLOT(onRevertChanges())); m_loadingMovie = new QMovie(":/img/spinner.gif"); m_loadingMovie->start(); setDisabledTrue(); clear(); m_savingWidget = new QLabel(this); m_savingWidget->setMovie(m_loadingMovie); m_savingWidget->hide(); // Connect GUI change events to concert object connect(ui->name, SIGNAL(textEdited(QString)), this, SLOT(onNameChange(QString))); connect(ui->tagline, SIGNAL(textEdited(QString)), this, SLOT(onTaglineChange(QString))); connect(ui->rating, SIGNAL(valueChanged(double)), this, SLOT(onRatingChange(double))); connect(ui->trailer, SIGNAL(textEdited(QString)), this, SLOT(onTrailerChange(QString))); connect(ui->runtime, SIGNAL(valueChanged(int)), this, SLOT(onRuntimeChange(int))); connect(ui->playcount, SIGNAL(valueChanged(int)), this, SLOT(onPlayCountChange(int))); connect(ui->certification, SIGNAL(editTextChanged(QString)), this, SLOT(onCertificationChange(QString))); connect(ui->watched, SIGNAL(stateChanged(int)), this, SLOT(onWatchedChange(int))); connect(ui->released, SIGNAL(dateChanged(QDate)), this, SLOT(onReleasedChange(QDate))); connect(ui->lastPlayed, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(onLastWatchedChange(QDateTime))); connect(ui->overview, SIGNAL(textChanged()), this, SLOT(onOverviewChange())); QPixmap zoomIn(":/img/zoom_in.png"); QPainter p; p.begin(&zoomIn); p.setCompositionMode(QPainter::CompositionMode_SourceIn); p.fillRect(zoomIn.rect(), QColor(0, 0, 0, 150)); p.end(); ui->buttonPreviewBackdrop->setIcon(QIcon(zoomIn)); ui->buttonPreviewPoster->setIcon(QIcon(zoomIn)); ui->buttonPreviewLogo->setIcon(QIcon(zoomIn)); ui->buttonPreviewClearArt->setIcon(QIcon(zoomIn)); ui->buttonPreviewCdArt->setIcon(QIcon(zoomIn)); QPixmap revert(":/img/arrow_circle_left.png"); p.begin(&revert); p.setCompositionMode(QPainter::CompositionMode_SourceIn); p.fillRect(revert.rect(), QColor(0, 0, 0, 200)); p.end(); ui->buttonRevert->setIcon(QIcon(revert)); ui->buttonRevert->setVisible(false); }