default to path search, not content, removed unneeded methods
This commit is contained in:
		| @@ -14,13 +14,6 @@ SearchWorker::SearchWorker(const QString &dbpath) | ||||
| 	{ | ||||
| 		qDebug() << "failed to open database"; | ||||
| 	} | ||||
| 	queryContent = new QSqlQuery(db); | ||||
| 	queryFile = new QSqlQuery(db); | ||||
| 	queryFile->prepare("SELECT path, mtime FROM file WHERE path LIKE ? ORDER BY mtime DESC"); | ||||
|  | ||||
| 	queryContent->prepare("SELECT file.path, content.page, file.mtime FROM file INNER JOIN content ON file.id = " | ||||
| 						  "content.fileid INNER JOIN content_fts ON content.id = content_fts.ROWID WHERE " | ||||
| 						  "content_fts.content MATCH ? ORDER By file.mtime DESC, content.page ASC"); | ||||
| } | ||||
|  | ||||
| QVector<SearchWorker::Command> SearchWorker::tokenize(QString expression) | ||||
| @@ -67,7 +60,7 @@ QVector<SearchWorker::Command> SearchWorker::tokenize(QString expression) | ||||
| 				result.append(Command("AND")); | ||||
| 			} | ||||
| 			wasbool = false; | ||||
| 			result.append(Command("contains", loneword)); | ||||
| 			result.append(Command("path.contains", loneword)); | ||||
| 		} | ||||
| 		if(filtername != "") | ||||
| 		{ | ||||
| @@ -113,7 +106,7 @@ QString SearchWorker::createSql(const SearchWorker::Command &cmd) | ||||
| 	{ | ||||
| 		return " content.page = " + value; | ||||
| 	} | ||||
| 	if(key == "contains") | ||||
| 	if(key == "contains" || key == "c") | ||||
| 	{ | ||||
| 		return " ( COALESCE( (SELECT 1 FROM content_fts WHERE content_fts.content MATCH '" + value + | ||||
| 			   "' AND content_fts.ROWID= content.id), 0 ) )"; | ||||
| @@ -132,38 +125,6 @@ QString SearchWorker::makeSql(const QVector<SearchWorker::Command> &tokens) | ||||
| 	} | ||||
| 	return result; | ||||
| } | ||||
| void SearchWorker::searchForFile(const QString &query) | ||||
| { | ||||
| 	QVector<SearchResult> results; | ||||
| 	queryFile->addBindValue("%" + query + "%"); | ||||
| 	queryFile->exec(); | ||||
| 	while(queryFile->next()) | ||||
| 	{ | ||||
| 		SearchResult result; | ||||
| 		result.page = 0; | ||||
| 		result.path = queryFile->value(0).toString(); | ||||
| 		result.mtime = queryFile->value(1).toUInt(); | ||||
|  | ||||
| 		results.append(result); | ||||
| 	} | ||||
| 	emit searchResultsReady(results); | ||||
| } | ||||
| void SearchWorker::searchForContent(const QString &query) | ||||
| { | ||||
| 	QVector<SearchResult> results; | ||||
| 	queryContent->addBindValue(query); | ||||
| 	queryContent->exec(); | ||||
| 	while(queryContent->next()) | ||||
| 	{ | ||||
| 		SearchResult result; | ||||
|  | ||||
| 		result.path = queryContent->value(0).toString(); | ||||
| 		result.page = queryContent->value(1).toUInt(); | ||||
| 		result.mtime = queryContent->value(2).toUInt(); | ||||
| 		results.append(result); | ||||
| 	} | ||||
| 	emit searchResultsReady(results); | ||||
| } | ||||
|  | ||||
| void SearchWorker::search(const QString &query) | ||||
| { | ||||
|   | ||||
| @@ -24,8 +24,6 @@ class SearchWorker : public QObject | ||||
|  | ||||
| 	Q_OBJECT | ||||
|   private: | ||||
| 	QSqlQuery *queryFile; | ||||
| 	QSqlQuery *queryContent; | ||||
| 	QVector<Command> tokenize(QString expression); | ||||
| 	QString createSql(const Command &cmd); | ||||
| 	QString makeSql(const QVector<Command> &tokens); | ||||
| @@ -35,8 +33,6 @@ class SearchWorker : public QObject | ||||
| 	SearchWorker(); | ||||
| 	SearchWorker(const QString &dbpath); | ||||
|   public slots: | ||||
| 	void searchForFile(const QString &query); | ||||
| 	void searchForContent(const QString &query); | ||||
| 	void search(const QString &query); | ||||
|   signals: | ||||
| 	void searchResultsReady(const QVector<SearchResult> &results); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user