summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivetreeview.cpp178
-rw-r--r--archivetreeview.h58
-rw-r--r--shemov.cpp17
-rw-r--r--shemov.h2
4 files changed, 0 insertions, 255 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index 4bcf584..2ccc043 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -83,9 +83,6 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent), mShowAllFil
verticalSplitter->setStretchFactor(1, 1);
// misc
- mNoCoverDialog = new NoCoverMovieDialog(this);
- mNoCoverDialog->setHidden(true);
- connect(mNoCoverDialog->view(), SIGNAL(doubleClicked(QModelIndex)), this, SLOT(selectMovie(QModelIndex)));
mFilesWidget->filesTree()->setAlternatingRowColors(true);
mSeriesWidget->seriesTree()->setAlternatingRowColors(true);
@@ -174,10 +171,6 @@ void ArchiveTreeView::cleanDatabase(const QString &table){
}
}
-void ArchiveTreeView::showNoCoverDialog(){
- mNoCoverDialog->show();
-}
-
void ArchiveTreeView::selectMoviePart(int seriespartId, int seriesId){
QModelIndex seriesIdx = mSeriesModel->findValue(seriesId, QModelIndex(), SeriesTreeModel::SeriesId);
QModelIndex partIdx = mSeriesModel->findValue(seriespartId, seriesIdx, SeriesTreeModel::SeriesPartId);
@@ -189,24 +182,6 @@ void ArchiveTreeView::selectMoviePart(int seriespartId, int seriesId){
}
}
-void ArchiveTreeView::selectMovie(const QModelIndex &idx){
- if(!idx.isValid()){
- return;
- }
- QVariant movieName = idx.data(NoCoverMovieModel::SeriesNameRole);
- QVariant part = idx.data(NoCoverMovieModel::SeriesPartRole);
- QModelIndex movieIdx = mSeriesModel->findValue(movieName, QModelIndex(), SeriesTreeModel::Name);
- if(!movieIdx.isValid()){
- return;
- }
- QModelIndex partIdx = mSeriesModel->findValue(part, movieIdx, SeriesTreeModel::SeriesPart, 0);
- QModelIndex toSelect = partIdx.isValid() ? mSeriesWidget->seriesProxy()->mapFromSource(partIdx) : mSeriesWidget->seriesProxy()->mapFromSource(movieIdx);
- mSeriesWidget->seriesTree()->expand(mSeriesWidget->seriesProxy()->mapFromSource(movieIdx));
- mSeriesWidget->seriesTree()->selectionModel()->select(toSelect, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows);
- mSeriesWidget->seriesTree()->scrollTo(toSelect, QAbstractItemView::PositionAtCenter);
- mNoCoverDialog->hide();
-}
-
void ArchiveTreeView::copyPath(int type){
QModelIndexList selected = mFilesWidget->filesTree()->selectionModel()->selectedRows();
if(selected.isEmpty()){
@@ -363,156 +338,3 @@ const QString ArchiveTreeView::createWindowsPath(const QString &path) const{
retval = QString("%1\\%2").arg(s.value("paths/windowsdrive").toString()).arg(retval);
return retval;
}
-
-//NoCoverMovieModel
-
-NoCoverMovieModel::NoCoverMovieModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent){
- mDb = QSqlDatabase::database("treedb");
- mDataQuery = new QSqlQuery(mDb);
- mDataQuery->prepare("SELECT files.iseriespart_id, series.tseries_name, seriesparts.iseriespart FROM files, series, seriesparts WHERE files.iseriespart_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id GROUP BY files.iseriespart_id,series.tseries_name,seriesparts.iseriespart HAVING COUNT(iseriespart_id) = 1 ORDER BY series.tseries_name");
- refresh();
-}
-
-NoCoverMovieModel::~NoCoverMovieModel(){
- delete mDataQuery;
- mDb = QSqlDatabase();
-}
-
-QVariant NoCoverMovieModel::data(const QModelIndex &index, int role) const{
- if(!index.isValid()){
- return QVariant();
- }
- SmTreeItem *item = itemAt(index);
- if(role == SeriesNameRole){
- return item->data(SeriesName);
- }
- if(role == SeriesPartRole){
- return item->data(SeriesPart);
- }
- if(role == SeriesIdRole){
- return item->data(SeriesId);
- }
- return SmTreeModel::data(index, role);
-} void populate();
-
-
-void NoCoverMovieModel::refresh(){
- SmTreeItem *rootItem = new SmTreeItem(4);
- mDataQuery->exec();
- while(mDataQuery->next()){
- QString displayName = QString("%1 %2").arg(mDataQuery->value(1).toString()).arg(QString::number(mDataQuery->value(2).toInt()));
- QList<QVariant> data;
- data << displayName << mDataQuery->value(1) << mDataQuery->value(2) << mDataQuery->value(0);
- SmTreeItem *child = new SmTreeItem(data, rootItem);
- rootItem->appendChild(child);
- }
- setRoot(rootItem);
- emit refreshed();
-}
-
-Qt::ItemFlags NoCoverMovieModel::flags(const QModelIndex &index) const{
- if(!index.isValid()){
- return 0;
- }
- return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
-}
-
-//NoCoverMovieView
-
-NoCoverMovieView::NoCoverMovieView(QWidget *parent) : QTreeView(parent) {}
-
-void NoCoverMovieView::contextMenuEvent(QContextMenuEvent *e){
- QMenu ctxMenu;
- foreach(QAction *a, actions()){
- ctxMenu.addAction(a);
- }
- ctxMenu.exec(e->globalPos());
-}
-
-//NoCoverMovieDialog
-
-NoCoverMovieDialog::NoCoverMovieDialog(QWidget *parent, Qt::WindowFlags flags) : SmDialog(parent, flags){
- //model + view
- mView = new NoCoverMovieView;
- QStringList headers = QStringList() << "Movie" << "Name" << "Part" << "Id";
- mModel = new NoCoverMovieModel(headers, this);
- mView->setModel(mModel);
- connect(mModel, SIGNAL(refreshed()), this, SLOT(updateLabel()));
- mView->setColumnHidden(1, true);
- mView->setColumnHidden(2, true);
- mView->setColumnHidden(3, true);
- mView->resizeColumnToContents(0);
-
- //actions
- mBrowserA = new QAction(tr("Search with google..."), this);
- connect(mBrowserA, SIGNAL(triggered()), this, SLOT(openInBrowser()));
- mView->addAction(mBrowserA);
- mCopyA = new QAction(tr("Copy name"), this);
- connect(mCopyA, SIGNAL(triggered()), this, SLOT(copyToClipboard()));
- mView->addAction(mCopyA);
-
- //buttons
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- mClose = new QPushButton(tr("Close"));
- connect(mClose, SIGNAL(clicked()), this, SLOT(hide()));
- mRefresh = new QPushButton(tr("Refresh"));
- connect(mRefresh, SIGNAL(clicked()), mModel, SLOT(refresh()));
- buttonLayout->addWidget(mRefresh);
- buttonLayout->addStretch();
- buttonLayout->addWidget(mClose);
-
- //label
- mMovieLabel = new QLabel(labelText());
-
- //main
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(mMovieLabel);
- mainLayout->addWidget(mView);
- mainLayout->addLayout(buttonLayout);
- setLayout(mainLayout);
-}
-
-void NoCoverMovieDialog::openInBrowser(){
- QString selText = selectedText();
- if(selText.isEmpty()){
- return;
- }
- selText.append(" covers");
- QByteArray searchString = QUrl::toPercentEncoding(selText);
- QString url = QString("http://www.google.com/search?hl=en&q=%1").arg(QString(searchString));
- QStringList args = QStringList() << "openURL" << url;
- bool success = QProcess::startDetached("kfmclient", args);
- if(!success){
- QMessageBox::critical(this, tr("Error"), tr("Launching browser failed. Most likely kfmclient is not installed"));
- }
-}
-
-void NoCoverMovieDialog::copyToClipboard(){
- QString selText = selectedText();
- if(selText.isEmpty()){
- return;
- }
- QClipboard *clip = QApplication::clipboard();
- clip->setText(selText);
-}
-
-void NoCoverMovieDialog::updateLabel(){
- mMovieLabel->setText(labelText());
-}
-
-const QString NoCoverMovieDialog::selectedText() const{
- QModelIndexList selected = mView->selectionModel()->selectedRows();
- if(selected.isEmpty()){
- return QString();
- }
- QModelIndex real = mModel->index(selected.at(0).row(), 0, selected.at(0).parent());
- if(!real.isValid()){
- return QString();
- }
- return real.data().toString();
-}
-
-const QString NoCoverMovieDialog::labelText() const{
- QString retval = QString(tr("Movies without covers (%1)")).arg(QString::number(mModel->rowCount(QModelIndex())));
- return retval;
-}
diff --git a/archivetreeview.h b/archivetreeview.h
index f784d14..5013414 100644
--- a/archivetreeview.h
+++ b/archivetreeview.h
@@ -49,8 +49,6 @@ class ArchiveTreeView : public QWidget
void setFileViewMode(int mode);
void showAllFiles(bool toggled);
void cleanDatabase(const QString &table);
- void showNoCoverDialog();
- void selectMovie(const QModelIndex &idx);
void selectMoviePart(int seriespartId, int seriesId);
void copyPath(int type);
void readSettings();
@@ -84,60 +82,4 @@ class ArchiveTreeView : public QWidget
NoCoverMovieDialog *mNoCoverDialog;
bool mShowAllFiles;
};
-
-class NoCoverMovieModel : public SmTreeModel {
- Q_OBJECT
- public:
- enum CustomRoles { SeriesNameRole = Qt::UserRole + 1, SeriesPartRole = Qt::UserRole + 2, SeriesIdRole = Qt::UserRole + 3 };
- enum Fields { Display = 0, SeriesName = 1, SeriesPart = 2, SeriesId = 3 };
- explicit NoCoverMovieModel(const QStringList &headers, QObject *parent = 0);
- virtual ~NoCoverMovieModel();
- virtual QVariant data(const QModelIndex &index, int role) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
-
- public slots:
- void refresh();
-
- signals:
- void refreshed();
-
- private:
- QSqlDatabase mDb;
- QSqlQuery *mDataQuery;
-};
-
-class NoCoverMovieView : public QTreeView {
- Q_OBJECT
- public:
- explicit NoCoverMovieView(QWidget *parent = 0);
- virtual ~NoCoverMovieView() {}
-
- protected:
- void contextMenuEvent(QContextMenuEvent *e);
-};
-
-class NoCoverMovieDialog : public SmDialog {
- Q_OBJECT
- public:
- explicit NoCoverMovieDialog(QWidget *parent = 0, Qt::WindowFlags flags = 0);
- virtual ~NoCoverMovieDialog() {}
- NoCoverMovieView *view() { return mView; }
-
- private slots:
- void openInBrowser();
- void copyToClipboard();
- void updateLabel();
-
- private:
- const QString selectedText() const;
- const QString labelText() const;
- QPushButton *mClose;
- QPushButton *mRefresh;
- NoCoverMovieView *mView;
- NoCoverMovieModel *mModel;
- QLabel *mMovieLabel;
- QAction *mCopyA;
- QAction *mBrowserA;
-};
-
#endif
diff --git a/shemov.cpp b/shemov.cpp
index 265c52c..112747b 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -326,16 +326,6 @@ void SheMov::createActions(){
connect(mNewMovieWizardA, SIGNAL(triggered()), this, SLOT(newMovieWizard()));
mArchiveSelectedA = new QAction(tr("Archive selected..."), this);
connect(mArchiveSelectedA, SIGNAL(triggered()), this, SLOT(newMovieWizardWithFiles()));
- mCleanupMapper = new QSignalMapper(this);
- mCleanupGroup = new QActionGroup(this);
- QAction *cleanup1 = new QAction(tr("Cleanup actors..."), this);
- connect(cleanup1, SIGNAL(triggered()), mCleanupMapper, SLOT(map()));
- mCleanupMapper->setMapping(cleanup1, "actors");
- mCleanupGroup->addAction(cleanup1);
- QAction *cleanup2 = new QAction(tr("Cleanup genres..."), this);
- connect(cleanup2, SIGNAL(triggered()), mCleanupMapper, SLOT(map()));
- mCleanupMapper->setMapping(cleanup2, "genres");
- mCleanupGroup->addAction(cleanup2);
mConsistencyA = new QAction(tr("Check consisteny..."), this);
connect(mConsistencyA, SIGNAL(triggered()), this, SLOT(checkConsistency()));
mAnalyzerA = new QAction(tr("Analyze Db..."), this);
@@ -611,11 +601,7 @@ void SheMov::createActions(){
mOpenWithMapperAV = new QSignalMapper(this);
connect(mOpenWithMapperFS, SIGNAL(mapped(QString)), mFSWidget, SLOT(playSelected(QString)));
connect(mOpenWithMapperAV, SIGNAL(mapped(QString)), mATree, SLOT(playSelected(QString)));
- connect(mCleanupMapper, SIGNAL(mapped(QString)), mATree, SLOT(cleanDatabase(QString)));
connect(viewMapper, SIGNAL(mapped(int)), mATree, SLOT(setFileViewMode(int)));
-
- //hover
-
}
void SheMov::createMenus(){
@@ -624,9 +610,6 @@ void SheMov::createMenus(){
fileMenu->addAction(mPlaySelectedFSA);
fileMenu->addSeparator();
fileMenu->addAction(mNewMovieWizardA);
- QMenu *cleanupMenu = new QMenu(tr("Clean database"), this);
- cleanupMenu->addActions(mCleanupGroup->actions());
- fileMenu->addMenu(cleanupMenu);
fileMenu->addAction(mConsistencyA);
fileMenu->addAction(mAnalyzerA);
fileMenu->addAction(mShowNoCoverDialogA);
diff --git a/shemov.h b/shemov.h
index 898f487..9d43a84 100644
--- a/shemov.h
+++ b/shemov.h
@@ -159,7 +159,6 @@ class SheMov : public QMainWindow {
QActionGroup *mOpenWithGroupFS;
QActionGroup *mOpenWithGroupAV;
- QActionGroup *mCleanupGroup;
QActionGroup *mFilesTreeHeadersGroup;
QActionGroup *mEditGroup;
//EndActions
@@ -167,7 +166,6 @@ class SheMov : public QMainWindow {
QSignalMapper *mRenameMapper;
QSignalMapper *mOpenWithMapperFS;
QSignalMapper *mOpenWithMapperAV;
- QSignalMapper *mCleanupMapper;
QSignalMapper *mFilterMapper;
QMenu *mEditFSMenu;