diff options
author | Jan Holesovsky <kendy@suse.cz> | 2011-04-22 15:08:05 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-04-22 15:08:05 +0200 |
commit | 2554b31146823b9850d1e0c437bc75a2e8c95033 (patch) | |
tree | 106d014f2a58792ec1e258f5e5baddecb6adcf9f /forms/source/component/Filter.cxx | |
parent | 0be571d9a673ab48fc7d3a94541c5720e0845016 (diff) | |
parent | e19358aa28e2a43134b49d1c37a27b6fa33ecc2f (diff) |
Merge commit 'ooo/DEV300_m106' into libreoffice-3-4
Conflicts:
extensions/source/svg/svgaction.cxx
extensions/source/svg/svgaction.hxx
extensions/source/svg/svgcom.hxx
extensions/source/svg/svgprinter.cxx
extensions/source/svg/svgprinter.hxx
extensions/source/svg/svguno.cxx
extensions/source/svg/svgwriter.cxx
extensions/source/svg/svgwriter.hxx
javainstaller2/src/JavaSetup/org/openoffice/setup/Controller/InstallationOngoingCtrl.java
javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java
javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java
package/inc/ZipFile.hxx
package/inc/ZipOutputStream.hxx
package/inc/ZipPackage.hxx
package/inc/ZipPackageStream.hxx
package/source/manifest/ManifestExport.cxx
package/source/manifest/ManifestImport.cxx
package/source/manifest/UnoRegister.cxx
package/source/xstor/owriteablestream.cxx
package/source/xstor/xstorage.cxx
package/source/xstor/xstorage.hxx
package/source/zipapi/EntryInputStream.cxx
package/source/zipapi/EntryInputStream.hxx
package/source/zipapi/XFileStream.cxx
package/source/zipapi/XFileStream.hxx
package/source/zipapi/XMemoryStream.cxx
package/source/zipapi/XUnbufferedStream.cxx
package/source/zipapi/XUnbufferedStream.hxx
package/source/zipapi/ZipFile.cxx
package/source/zipapi/ZipOutputStream.cxx
package/source/zipapi/sha1context.hxx
package/source/zippackage/ZipPackage.cxx
package/source/zippackage/ZipPackageFolder.cxx
package/source/zippackage/ZipPackageStream.cxx
setup_native/source/win32/customactions/shellextensions/registerextensions.cxx
wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
xmlsecurity/prj/build.lst
xmlsecurity/source/helper/xmlsignaturehelper.cxx
xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx
xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx
Diffstat (limited to 'forms/source/component/Filter.cxx')
-rw-r--r-- | forms/source/component/Filter.cxx | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/forms/source/component/Filter.cxx b/forms/source/component/Filter.cxx index 69643053bed8..4decc560fa4b 100644 --- a/forms/source/component/Filter.cxx +++ b/forms/source/component/Filter.cxx @@ -631,19 +631,39 @@ namespace frm if (xListBox.is()) { m_aText = aText; - xListBox->selectItem(m_aText, sal_True); - if ( xListBox->getSelectedItemPos() >= 0 ) + MapString2String::const_iterator itemPos = m_aDisplayItemToValueItem.find( m_aText ); + if ( itemPos == m_aDisplayItemToValueItem.end() ) { - const bool isQuoted = ( aText.getLength() > 0 ) - && ( aText[0] == '\'' ) - && ( aText[aText.getLength() - 1] == '\'' ); + const bool isQuoted = ( m_aText.getLength() > 1 ) + && ( m_aText[0] == '\'' ) + && ( m_aText[ m_aText.getLength() - 1 ] == '\'' ); if ( isQuoted ) { - xListBox->selectItem( aText.copy( 1, aText.getLength() - 2 ), sal_True ); + m_aText = m_aText.copy( 1, m_aText.getLength() - 2 ); + itemPos = m_aDisplayItemToValueItem.find( m_aText ); } } + + OSL_ENSURE( ( itemPos != m_aDisplayItemToValueItem.end() ) || ( m_aText.getLength() == 0 ), + "OFilterControl::setText: this text is not in my display list!" ); + if ( itemPos == m_aDisplayItemToValueItem.end() ) + m_aText = ::rtl::OUString(); + + if ( m_aText.getLength() == 0) + { + while ( xListBox->getSelectedItemPos() >= 0 ) + { + xListBox->selectItemPos( xListBox->getSelectedItemPos(), sal_False ); + } + } + else + { + xListBox->selectItem( m_aText, sal_True ); + } } - } break; + } + break; + default: { Reference< XTextComponent > xText( getPeer(), UNO_QUERY ); |