fdo#65281 Empty/Not empty doesn't work in columns with date format

"Empty" and "Not empty" predicates were unconditionally overriden
in filter dialog for date format columns. Rectify it by preventing
the overriding for these functions.

Test Plan:

* open calc document
* define column with date format
* put some data and let some columns empty
* apply standard filter on date column with "Not empty" function
* verify that rows with non empty columns still visible

Change-Id: I2111c5a6b6350cab63173d42419069813d1137b6
Reviewed-on: https://gerrit.libreoffice.org/11613
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Tested-by: Kohei Yoshida <libreoffice@kohei.us>
This commit is contained in:
David Ostrovsky
2014-09-23 22:54:17 +00:00
committed by Kohei Yoshida
parent bba1593584
commit 551ee32dfa
+4 -1
View File
@@ -1074,15 +1074,18 @@ IMPL_LINK( ScFilterDlg, ValModifyHdl, ComboBox*, pEd )
ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
bool bDoThis = (pLbField->GetSelectEntryPos() != 0);
rEntry.bDoQuery = bDoThis;
bool bByEmptyOrNotByEmpty = false;
if ( rEntry.bDoQuery || maRefreshExceptQuery[nQE] )
{
if ( aStrEmpty.equals(aStrVal) )
{
bByEmptyOrNotByEmpty = true;
rEntry.SetQueryByEmpty();
}
else if ( aStrNotEmpty.equals(aStrVal) )
{
bByEmptyOrNotByEmpty = true;
rEntry.SetQueryByNonEmpty();
}
else
@@ -1102,7 +1105,7 @@ IMPL_LINK( ScFilterDlg, ValModifyHdl, ComboBox*, pEd )
ScQueryOp eOp = (ScQueryOp)pLbCond->GetSelectEntryPos();
rEntry.eOp = eOp;
if (maHasDates[nQE])
if (maHasDates[nQE] && !bByEmptyOrNotByEmpty)
rItem.meType = ScQueryEntry::ByDate;
}
}