From: APTX Date: Sat, 8 Dec 2012 16:32:36 +0000 (+0100) Subject: Switch to LocalMyList X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;ds=inline;p=aniplayer-old.git Switch to LocalMyList --- diff --git a/src/aniplayer.cpp b/src/aniplayer.cpp index f34ffd2..4543882 100644 --- a/src/aniplayer.cpp +++ b/src/aniplayer.cpp @@ -2,7 +2,6 @@ #include -#include #include "videowindow.h" #include @@ -21,7 +20,6 @@ AniPlayer::AniPlayer(int &argc, char *argv[]) : QtSingleApplication(argc, argv) AniPlayer::~AniPlayer() { m_instance = 0; - AniDBUdpClient::Client::destroy(); } diff --git a/src/src.pro b/src/src.pro index 4ec033b..8aabd0d 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,7 +1,7 @@ # ------------------------------------------------- # Project created by QtCreator 2009-02-11T10:09:59 # ------------------------------------------------- -CONFIG += use_anidbudpclient +CONFIG += use_localmylist QT += phonon unix { message(Using system (KDE?) Phonon) @@ -78,6 +78,13 @@ use_anidbudpclient { message(Building without AniDBUdpClient!) DEFINES += NO_ANIDBUDPCLIENT } +use_localmylist { + LIBS += -llocalmylist + QT *= sql +} +!use_localmylist { + DEFINES += ANIPLAYER_NO_LOCALMYLIST +} include(../lib/qtsingleapplication/src/qtsingleapplication.pri) diff --git a/src/videowindow.cpp b/src/videowindow.cpp index 8114059..ec54f3b 100644 --- a/src/videowindow.cpp +++ b/src/videowindow.cpp @@ -28,7 +28,9 @@ #ifndef NO_ANIDBUDPCLIENT # include #endif - +#ifndef ANIPLAYER_NO_LOCALMYLIST +# include +#endif #include #ifdef Q_OS_WIN @@ -50,7 +52,7 @@ VideoWindow::VideoWindow(QWidget *parent) : QMainWindow(parent) #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 @@ -103,7 +105,7 @@ VideoWindow::VideoWindow(QWidget *parent) : QMainWindow(parent) 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 @@ -134,7 +136,7 @@ VideoWindow::VideoWindow(QWidget *parent) : QMainWindow(parent) 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 @@ -187,6 +189,14 @@ VideoWindow::VideoWindow(QWidget *parent) : QMainWindow(parent) 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() @@ -421,7 +431,7 @@ qDebug() << "Media changed state from" << oldstate << "to" << newstate; if (!isFullScreen()) resizeToVideo(); #endif -#ifndef NO_ANIDBUDPCLIENT +#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST) /* if (!m_marked) addReply->deleteLater(); @@ -444,7 +454,7 @@ void VideoWindow::tick(qint64 time) { menu->tick(time); -#ifndef NO_ANIDBUDPCLIENT +#if !defined(NO_ANIDBUDPCLIENT) || !defined(ANIPLAYER_NO_LOCALMYLIST) if (!m_automarkable || !m_automark || m_marked) return; @@ -514,11 +524,11 @@ void VideoWindow::mouseReleaseEvent(QMouseEvent *event) 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(); @@ -583,7 +593,31 @@ void VideoWindow::moveWithMenu() 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) @@ -637,11 +671,12 @@ void VideoWindow::markingStatus(AniDBUdpClient::File::Action action, AniDBUdpCli 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()); @@ -649,6 +684,7 @@ void VideoWindow::anidbSettings() 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); @@ -657,7 +693,7 @@ void VideoWindow::anidbSettings() { return; } - +#ifndef NO_ANIDBUDPCLIENT AniDBUdpClient::Client::instance()->disconnect(); AniDBUdpClient::Client::instance()->setHost(dialog.host()); @@ -667,6 +703,7 @@ void VideoWindow::anidbSettings() 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(); @@ -696,7 +733,6 @@ qDebug() << "PART" << p; } } } -#endif void VideoWindow::addAction(const QString &name, const QString &text, const QKeySequence &shortcut, bool checkable) { @@ -757,8 +793,8 @@ void VideoWindow::saveSettings() 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()); @@ -766,10 +802,10 @@ void VideoWindow::saveSettings() 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 } @@ -795,8 +831,8 @@ void VideoWindow::loadSettings() 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()); @@ -804,10 +840,11 @@ void VideoWindow::loadSettings() 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 } diff --git a/src/videowindow.h b/src/videowindow.h index 5d00f46..384f519 100644 --- a/src/videowindow.h +++ b/src/videowindow.h @@ -102,14 +102,13 @@ private slots: void tick(qint64 time); -#ifndef NO_ANIDBUDPCLIENT void markWatched(); +#ifndef NO_ANIDBUDPCLIENT void markingStatus(AniDBUdpClient::File::Action action, AniDBUdpClient::File::ActionState actionState, int percent); - +#endif void anidbSettings(); void updateAutomarkable(); -#endif private: void addAction(const QString &name, const QString &text, const QKeySequence &shortcut = QKeySequence(), bool checkable = false); void addAction(const QString &name, const QString &text, const QIcon& icon, const QKeySequence &shortcut = QKeySequence(), bool checkable = false); @@ -158,12 +157,12 @@ private: int m_opSkip; -#ifndef NO_ANIDBUDPCLIENT +//#ifndef NO_ANIDBUDPCLIENT int m_automark; QStringList m_automarkPaths; bool m_marked; bool m_automarkable; -#endif +//#endif DirectoryPlaylist *playlist;