From 4b51374a7021d52f7f1be1861e2ee6a011b30ecd Mon Sep 17 00:00:00 2001
From: Noel Grandin <noel@peralex.com>
Date: Tue, 12 Feb 2013 09:23:05 +0200
Subject: fdo#46808, Adapt ui::dialogs::FilePicker UNO service to new style

Change-Id: I1cafbfc53994e5d74241042dbd1d292ddbda67d5
---
 offapi/com/sun/star/ui/dialogs/FilePicker.idl   | 61 ++-----------------
 offapi/com/sun/star/ui/dialogs/XFilePicker3.idl | 78 +++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 57 deletions(-)
 create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePicker3.idl

(limited to 'offapi/com')

diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
index 30809d2499b2..39cd65116c12 100644
--- a/offapi/com/sun/star/ui/dialogs/FilePicker.idl
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
@@ -20,9 +20,7 @@
 #ifndef __com_sun_star_ui_dialogs_FilePicker_idl__
 #define __com_sun_star_ui_dialogs_FilePicker_idl__
 
-#include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/util/XCancellable.idl>
+#include <com/sun/star/ui/dialogs/XFilePicker3.idl>
 
 
 module com { module sun { module star { module ui { module dialogs {
@@ -38,50 +36,9 @@ module com { module sun { module star { module ui { module dialogs {
     @see XFilePicker
 */
 
- published interface XFilePicker;
- published interface XFilePickerNotifier;
- published interface XFilePickerControlAccess;
- published interface XFilterManager;
- published interface XFilePreview;
- published interface XFilterGroupManager;
-
-published service FilePicker
+published service FilePicker : XFilePicker3
 {
-    /** Allows to associate a help URL with the file picker instance.
-    */
-    [optional, property] string HelpURL;
-
-    /** Provides access to the basic FilePicker functionality.
-    */
-    interface XFilePicker;
-
-    /** Provides the ability to request notifications about changes.
-    */
-    interface XFilePickerNotifier;
-
-    /** Provides the ability to add different filter, query for the current
-        filters and set a current filter
-    */
-    interface XFilterManager;
-
-    /** Provides the ability to show a preview of a selected file
-    */
-    [optional] interface XFilePreview;
-
-    /** Provides the ability manage additional controls (checkboxes, listboxes etc.)
-        offered by an extended FilePicker, these controls extend the subset of
-        common controls that a FilePicker usually supports.
-
-        @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
-        @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
-
-        @deprecated
-    */
-    [optional] interface XFilePickerControlAccess;
-
-    /** An interface which allows manipulation of groups of filters
-    */
-    [optional] interface XFilterGroupManager;
+    createDefault();
 
     /** Provides the ability to choose between different custom templates that
         do extend the subset of common controls a FilePicker usually supports.
@@ -99,17 +56,7 @@ published service FilePicker
 
         @see com::sun::star::ui::dialogs::TemplateDescription
     */
-    [optional] interface com::sun::star::lang::XInitialization;
-
-    /** For canceling a running dialog instance.
-        <p>This may be useful for automatic test tools for instance.</p>
-    */
-    [optional] interface com::sun::star::util::XCancellable;
-
-    /** For shutdown and listener support.
-    */
-    interface com::sun::star::lang::XComponent;
-
+    createWithMode([in] short Mode);
 };
 
 
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl
new file mode 100644
index 000000000000..c33e8eb4cdbd
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker3_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker3_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/util/XCancellable.idl>
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+#include <com/sun/star/ui/dialogs/XFilePickerNotifier.idl>
+#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.idl>
+#include <com/sun/star/ui/dialogs/XFilterManager.idl>
+#include <com/sun/star/ui/dialogs/XFilePreview.idl>
+#include <com/sun/star/ui/dialogs/XFilterGroupManager.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/**
+    Provides unified interface for FilePicker service.
+
+    @since LibreOffice 4.1
+*/
+published interface XFilePicker3
+{
+    interface XFilePicker;
+
+    /** Provides the ability to request notifications about changes.
+    */
+    interface XFilePickerNotifier; // extends XEventListener
+
+    /** Provides the ability to add different filter, query for the current
+        filters and set a current filter
+    */
+    interface XFilterManager;
+
+    /** Provides the ability to show a preview of a selected file
+    */
+    [optional] interface XFilePreview;
+
+    /** An interface which allows manipulation of groups of filters
+    */
+    interface XFilterGroupManager;
+
+    /** For canceling a running dialog instance.
+        <p>This may be useful for automatic test tools for instance.</p>
+    */
+    interface com::sun::star::util::XCancellable;
+
+    /** For shutdown and listener support.
+    */
+    interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-- 
cgit