20#include <rtl/ustring.hxx>
22#include <com/sun/star/lang/XMultiComponentFactory.hpp>
25#include <officecfg/Office/Common.hxx>
31using css::uno::Reference;
32using css::uno::Sequence;
41 if (aDesktopEnvironment.equalsIgnoreAsciiCase(
"macosx"))
42 return "com.sun.star.ui.dialogs.AquaFilePicker";
44 return "com.sun.star.ui.dialogs.SystemFilePicker";
47 return "com.sun.star.ui.dialogs.Win32FilePicker";
59 Reference< css::uno::XComponentContext >
const & context)
61 Reference< css::uno::XInterface > xResult;
66 Reference< css::lang::XMultiComponentFactory >
xFactory (context->getServiceManager());
75 xResult =
xFactory->createInstanceWithContext (
79 catch (css::uno::Exception
const &)
90 xResult =
xFactory->createInstanceWithContext (
91 "com.sun.star.ui.dialogs.OfficeFilePicker",
104 return "com.sun.star.comp.svt.FilePicker";
109 Sequence< OUString >
aServiceNames {
"com.sun.star.ui.dialogs.FilePicker" };
120 if (aDesktopEnvironment.equalsIgnoreAsciiCase(
"macosx"))
121 return "com.sun.star.ui.dialogs.AquaFolderPicker";
123 return "com.sun.star.ui.dialogs.SystemFolderPicker";
127 Reference< css::uno::XComponentContext >
const & context)
129 Reference< css::uno::XInterface > xResult;
134 Reference< css::lang::XMultiComponentFactory >
xFactory (context->getServiceManager());
142 xResult =
xFactory->createInstanceWithContext (
146 catch (css::uno::Exception
const &)
152 if (!xResult.is() &&
xFactory.is() )
155 xResult =
xFactory->createInstanceWithContext (
156 "com.sun.star.ui.dialogs.OfficeFolderPicker",
169 return "com.sun.star.comp.svt.FolderPicker";
174 Sequence< OUString >
aServiceNames {
"com.sun.star.ui.dialogs.FolderPicker" };
static css::uno::Reference< css::ui::dialogs::XFilePicker2 > createFilePicker(const css::uno::Reference< css::uno::XComponentContext > &rServiceManager)
static css::uno::Reference< css::ui::dialogs::XFolderPicker2 > createFolderPicker(const css::uno::Reference< css::uno::XComponentContext > &rServiceManager)
static const OUString & GetDesktopEnvironment()
static bool IsHeadlessModeEnabled()
Reference< XSingleServiceFactory > xFactory
Sequence< OUString > aServiceNames
Reference< css::uno::XInterface > FilePicker_CreateInstance(Reference< css::uno::XComponentContext > const &context)
static OUString FilePicker_getSystemPickerServiceName()
OUString FilePicker_getImplementationName()
static bool UseSystemFileDialog()
Sequence< OUString > FilePicker_getSupportedServiceNames()
static OUString FolderPicker_getSystemPickerServiceName()
Reference< css::uno::XInterface > FolderPicker_CreateInstance(Reference< css::uno::XComponentContext > const &context)
OUString FolderPicker_getImplementationName()
Sequence< OUString > FolderPicker_getSupportedServiceNames()
void addFilePicker(const Reference< XInterface > &_rxPicker)
void addFolderPicker(const Reference< XInterface > &_rxPicker)