displayformats: Semi-fix filters

Fix the filters. For columns with a display format set they always
perform string comparisons but this is probably just something you have
to live with...
This commit is contained in:
Martin Kleusberg
2015-07-06 20:48:33 +02:00
parent 22e858d1f4
commit 90f651d548

View File

@@ -478,7 +478,14 @@ void SqliteTableModel::buildQuery()
where = "WHERE 1=1";
for(QMap<int, QString>::const_iterator i=m_mWhere.constBegin();i!=m_mWhere.constEnd();++i)
where.append(QString(" AND `%1` %2").arg(m_headers.at(i.key())).arg(i.value()));
{
QString column;
if(m_vDisplayFormat.size())
column = QString("col%1").arg(i.key());
else
column = m_headers.at(i.key());
where.append(QString(" AND `%1` %2").arg(column).arg(i.value()));
}
}
QString selector;
@@ -487,7 +494,7 @@ void SqliteTableModel::buildQuery()
selector = "*";
} else {
for(int i=0;i<m_vDisplayFormat.size();i++)
selector += m_vDisplayFormat.at(i) + ",";
selector += m_vDisplayFormat.at(i) + " AS " + QString("col%1").arg(i+1) + ",";
selector.chop(1);
}