diff -u -r ../../../sc.bak/inc/global.hxx sc/inc/global.hxx --- ../../../sc.bak/inc/global.hxx 2004-12-22 14:05:07.000000000 +0530 +++ sc/inc/global.hxx 2005-01-06 11:41:39.651809336 +0530 @@ -808,6 +808,8 @@ enum ScQueryOp { + SC_BEGINS_WITH, + SC_ENDS_WITH, SC_EQUAL, SC_LESS, SC_GREATER, Only in sc/inc/: global.hxx.orig diff -u -r ../../../sc.bak/source/ui/dbgui/filtdlg.cxx sc/source/ui/dbgui/filtdlg.cxx --- ../../../sc.bak/source/ui/dbgui/filtdlg.cxx 2004-12-22 14:05:08.000000000 +0530 +++ sc/source/ui/dbgui/filtdlg.cxx 2005-01-06 14:04:54.698163680 +0530 @@ -84,6 +84,7 @@ #include "document.hxx" #include "docsh.hxx" #include "scresid.hxx" +#include "docoptio.hxx" #include "foptmgr.hxx" @@ -572,6 +573,8 @@ bCopyPosOk = ( SCA_VALID == (nResult & SCA_VALID) ); } + theParam.bRegExp = aBtnRegExp.IsChecked(); + for ( i = 0; i < 3; i++ ) { USHORT nField = aFieldLbArr[i]->GetSelectEntryPos(); @@ -605,6 +608,20 @@ } else { + if (eOp == SC_BEGINS_WITH ) { + printf("Its here\n"); + String tmp ('^'); + tmp .Append(aStrVal); + ::rtl::OUString str (tmp); + aStrVal.Assign(tmp); + eOp = SC_EQUAL; + theParam.bRegExp = TRUE; + } + else if (eOp == SC_ENDS_WITH ) { + aStrVal.Append (String('$')); + eOp = SC_EQUAL; + theParam.bRegExp = TRUE; + } *rEntry.pStr = aStrVal; rEntry.nVal = 0; rEntry.bQueryByString = TRUE; @@ -642,7 +659,7 @@ theParam.bByRow = TRUE; theParam.bDuplicate = !aBtnUnique.IsChecked(); theParam.bCaseSens = aBtnCase.IsChecked(); - theParam.bRegExp = aBtnRegExp.IsChecked(); + theParam.bDestPers = aBtnDestPers.IsChecked(); // nur die drei eingestellten - alles andere zuruecksetzen Only in sc/source/ui/dbgui: filtdlg.cxx.orig Only in sc/source/ui/dbgui: filtdlg.cxx.rej diff -u -r ../../../sc.bak/source/ui/src/filter.src sc/source/ui/src/filter.src --- ../../../sc.bak/source/ui/src/filter.src 2004-12-22 14:05:08.000000000 +0530 +++ sc/source/ui/src/filter.src 2005-01-06 13:33:44.127533640 +0530 @@ -180,12 +180,14 @@ }; stringlist [ en-US ] = { - < "=" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Equals" ; Default ; > ; < "<" ; Default ; > ; < ">" ; Default ; > ; < "<=" ; Default ; > ; < ">=" ; Default ; > ; - < "<>" ; Default ; > ; + < "Not equals" ; Default ; > ; < "Largest" ; Default ; > ; < "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; @@ -214,12 +216,14 @@ }; stringlist [ en-US ] = { - < "=" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Equals" ; Default ; > ; < "<" ; Default ; > ; < ">" ; Default ; > ; < "<=" ; Default ; > ; < ">=" ; Default ; > ; - < "<>" ; Default ; > ; + < "Not equals" ; Default ; > ; < "Largest" ; Default ; > ; < "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; @@ -248,12 +252,14 @@ }; stringlist [ en-US ] = { - < "=" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Equals" ; Default ; > ; < "<" ; Default ; > ; < ">" ; Default ; > ; < "<=" ; Default ; > ; < ">=" ; Default ; > ; - < "<>" ; Default ; > ; + < "Not equals" ; Default ; > ; < "Largest" ; Default ; > ; < "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ;