Some small tidy ups

This commit is contained in:
Iain Benson 2018-11-24 10:27:09 +00:00 committed by Luis Ángel San Martín
parent 673ee1f067
commit 30529dca43
3 changed files with 18 additions and 30 deletions

View File

@ -618,23 +618,23 @@ void ComicModel::setupModelData(const SearchModifiers modifier, const QString &f
switch (modifier) { switch (modifier) {
case YACReader::NoModifiers: case YACReader::NoModifiers:
queryString += "LIMIT :limit"; queryString += " LIMIT :limit";
break; break;
case YACReader::OnlyRead: case YACReader::OnlyRead:
queryString += "AND ci.read = 1 LIMIT :limit"; queryString += " AND ci.read = 1 LIMIT :limit";
break; break;
case YACReader::OnlyUnread: case YACReader::OnlyUnread:
queryString += "AND ci.read = 0 LIMIT :limit"; queryString += " AND ci.read = 0 LIMIT :limit";
break; break;
default: default:
queryString += "LIMIT :limit"; queryString += " LIMIT :limit";
QLOG_ERROR() << "not implemented"; QLOG_ERROR() << "not implemented";
break; break;
} }
selectQuery.prepare(QString(queryString.c_str())); selectQuery.prepare(queryString.c_str());
selectQuery.bindValue(":limit", 500); //TODO, load this value from settings selectQuery.bindValue(":limit", 500); //TODO, load this value from settings
result.bindValues(selectQuery); result.bindValues(selectQuery);
} catch (const std::exception &e) { } catch (const std::exception &e) {

View File

@ -701,39 +701,37 @@ void FolderModelProxy::setupFilteredModelData()
switch (modifier) { switch (modifier) {
case YACReader::NoModifiers: case YACReader::NoModifiers:
queryString += "AND f.id <> 1 ORDER BY f.parentId,f.name"; queryString += " AND f.id <> 1 ORDER BY f.parentId,f.name";
break; break;
case YACReader::OnlyRead: case YACReader::OnlyRead:
queryString += "AND f.id <> 1 AND ci.read = 1 ORDER BY f.parentId,f.name"; queryString += " AND f.id <> 1 AND ci.read = 1 ORDER BY f.parentId,f.name";
break; break;
case YACReader::OnlyUnread: case YACReader::OnlyUnread:
queryString += "AND f.id <> 1 AND ci.read = 0 ORDER BY f.parentId,f.name"; queryString += " AND f.id <> 1 AND ci.read = 0 ORDER BY f.parentId,f.name";
break; break;
default: default:
queryString += "AND f.id <> 1 ORDER BY f.parentId,f.name"; queryString += " AND f.id <> 1 ORDER BY f.parentId,f.name";
QLOG_ERROR() << "not implemented"; QLOG_ERROR() << "not implemented";
break; break;
selectQuery.prepare(queryString.c_str());
result.bindValues(selectQuery);
} }
selectQuery.prepare(QString(queryString.c_str()));
result.bindValues(selectQuery);
} catch (const std::exception &e) { } catch (const std::exception &e) {
QLOG_ERROR() << "Unable to parse query: " << e.what(); QLOG_ERROR() << "Unable to parse query: " << e.what();
} }
selectQuery.exec();
QLOG_DEBUG() << selectQuery.lastError() << "--";
setupFilteredModelData(selectQuery, rootItem);
} }
selectQuery.exec(); QSqlDatabase::removeDatabase(db.connectionName());
QLOG_DEBUG() << selectQuery.lastError() << "--";
setupFilteredModelData(selectQuery, rootItem); endResetModel();
connectionName = db.connectionName();
} }
QSqlDatabase::removeDatabase(connectionName);
endResetModel();
} }
void FolderModelProxy::clear() void FolderModelProxy::clear()

View File

@ -148,17 +148,7 @@ QueryParser::FieldType QueryParser::fieldType(const std::string& str) {
} }
void QueryParser::tokenize (const std::string& expr) { void QueryParser::tokenize (const std::string& expr) {
// TODO: Strip out escaped backslashes, quotes and parens so that the
// lex scanner doesn't get confused. We put them back later.
iter = lexertl::siterator(expr.begin(), expr.end(), sm); iter = lexertl::siterator(expr.begin(), expr.end(), sm);
/* for (; !isEof() ; advance())
{
std::cout << "Id: " << iter->id << ", Token: '" << token() << "'\n";
}
iter = lexertl::siterator(expr.begin(), expr.end(), sm);
*/
} }
std::string QueryParser::join(const std::vector<std::string>& strings, const std::string& delim) { std::string QueryParser::join(const std::vector<std::string>& strings, const std::string& delim) {