markWatchedIfUnwatched marks a file watched only if it is unwatched. This can prevent changing an already set view date.
markUnwatched marks a file unwatched. This is exposed in the mylist view.
connect(markEpisodeWatchedAction, SIGNAL(triggered()), this, SLOT(markEpisodeWatched()));
markFileWatchedAction = new QAction(tr("Mark Watched"), this);
connect(markFileWatchedAction, SIGNAL(triggered()), this, SLOT(markFileWatched()));
+ markFileUnwatchedAction = new QAction(tr("Mark Unwatched"), this);
+ connect(markFileUnwatchedAction, SIGNAL(triggered()), this, SLOT(markFileUnwatched()));
aniDBLinkAction = new QAction(tr("Open AniDB Page"), this);
connect(aniDBLinkAction, SIGNAL(triggered()), this, SLOT(openAnidbPage()));
renameFilesAction = new QAction(tr("Rename Files Related to Entry"), this);
actions << aniDBLinkAction
<< openAction
<< markFileWatchedAction
+ << markFileUnwatchedAction
<< renameTestAction
<< renameFilesAction
<< requestDataAction;
MyList::instance()->markWatched(node->id());
}
+void MyListView::markFileUnwatched()
+{
+ using namespace LocalMyList;
+
+ MyListNode *node = myListFilterModel()->node(customContextMenuIndex);
+
+ if (node->type() != MyListNode::FileNode)
+ return;
+
+ MyList::instance()->markUnwatched(node->id());
+}
+
void MyListView::openAnidbPage()
{
using namespace LocalMyList;
void markAnimeWatched();
void markEpisodeWatched();
void markFileWatched();
+ void markFileUnwatched();
void openAnidbPage();
void requestFileRename();
void renameTest();
QAction *markAnimeWatchedAction;
QAction *markEpisodeWatchedAction;
QAction *markFileWatchedAction;
+ QAction *markFileUnwatchedAction;
QAction *aniDBLinkAction;
QAction *renameTestAction;
QAction *renameFilesAction;
database()->addPendingMyListUpdate(pmu);
}
+void MyList::markWatchedIfUnwatched(int fid, QDateTime when)
+{
+ File f = database()->getFile(fid);
+ if (f.fid && f.myWatched.isNull())
+ markWatched(fid, when);
+}
+
+void MyList::markUnwatched(int fid)
+{
+ if (!fid)
+ return;
+
+ PendingMyListUpdate pmu;
+ pmu.fid = fid;
+ pmu.setMyWatched = true;
+
+ database()->addPendingMyListUpdate(pmu);
+}
+
void MyList::voteAnime(int aid, double vote)
{
PendingMyListUpdate pmu;
public slots:
void markWatched(int fid, QDateTime when = QDateTime::currentDateTime());
+ void markWatchedIfUnwatched(int fid, QDateTime when = QDateTime::currentDateTime());
+ void markUnwatched(int fid);
void voteAnime(int aid, double vote);
void voteEpisode(int eid, double vote);