diff options
-rw-r--r-- | helper.cpp | 14 | ||||
-rw-r--r-- | helper.h | 1 | ||||
-rw-r--r-- | movieinfopage.cpp | 12 |
3 files changed, 16 insertions, 11 deletions
@@ -384,6 +384,20 @@ namespace Helper { return PicData(); } + QStringList fuzzyCheck(const QString &subtitle){ + QStringList retval; + QSqlDatabase db = QSqlDatabase::database("treedb"); + db.open(); + QSqlQuery fuzzyQ(db); + fuzzyQ.prepare("SELECT tsubtitle FROM seriesparts WHERE regexp_replace(tsubtitle, '[ .,''!-]', '', 'g') = lower(regexp_replace(:st, '[ .,''!-]', '', 'g'))"); + fuzzyQ.bindValue(":st", subtitle); + fuzzyQ.exec(); + while(fuzzyQ.next()){ + retval << fuzzyQ.value(0).toString(); + } + return retval; + } + Duration::Duration() : mHours(0), mMinutes(0), mSeconds(0) {} Duration::Duration(qint64 seconds){ @@ -52,6 +52,7 @@ namespace Helper { PicData convertArchivefileToPng(PicData data); const QIcon icon(const QColor &bg, const QColor &fg, const QChar c, bool bold, bool drawEllipse); QAction *createSeparator(QWidget *parent); + QStringList fuzzyCheck(const QString &subtitle); class Duration { public: Duration(); diff --git a/movieinfopage.cpp b/movieinfopage.cpp index 55a5075..425a252 100644 --- a/movieinfopage.cpp +++ b/movieinfopage.cpp @@ -321,17 +321,7 @@ void MovieInfoPage::toLower(){ } void MovieInfoPage::fuzzyCheck(){ - QString subtitle = mSubtitle->text(); - QStringList res; - QSqlDatabase db = QSqlDatabase::database("treedb"); - db.open(); - QSqlQuery fuzzyQ(db); - fuzzyQ.prepare("SELECT tsubtitle FROM seriesparts WHERE regexp_replace(tsubtitle, '[ .,''!-]', '', 'g') = lower(regexp_replace(:st, '[ .,''!-]', '', 'g'))"); - fuzzyQ.bindValue(":st", subtitle); - fuzzyQ.exec(); - while(fuzzyQ.next()){ - res << fuzzyQ.value(0).toString(); - } + QStringList res = Helper::fuzzyCheck(mSubtitle->text()); if(!res.isEmpty()){ QString msg = QString(tr("Already have:<ul>")); for(int i = 0; i < res.count() && i < 5; ++i){ |