Features implemented. Time to debug.

This commit is contained in:
Marek Kochanowicz 2014-02-20 19:15:09 +01:00
parent 3ad6df1f92
commit 7dff34ebf1

View File

@ -108,20 +108,36 @@ void CSVFilter::EditWidget::createFilterRequest (std::vector< std::pair< std::st
replaceMode = true;
}
if (!replaceMode)
{
int index = oldContent.indexOf ('(');
if (index != 0)
{
oldContent.remove ('!');
}
}
std::string orAnd;
if (orMode)
{
orAnd = "or";
orAnd = "!or(";
} else {
orAnd = "and";
orAnd = "!and(";
}
clear();
std::stringstream ss;
if (multipleElements) //TODO appending to the existing filter
{
std::stringstream ss;
if (replaceMode)
{
ss<<"!or(";
} else {
ss << orAnd << oldContent.toStdString() << ',';
}
for (unsigned i = 0; i < count; ++i)
{
@ -135,27 +151,25 @@ void CSVFilter::EditWidget::createFilterRequest (std::vector< std::pair< std::st
ss<<')';
if (ss.str().length() >2)
if (ss.str().length() >5)
{
clear();
insert (QString::fromUtf8 (ss.str().c_str()));
}
} else {
//not handled (yet) TODO
}
} else {
if (replaceMode)
if (!replaceMode)
{
std::string filter(generateFilter(filterSource[0]));
ss << orAnd << oldContent.toStdString()<<',';
} else {
ss<<'!';
}
if (!filter.empty())
ss << generateFilter (filterSource[0]);
if (!replaceMode)
{
clear();
insert ('!' + QString::fromUtf8 (generateFilter(filterSource[0]).c_str()));
}
} else {
//not handled (yet) TODO
ss<<')';
}
insert (QString::fromStdString (ss.str().c_str()));
}
}