summaryrefslogtreecommitdiff
path: root/desktop/source/deployment
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-08-05 16:33:16 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-08-13 09:39:59 +0200
commit6a32706e7cc9a6bfe8df7748d0252235c90b021c (patch)
treecece6bda7f390764bb3598d1f2898c4e37ea776c /desktop/source/deployment
parent0e8681d4a13719e87344ab24f83bd746a51ce8a1 (diff)
Add "All supported files" filter to extension add dialog
Did you know you can install xcu files directly via extension manager? Now it should be easier to discover... Change-Id: I9a96708fd13f762b20916540e6fa9b87bb582677 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100176 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'desktop/source/deployment')
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog2.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index b6b698d236e9..91fe52ebed50 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -635,7 +635,7 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker()
// collect and set filter list:
typedef std::map< OUString, OUString > t_string2string;
t_string2string title2filter;
- OUString sDefaultFilter( StrAllFiles::get() );
+ OUStringBuffer supportedFilters;
const uno::Sequence< uno::Reference< deployment::XPackageTypeInfo > > packageTypes(
m_pManager->getExtensionManager()->getSupportedPackageTypes() );
@@ -648,6 +648,9 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker()
const OUString title( xPackageType->getShortDescription() );
const std::pair< t_string2string::iterator, bool > insertion(
title2filter.emplace( title, filter ) );
+ if (!supportedFilters.isEmpty())
+ supportedFilters.append(';');
+ supportedFilters.append(filter);
if ( ! insertion.second )
{ // already existing, append extensions:
OUStringBuffer buf;
@@ -656,13 +659,12 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker()
buf.append( filter );
insertion.first->second = buf.makeStringAndClear();
}
- if ( xPackageType->getMediaType() == "application/vnd.sun.star.package-bundle" )
- sDefaultFilter = title;
}
}
// All files at top:
xFilePicker->appendFilter( StrAllFiles::get(), "*.*" );
+ xFilePicker->appendFilter( DpResId(RID_STR_ALL_SUPPORTED), supportedFilters.makeStringAndClear() );
// then supported ones:
for (auto const& elem : title2filter)
{
@@ -675,7 +677,7 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker()
TOOLS_WARN_EXCEPTION( "desktop", "" );
}
}
- xFilePicker->setCurrentFilter( sDefaultFilter );
+ xFilePicker->setCurrentFilter( DpResId(RID_STR_ALL_SUPPORTED) );
if ( xFilePicker->execute() != ui::dialogs::ExecutableDialogResults::OK )
return uno::Sequence<OUString>(); // cancelled