--- /dev/null
+#include "addrelatedepisodestask.h"
+
+#include "database.h"
+
+namespace LocalMyList {
+
+AddRelatedEpisodesTask::AddRelatedEpisodesTask(QObject *parent) : AbstractTask(parent)
+{
+}
+
+bool AddRelatedEpisodesTask::canUseThreads() const
+{
+ return true;
+}
+
+void AddRelatedEpisodesTask::start()
+{
+ QSqlQuery q(db->connection());
+ q.prepare(
+ "SELECT fer.eid FROM file_episode_rel fer "
+ " LEFT JOIN episode e ON (e.eid = fer.eid) "
+ " WHERE e.eid IS NULL ");
+
+ if (!db->exec(q))
+ {
+ emit finished();
+ return;
+ }
+
+ while (q.next())
+ {
+ PendingRequest r;
+ r.eid = q.value(0).toInt();
+
+ if (!r.eid)
+ continue;
+
+ db->addRequest(r);
+ }
+ emit finished();
+}
+
+} // namespace LocalMyList
--- /dev/null
+#ifndef ADDRELATEDEPISODESTASK_H
+#define ADDRELATEDEPISODESTASK_H
+
+#include "abstracttask.h"
+
+namespace LocalMyList {
+
+class LOCALMYLISTSHARED_EXPORT AddRelatedEpisodesTask : public AbstractTask
+{
+ Q_OBJECT
+
+public:
+ explicit AddRelatedEpisodesTask(QObject *parent = 0);
+
+ bool canUseThreads() const;
+
+ void start();
+};
+
+} // namespace LocalMyList
+
+#endif // ADDRELATEDEPISODESTASK_H
--- /dev/null
+#include "../../addrelatedepisodestask.h"
+
renamehandler.cpp \
unknownfilelookuptask.cpp \
renameutils.cpp \
- directorywatcher.cpp
+ directorywatcher.cpp \
+ addrelatedepisodestask.cpp
HEADERS += \
localmylist_global.h \
renamehandler.h \
unknownfilelookuptask.h \
renameutils.h \
- directorywatcher.h
+ directorywatcher.h \
+ addrelatedepisodestask.h
CONV_HEADERS += \
include/LocalMyList/AbstractTask \
include/LocalMyList/MyListModel \
include/LocalMyList/Settings \
include/LocalMyList/UnknownFileLookupTask \
+ include/LocalMyList/AddRelatedEpisodesTask \
include/LocalMyList/RenameUtils
SHARE += \
#include "database.h"
#include "mylistmodel.h"
#include "unknownfilelookuptask.h"
+#include "addrelatedepisodestask.h"
#include "renamesettingsdialog.h"
#include <QDebug>
{
MyList::instance()->setupDirectoryWatcher();
}
+
+void MainWindow::on_actionAddRelatedEpisodeInfo_triggered()
+{
+ MyList::instance()->executeTask(new AddRelatedEpisodesTask());
+}
void on_refreshButton_clicked();
void on_actionRenameScript_triggered();
void on_actionStartDirectoryWatcher_triggered();
+ void on_actionAddRelatedEpisodeInfo_triggered();
private:
Ui::MainWindow *ui;
<addaction name="actionClearStartedPendingRequests"/>
<addaction name="actionClearStartedMyListUpdates"/>
<addaction name="actionClearFileRenames"/>
+ <addaction name="actionAddRelatedEpisodeInfo"/>
<addaction name="separator"/>
<addaction name="actionClearDatabase"/>
<addaction name="actionClearMyListData"/>
<string>Start Directory Watcher</string>
</property>
</action>
+ <action name="actionAddRelatedEpisodeInfo">
+ <property name="text">
+ <string>Add Related Episode Info</string>
+ </property>
+ </action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>