#ifndef NO_ANIDBUDPCLIENT
# include <AniDBUdpClient/Client>
#endif
-
+#ifndef ANIPLAYER_NO_LOCALMYLIST
+# include <LocalMyList/MyList>
+#endif
#include <QDebug>
#ifdef Q_OS_WIN
#endif
destroyed = menuMoving = windowMoving = m_closeOnStop = false;
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST)
m_marked = true;
m_automark = 0;
#endif
m_actions["toggleFrameless"]->setChecked(false);
m_actions["toggleOverlay"]->setChecked(false);
#endif
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST)
addAction("markWatched", "Mark Watched", QKeySequence("CTRL+M"));
addAction("settings", "Settings", QKeySequence("F7"));
#endif
connect(videoPlayer, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(handleStateChange(Phonon::State,Phonon::State)));
connect(videoPlayer->mediaController(), SIGNAL(availableSubtitlesChanged()), this, SLOT(updateSubtitles()));
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST)
connect(m_actions["markWatched"], SIGNAL(triggered()), this, SLOT(markWatched()));
connect(m_actions["settings"], SIGNAL(triggered()), this, SLOT(anidbSettings()));
#endif
AniDBUdpClient::Client::instance()->setCompression(true);
AniDBUdpClient::Client::instance()->setIdlePolicy(AniDBUdpClient::ImmediateLogoutIdlePolicy);
#endif
+
+#ifndef ANIPLAYER_NO_LOCALMYLIST
+ LocalMyList::instance()->loadLocalSettings();
+ if (!LocalMyList::instance()->database()->connect())
+ {
+ qWarning("LocalMyList failed to connect to DB");
+ }
+#endif
}
VideoWindow::~VideoWindow()
if (!isFullScreen())
resizeToVideo();
#endif
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST)
/* if (!m_marked)
addReply->deleteLater();
{
menu->tick(time);
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST)
if (!m_automarkable || !m_automark || m_marked)
return;
menu->hide();
}
#else
-#ifdef Q_WS_X11
+# ifdef Q_WS_X11
setWindowState(windowState() ^ Qt::WindowFullScreen);
-#else
+# else
videoPlayer->videoWidget()->toggleFullScreen();
-#endif
+# endif
updateCursor();
event->accept();
menuMoving = false;
}
-#ifndef NO_ANIDBUDPCLIENT
+#if !defined(ANIPLAYER_NO_LOCALMYLIST)
+void VideoWindow::markWatched()
+{
+ using namespace LocalMyList;
+ if (m_marked)
+ {
+ menu->showMessage(tr("File already marked"));
+ return;
+ }
+ File f = MyList::instance()->database()->getFileByPath(QFileInfo(videoPlayer->currentFile()).canonicalFilePath());
+ if (!f.fid)
+ {
+ menu->showMessage(tr("File not in LocalMyList!"));
+ return;
+ }
+ if (f.myWatched.isValid())
+ {
+ menu->showMessage(tr("File already marked watched"));
+ return;
+ }
+ MyList::instance()->markWatched(f.fid);
+ menu->showMessage(tr("Mark watched request submitted to LocalMyList"));
+ m_marked = true;
+}
+#elif !defined(NO_ANIDBUDPCLIENT)
void VideoWindow::markWatched()
{
if (m_marked)
default: ;
}
}
-
+#endif
void VideoWindow::anidbSettings()
{
AniDBConfigDialog dialog(this);
+#ifndef NO_ANIDBUDPCLIENT
dialog.setHost(AniDBUdpClient::Client::instance()->host());
dialog.setHostPort(AniDBUdpClient::Client::instance()->hostPort());
dialog.setLocalPort(AniDBUdpClient::Client::instance()->localPort());
dialog.setPass(AniDBUdpClient::Client::instance()->pass());
dialog.setEncryption(AniDBUdpClient::Client::instance()->encryptionEnabled());
dialog.setApiKey(AniDBUdpClient::Client::instance()->apiKey());
+#endif
dialog.setAutomark(m_automark);
dialog.setPaths(m_automarkPaths);
dialog.setOpSkip(m_opSkip);
{
return;
}
-
+#ifndef NO_ANIDBUDPCLIENT
AniDBUdpClient::Client::instance()->disconnect();
AniDBUdpClient::Client::instance()->setHost(dialog.host());
AniDBUdpClient::Client::instance()->setPass(dialog.pass());
AniDBUdpClient::Client::instance()->setEncryptionEnabled(dialog.encryption());
AniDBUdpClient::Client::instance()->setApiKey(dialog.apiKey());
+#endif
m_automark = dialog.automark();
m_automarkPaths = dialog.paths();
m_opSkip = dialog.opSkip();
}
}
}
-#endif
void VideoWindow::addAction(const QString &name, const QString &text, const QKeySequence &shortcut, bool checkable)
{
settings.setValue("state", menu->saveState());
settings.setValue("isVisible", menu->isVisible());
settings.endGroup();
-# ifndef NO_ANIDBUDPCLIENT
settings.beginGroup("anidbudpapiclient");
+# ifndef NO_ANIDBUDPCLIENT
settings.setValue("host", AniDBUdpClient::Client::instance()->host());
settings.setValue("hostPort", AniDBUdpClient::Client::instance()->hostPort());
settings.setValue("localPort", AniDBUdpClient::Client::instance()->localPort());
settings.setValue("pass", AniDBUdpClient::Client::instance()->pass());
settings.setValue("encryption", AniDBUdpClient::Client::instance()->encryptionEnabled());
settings.setValue("apiKey", AniDBUdpClient::Client::instance()->apiKey());
+# endif
settings.setValue("automark", m_automark);
settings.setValue("paths", m_automarkPaths);
settings.endGroup();
-# endif
#endif
}
menu->restoreGeometry(settings.value("geometry", menu->saveGeometry()).toByteArray());
menu->setVisible(settings.value("isVisible", true).toBool());
settings.endGroup();
-# ifndef NO_ANIDBUDPCLIENT
settings.beginGroup("anidbudpapiclient");
+# ifndef NO_ANIDBUDPCLIENT
AniDBUdpClient::Client::instance()->setHost(settings.value("host", "api.anidb.info").toString());
AniDBUdpClient::Client::instance()->setHostPort(settings.value("hostPort", 9000).toInt());
AniDBUdpClient::Client::instance()->setLocalPort(settings.value("localPort", 9001).toInt());
AniDBUdpClient::Client::instance()->setPass(settings.value("pass").toString());
AniDBUdpClient::Client::instance()->setEncryptionEnabled(settings.value("encryption").toBool());
AniDBUdpClient::Client::instance()->setApiKey(settings.value("apiKey").toString());
+# endif
m_automark = settings.value("automark", 0).toInt();
m_automarkPaths = settings.value("paths", QStringList()).toStringList();
settings.endGroup();
-# endif
+
#endif
}