/** * @brief Called when an item has selected * @param index * @param previous */ void FilesWidget::itemActivated(QModelIndex index, QModelIndex previous) { qDebug() << "Entered"; if (!index.isValid()) { qDebug() << "Index is invalid"; emit noMovieSelected(); return; } m_lastModelIndex = previous; int row = index.model()->data(index, Qt::UserRole).toInt(); m_lastMovie = Manager::instance()->movieModel()->movie(row); QTimer::singleShot(0, this, SLOT(movieSelectedEmitter())); }
void FilesWidget::markAsUnwatched() { m_contextMenu->close(); foreach (const QModelIndex &index, ui->files->selectionModel()->selectedRows(0)) { int row = index.model()->data(index, Qt::UserRole).toInt(); Movie *movie = Manager::instance()->movieModel()->movie(row); if (movie->watched()) movie->setWatched(false); if (movie->playcount() != 0) movie->setPlayCount(0); } if (ui->files->selectionModel()->selectedRows(0).count() > 0) movieSelectedEmitter(); }
void FilesWidget::markAsWatched() { m_contextMenu->close(); foreach (const QModelIndex &index, ui->files->selectionModel()->selectedRows(0)) { int row = index.model()->data(index, Qt::UserRole).toInt(); Movie *movie = Manager::instance()->movieModel()->movie(row); movie->setWatched(true); if (movie->playcount() < 1) movie->setPlayCount(1); if (!movie->lastPlayed().isValid()) movie->setLastPlayed(QDateTime::currentDateTime()); } if (ui->files->selectionModel()->selectedRows(0).count() > 0) movieSelectedEmitter(); }
void FilesWidget::multiScrape() { m_contextMenu->close(); QList<Movie*> movies = selectedMovies(); if (movies.isEmpty()) return; if (movies.count() == 1) { emit sigStartSearch(); return; } MovieMultiScrapeDialog::instance()->setMovies(movies); int result = MovieMultiScrapeDialog::instance()->exec(); if (result == QDialog::Accepted) movieSelectedEmitter(); }
void FilesWidget::loadStreamDetails() { m_contextMenu->close(); QList<Movie*> movies; foreach (const QModelIndex &index, ui->files->selectionModel()->selectedRows(0)) { int row = index.model()->data(index, Qt::UserRole).toInt(); Movie *movie = Manager::instance()->movieModel()->movie(row); movies.append(movie); } if (movies.count() == 1) { movies.at(0)->controller()->loadStreamDetailsFromFile(); movies.at(0)->setChanged(true); } else { LoadingStreamDetails *loader = new LoadingStreamDetails(this); loader->loadMovies(movies); delete loader; } movieSelectedEmitter(); m_movieProxyModel->setSourceModel(Manager::instance()->movieModel()); }