diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-08-16 18:58:48 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2020-08-16 20:08:15 +0200 |
commit | 99c6c89deed41457d35c382fc7d6a4cd5191f7d7 (patch) | |
tree | b409c8de037820670f94def6658615f8f48b4bc6 | |
parent | 4833ecfae7afe3569473ca53c4accb288f2b6c80 (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>
-rw-r--r-- | sdext/source/minimizer/fileopendialog.cxx | 8 |
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 ) |