summaryrefslogtreecommitdiff
path: root/sdext
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-08-16 18:58:48 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2020-08-16 20:08:15 +0200
commit99c6c89deed41457d35c382fc7d6a4cd5191f7d7 (patch)
treeb409c8de037820670f94def6658615f8f48b4bc6 /sdext
parent4833ecfae7afe3569473ca53c4accb288f2b6c80 (diff)
tdf#135342: filter list must include extensions
Regression after commit a0dcc8f78061d22d925f31ef8d03ca751ad6dc19. The commit had added extensions to the filter names sent to file dialog, but kept internal list of filter names aFilterEntryList without extensions. Then dialog returned the chosen filter's name in the form it was sent there, i.e. with extension; and that name couldn't be found in aFilterEntryList. So let's keep aFilterEntryList synchronized with the UI names in the dialog. Change-Id: Ic21d19d1a8d0b7f64ccfb517a7d0ee8ab36fc6a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100821 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sdext')
-rw-r--r--sdext/source/minimizer/fileopendialog.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/sdext/source/minimizer/fileopendialog.cxx b/sdext/source/minimizer/fileopendialog.cxx
index 68f25f77900a..aab29c03907b 100644
--- a/sdext/source/minimizer/fileopendialog.cxx
+++ b/sdext/source/minimizer/fileopendialog.cxx
@@ -106,7 +106,7 @@ FileOpenDialog::FileOpenDialog( const Reference< XComponentContext >& rxContext
Reference< XNameAccess > xTypes( rxContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.document.TypeDetection", rxContext ), UNO_QUERY_THROW );
- for( const auto& rFilterEntry : aFilterEntryList )
+ for (auto& rFilterEntry : aFilterEntryList)
{
Sequence< PropertyValue > aTypeProperties;
try
@@ -120,10 +120,12 @@ FileOpenDialog::FileOpenDialog( const Reference< XComponentContext >& rxContext
pProp->Value >>= aExtensions;
if ( aExtensions.hasElements() )
{
- // The filter title must be formed in the same way it is
- // currently done in the internal implementation:
+ // The filter title must be formed in the same way it is currently done in the
+ // internal implementation (see sfx2::appendFiltersForSave). And we will look
+ // for the same string returned from the dialog, so save it to maUIName:
OUString aTitle(
rFilterEntry.maUIName + " (." + aExtensions[0] + ")");
+ rFilterEntry.maUIName = aTitle;
OUString aFilter("*." + aExtensions[0]);
mxFilePicker->appendFilter(aTitle, aFilter);
if ( rFilterEntry.maFlags & 0x100 )